السلام عليكم
لو سمحتم أريد حلا للاتي:
عمل استعلام يعرض جميع المعلومات في جميع الجداول في قاعدة بيانات اكسس
مثالالمطلوب:
SELECT * FROM ALL _TABLES;
مع العلم بعدم استخدام اسماء الجداول و ليس هناك عدد محدد مسبقا للجداول.
و شكرا
السلام عليكم
لو سمحتم أريد حلا للاتي:
عمل استعلام يعرض جميع المعلومات في جميع الجداول في قاعدة بيانات اكسس
مثالالمطلوب:
SELECT * FROM ALL _TABLES;
مع العلم بعدم استخدام اسماء الجداول و ليس هناك عدد محدد مسبقا للجداول.
و شكرا
على حد علمى مفيش حاجه اسمها سيلكت اول فروم تيبول لازم تحدد اسم الجدول ولو فيه علاقات بين الجداول لازم تكتب اسماء الجداول ايضا
هذا يتوقف على الجداول أخى
ضع مثال حتى تتضح مدى امكانية ذلك
Abo_Yossof كتب:هذا يتوقف على الجداول أخى
ضع مثال حتى تتضح مدى امكانية ذلك
السلام عليكم
شكرا على الردود و لكن اوضح المطلوب:
لدي قاعدة بيانات اكسس , يوجد بها عدد من الجداول و هذه الجداول لها نفس الاعمدة (مثال كالتالي):
id name age shool notes subscription_date
اريد ان أعمل استعلام يقوم بعرض المعلومات داخل الجداول مرة واحدة.
قاعدة البيانات يمكن لن تحتوي جدول او ثلاثة أو خمسة أو عشرة او أي عدد من الجداول .
المطلوب :بدلا من عرض جدول واحد كالتالي:
select * from Table1
أريد عرض محتوى جميع الجداول مرة واحدة و أنا لا أعرف عدد الجداول بمعنى الاستعلام يجب أن يعني (كل الجداول في قاعدة البيانات) ,أي استعلام يقوم بالتالي:
select * from ALL_TABLES_IN_THE_MDB
وشكرا
اليك اخى هذا الحل
1- ضع استعلام ( اى استعلام ) و يكون اسمه Qry
2- ضع الكود التالى فى زر فى نموذج
Dim strsql As String
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT [MSysObjects].[Name] FROM MSysObjects WHERE (Left([Name],1)<>'~') AND (Left([Name],4) <> 'MSys') AND ([Type] In (1, 4, 6)) ORDER BY Name")
For i = 1 To rs.RecordCount
If i = 1 Then
strsql = "select " & rs!Name & ".* from " & rs!Name & "; "
Else
strsql = strsql & "union all select " & rs!Name & ".* from " & rs!Name & "; "
End If
rs.MoveNext
Next i
CurrentDb.QueryDefs("Qry").SQL = strsql
DoCmd.OpenQuery "Qry"
rs.Close
Set rs = Nothing3- احفظ التعديل
4- افتح النموذج و اضغط الزر
Abo_Yossof كتب:اليك اخى هذا الحل
1- ضع استعلام ( اى استعلام ) و يكون اسمه Qry
2- ضع الكود التالى فى زر فى نموذج
Dim strsql As String Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT [MSysObjects].[Name] FROM MSysObjects WHERE (Left([Name],1)<>'~') AND (Left([Name],4) <> 'MSys') AND ([Type] In (1, 4, 6)) ORDER BY Name") For i = 1 To rs.RecordCount If i = 1 Then strsql = "select " & rs!Name & ".* from " & rs!Name & "; " Else strsql = strsql & "union all select " & rs!Name & ".* from " & rs!Name & "; " End If rs.MoveNext Next i CurrentDb.QueryDefs("Qry").SQL = strsql DoCmd.OpenQuery "Qry" rs.Close Set rs = Nothing3- احفظ التعديل
4- افتح النموذج و اضغط الزر
قمت بتجربة الحل بنجاح .
أخي Abo_Yossof شكرا جزيل لك ....
وجزاك الله خيرا
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…