أرجو أن يكون هذا طلبك
للأسف لا يمكن التنزيل في المنتدى
لذلك أرجو القيام بالتالي
1- إنشاء قائمتين منسدلتين Combo Boxes اسمهما CboTables , CboFields
2- إنشاء قائمة عادية ListBox اسمها LstRecords
3- نسخ الكود التالي كله عندك بالفورم
4- التأكد من وضع كلمة Event Procedure على كل قائمة في الحدث المطلوب ... كما هو موضح في بداية كل جزء من الكود
Private Sub CboFields_AfterUpdate()
Dim FieldName As String, TableName As String, Query As String
With Me
FieldName = "[" & .CboFields & "]"
TableName = "[" & .CboTables & "]"
Query = "Select " & FieldName & " From " & TableName
.LstRecords.RowSource = Query
.LstRecords.Locked = False
End With
End Sub
Private Sub CboTables_AfterUpdate()
Dim TableName As String
Dim I As Byte
Dim rs As dao.Recordset
TableName = Me.CboTables.Value
Set rs = CurrentDb.OpenRecordset(TableName)
With Me.CboFields
For I = 0 To rs.fields.Count - 1
.AddItem rs.fields(I).Name
Next I
.Value = .Column(0, 0)
rs.Close
.Locked = False
End With
End Sub
Private Sub Form_Load()
Dim tbl As dao.TableDef
With Me
.CboTables.RowSourceType = "Value List"
.CboFields.RowSourceType = "Value List"
.LstRecords.RowSourceType = "Table/Query"
.CboFields.Locked = True
.LstRecords.Locked = True
End With
With Me.CboTables
For Each tbl In CurrentDb.TableDefs
If Left(tbl.Name, 4) <> "MSys" Then
.AddItem (tbl.Name)
End If
Next tbl
.Value = .Column(0, 0)
Set tbl = Nothing
End With
End Sub
بالتوفيق إن شاء الله