ورود

View Full Version : افزودن نام جداول موجود در اکسس به combobox



ali190
شنبه 20 شهریور 1389, 11:11 صبح
با سلام و عرض خسته نباشید
من در فایل پیوستیم یک فایل اکسس دارم
که در اون دوتا table وجود داره
در خود اکسس یک کوئری ساختم با نام MSysObjects Query که از طریق جداول سیستمی خود اکسس نام جداول موجود در پایگاه داده اکسس رو بیرون میکشه
حالا میخوام این کوئری رو به کمبو باکسم ربط بدم تا نام تمام جداول موجود در فایل اکسسم به کمبوم افزوده بشه
کدها رو نوشتم ولی اور میده
نمیتونم این کوئریرو بدون کدنویسی و و از طریق ropety خود کمبو بهش ارتباط بدم؟
یعنی دیگه کد ننویسم.
مرسی

M.T.P
شنبه 20 شهریور 1389, 12:12 عصر
اگه رابط ADODB هست:


Dim i As Integer
For i = 0 To Rs.Fields.Count -1
Combo1.AddItem Rs.Fields(i).Name
Next i

اگه از کنترل Adodc استفاده میکنید:


Dim i As Integer
For i = 0 To Adodc1.Recordset.Fields.Count -1
Combo1.AddItem Adodc1.Recordset.Fields(i).Name
Next i

ali190
شنبه 20 شهریور 1389, 12:27 عصر
سلام M.T.P عزیز
ممنون از پاسختون ولی مشکل من چیز دیگه ای هست
من خطا دارم در انجام کوئری
کوئریم در کمبو باکس اجرا نمیشه.
میشه راهنماییم کنید؟
ممنون

ali190
شنبه 20 شهریور 1389, 13:24 عصر
سلام
مشکلم رو با سرچ در اینترنت حل کردم
اینه هم کدش:

Dim cnn As New ADODB.Connection
Dim rsSchema As New ADODB.Recordset

Private Sub Form_Load()
Combo2.Clear
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" & App.Path & "\m.mdb"
Set rsSchema = cnn.OpenSchema(adSchemaTables)
rsSchema.MoveFirst
With rsSchema
While Not .EOF
If .Fields("TABLE_TYPE") = "TABLE" Then
Combo2.AddItem .Fields("TABLE_NAME")
End If
.MoveNext
Wend
End With
End Sub

فقط میشه یکم راجع به این کد توضیح بدید؟
بخصوص:

Set rsSchema = cnn.OpenSchema(adSchemaTables)
یک سری عبارت دیگه هم در پرانتز بجای adSchemaTables قرار میگیره
اونا چیه؟
ممنون