PDA

View Full Version : سوال: ليست كردن نام فيلد هاي يك جدول



saeedharati
پنج شنبه 30 شهریور 1391, 07:17 صبح
سلام به همه اساتيد انجمن ، بنده مي خوام بعد از اين كه به يك جدول در بانك اتصال پيدا ميكنم نام فيلد هاي اون جدول رو برام داخل يك ليست اضافه كننده لطفا راهنمايي كنيد .

اتصال پيدا ميكنم ولي نمدونم چجوري نام فيلد ها رو ليست كنم

ممنون

saeedharati
پنج شنبه 30 شهریور 1391, 11:55 صبح
كسي نيست كمك كنه استايد برسيد به داد اين ناتوان

محسن واژدی
پنج شنبه 30 شهریور 1391, 13:52 عصر
سلام علیکم

کد زیر بررسی کنین:
Public Sub GetTableColumnsNam(sDB_File$, sTableName$, CResult As Collection)
On Error Resume Next
Dim oCn, oRS, vCFN

Set oCn = CreateObject("adodb.connection")
Set oRS = CreateObject("adodb.recordset")

oCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDB_File$ & ";Persist Security Info=False"
oRS.Open sTableName$, oCn

For Each vCFN In oRS.Fields
If vCFN.Name > "" Then CResult.Add vCFN.Name
Next
oCn.Close
End Sub



برای مثال:
Private Sub Command1_Click()

Dim CRes As New Collection, sCCNam$, i

Call GetTableColumnsNam("d:\1.mdb", "Table1", CRes)

For i = 1 To CRes.Count
sCCNam$ = sCCNam$ & CRes(i) & ", "
Next

MsgBox "Columns list (" & CRes.Count & "): " & vbCrLf & sCCNam$, vbInformation
End Sub

موفق باشید

saeedharati
شنبه 01 مهر 1391, 07:19 صبح
مرسي واسه وقتتون ، شرمنده من دقيق متوجه نشدم
بنده به يك بانك sql و جدول مشخص از طريق adodc1 اتصال پيدا كردم حالا مي خوام تمام فيلد هاي اون جدول داخل list 1 اضافه گردد و فقط كد اضافه كردن اسم فيلدهاي اون جدول رو كه با adodc1 اتصال پيدا كرده رو ميخوام

ممنون از راهنمايي تون

saeedharati
دوشنبه 03 مهر 1391, 13:14 عصر
لطفا كمك كنيد

saeedharati
سه شنبه 04 مهر 1391, 10:36 صبح
كسي نيست راهنمايي كنه

محسن واژدی
پنج شنبه 06 مهر 1391, 13:12 عصر
مرسي واسه وقتتون ، شرمنده من دقيق متوجه نشدم
بنده به يك بانك sql و جدول مشخص از طريق adodc1 اتصال پيدا كردم حالا مي خوام تمام فيلد هاي اون جدول داخل list 1 اضافه گردد و فقط كد اضافه كردن اسم فيلدهاي اون جدول رو كه با adodc1 اتصال پيدا كرده رو ميخوام

ممنون از راهنمايي تون
سلام علیکم
کد پست 3 نام ستون ها را استخراج و در یک کالکشن اضافه میکنه، برای listbox میتوانید تابع را مختصری ویرایش و list-box را جایگزین کنین

محسن واژدی
پنج شنبه 06 مهر 1391, 16:23 عصر
کد زیر را هم بررسی کنید:
Public Sub GetTableColumnsNam(sDB_File$, sTableName$, oListBox As ListBox)
On Error Resume Next
Dim oCn, oRS, vCFN

Set oCn = CreateObject("adodb.connection")
Set oRS = CreateObject("adodb.recordset")

oCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDB_File$ & ";Persist Security Info=False"
oRS.Open sTableName$, oCn

For Each vCFN In oRS.Fields
If vCFN.Name > "" Then oListBox.AddItem vCFN.Name
Next
oCn.Close
End Sub

کد بالا ویرایش شده کد پست 3 هست، منتها نتیجه را به list-box اضافه میکند

برای مثال:

Private Sub Command1_Click()
GetTableColumnsNam "d:\1.mdb", "table1", List1
End Sub


موفق باشید

saeedharati
دوشنبه 10 مهر 1391, 08:13 صبح
شرمنده جواب نميده شايد بد توضيح ميدم ، من ميخوام فيلد هاي جدولي رو كه با adodc اتصال پيدا كردم قبلا ، حالا ميخوام با يك كليك ليست تمامي فيلدهاي اون جدول رو داشته باشم لطفا راهنمايي كنيد

محسن واژدی
دوشنبه 10 مهر 1391, 12:19 عصر
شرمنده جواب نميده شايد بد توضيح ميدم ، من ميخوام فيلد هاي جدولي رو كه با adodc اتصال پيدا كردم قبلا ، حالا ميخوام با يك كليك ليست تمامي فيلدهاي اون جدول رو داشته باشم لطفا راهنمايي كنيد

سلام علیکم
کد زیر بررسی کنین:
Private Sub Command1_Click()
Dim sCFN As ADODB.Field
List1.Clear
For Each sCFN In Adodc1.Recordset.Fields
List1.AddItem sCFN.Name
Next 'sCFN
End Sub

موفق باشید

saeedharati
دوشنبه 10 مهر 1391, 12:40 عصر
مرسي واقعا جواب داد نمدونم چجوري ارت تشكر كنم ممنون واقعا