الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم ربط Datalist بأحد الحقول باستخدام Ado ؟

مغلق
بدأه semsem_way في 4 فبراير 2008 · 4 رد · 1,055 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

فضلا لا أمرا هل من الممكن شرح لكيفية ربط datalist مع حقل في جدول باستخدام ADO ؟

#2

الـ DataList أو الـ ComboList ، يحتويان علي مجموعتين من الخصائص :

المجموعة الأولي :

هي المجموعة التي تستخدم في تحديد جدول وحقل المصدر الذي سيتم التخزين فية ، وهي :

1- خاصية DataSource الذي يحتوي علي الـ Recordset إذا كنت تتعامل مع آداة Adodc أو ADODB . أما في حالة التعامل مع DataEnvironment فهنا يجب تحديد إسم ملف الـ DED .

2- خاصية DataMember ، وهي الخاصية المسئولة عن تحديد إسم الأمر Command المصمم داخل ملف DED ، وهذه الخاصية لا تستخدم سوي مع DataEnvironment .

3- خاصية DataField ، وفي هذه الخاصية يتم تخزين إسم الحقل الذي سيتم التخزين والتعديل علية . وتمثل الحقل المخزن بإحدي الجداول التي تمثل FK من جدول آخر .

المجموعة الثانية :

وهي المسؤولة عن مصدر تعبئة الكومبو بالبيانات Lists و بيانات المفتاح الرئيسي ListItem :

1- RowSource ، مثل DataSource .

2- RowMember ، مثل DataMember .

3- ListField ، وهو الحقل الذي يقوم بعرض العناوين للمستخدم مثل ( الحسابات - شئون العاملين - المخازن - العلاقات العامة - .... الي آخرة ) .

4- BoundColumn ، هذه الخاصية بمثابة ItemData الموجودة بآداة ComboBox أو ListBox ، فيتم تخزين بيانات الـ PK بداخلها كقائمة يتم تخزين القيمة المختارة في حقل الـ FK .

بالتوفيق

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#3

جزاك الله خيرا على سرعة الرد أخي الحبيب

أعلم أني سأزيد عليك الحمل

و لكن هل من الممكن أن توضح لي بالأكواد كيف يتم ذلك مع استخدام ADO

أنا فمت بالتالي

في موديل

Global Cn As ADODB.Connection
Public DB			   As New ADODB.Connection
Public rss	As New ADODB.Recordset

Declare Function LoadKeyboardLayout Lib "User32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

Private Sub main()

	Set Cn = New ADODB.Connection
	Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=aa; Data Source=" & App.Path & "\Data.so"
	frmlogin.Show

End Sub

و في الفورم لود

Dim rs As New ADODB.Recordset
	If rs.State = 1 Then rs.Close
	  rs.Open users, Cn, adOpenDynamic, adLockOptimistic
DataList1.DataMember = Cn
DataList1.DataSource = rs
DataList1.ListField = "Name"

و لكن يظهر لي خطأ

اقتباس
compile error :

Method or Data Member Not found

و يقوم بتظليل

اقتباس
.DataSource =

أرجو المساعدة

#4

أولاً ، لا تقوم بتحديد DataMember في حالة التعامل مع مكتبة ADODB ، ولكن هذه الخاصية تستخدم مع تطبيقات DED كما ذكرت لك من قبل .

ثانياً ، لكي يتم تحميل Recordset علي DataSource يجب إستخدام الكلمة المحجوزة Set لأنك بإختصار تقوم بتحميل كائن علي كائن آخر

Set DataList1.DataSource = rs

للإختصار ، أنظر الي المثال المرفق

بالتوفيق

Simble.rar

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#5

جزاك الله خيرا اخي الحبيب و بارك الله فيك

هذا الموضوع مغلق.

مواضيع مشابهة