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

سؤال حول ربط أكثر من combo بقاعدة البيانات

مغلق
بدأه Zaboor في 12 أكتوبر 2006 · 1 رد · 641 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

قمت بتحميل أسماء الصفوف من الحقل safname في combo3

ما أريده :

أن يتم تعبأة الـ combo4 بأرقام الصفوف والتي يمكن معرفة عددها من الحقل fsolcount الذي يحتوي على عدد الفصول ، مثلاً الأول الثانوي فيه 6 فصول ، والثاني 3 فصول ، والثالث فصلين

فحينما يتم اختيار الصف الأول الثانوي يفترض أن يقرأ البرنامج عدد الصفوف من قاعدة البيانات ويعبأ combo4 بـ

1

2

3

4

5

6

وأيضاً أن يتم إضافة قيمة الحقل alsaf الخاصة بالصف من قاعدة البيانات إلى صندوق التكست 1

صورة توضيحية :

picha4.gif

Private Sub Form_Load()

	Dim MaarefDB As String


	' الإعلان عن المتغيرات المستخدمه لإتصال بقاعدة البيانات
	Dim obj_con As New ADODB.Connection
	Dim obj_command As New ADODB.Command
	Dim obj_recordset As ADODB.Recordset
	Dim obj_recordset2 As ADODB.Recordset

		MaarefDB = App.Path & "/db6.mdb"

' الاتصال بقاعدة البيانات
	obj_con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + MaarefDB
	obj_con.Open
	obj_command.ActiveConnection = obj_con
	obj_command.CommandText = "SELECT * From st_student Where((st_student.alsaf = 10) AND (st_student.alfasel = 1))"""


'تحميل أسماء الصفوف في كومبو
'SELECT * From st_sofoof Where((st_sofoof.safname like '%%'))
	obj_command.CommandText = "SELECT DISTINCT alsaf, safname,fsolcount FROM st_sofoof"
	obj_command.CommandType = adCmdText
	Set obj_recordset = obj_command.Execute
			 Combo3.Clear

			Do Until obj_recordset.EOF
			 alsaf = obj_recordset.Fields("alsaf").Value
			 safname = obj_recordset.Fields("safname").Value
			 fsolcount = obj_recordset.Fields("fsolcount").Value
			 Combo3.AddItem safname
			 Combo3.ListIndex = Combo3.ListCount - 1
			 obj_recordset.MoveNext


			Loop
			 Combo3.ListIndex = Combo3.ListIndex = 0

End Sub

وقد أرفقت المثال في المرفقات

sofoof.zip

تم تعديل هذه المشاركة بواسطة Zaboor في 12 أكتوبر 2006 في 23:06

#2

coffee.gif

قمت بأختصار الشفرات لك وهذه هي شفرة الاختيار ومن ثم تعبئة الكمبو على حسب الاختيار

والتعديل في المرفق B)

Private Sub Combo2_Click()

'HnHn :
'تفحص حالة الجدول أن كان مفتوح مسبقا ام لا
If obj_recordset.State = adStateOpen Then obj_recordset.Close
obj_recordset.Open "SELECT * FROM st_sofoof where alsaf = " & Trim(Combo2.Text) & "", obj_con, adOpenStatic, adLockReadOnly
MsgBox obj_recordset.RecordCount
'HnHn : اذا توجد بيانات قم بعملية التعئبة
If obj_recordset.RecordCount > 0 Then

			Combo1.Clear
			Do Until obj_recordset.EOF
			 alsaf = obj_recordset.Fields("alsaf").Value
			 safname = obj_recordset.Fields("safname").Value
			 fsolcount = obj_recordset.Fields("fsolcount").Value
			 Combo1.AddItem safname
			 Combo1.ListIndex = Combo1.ListCount - 1
			 obj_recordset.MoveNext
			Loop

End If

End Sub

R.Sfof.rar

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة

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

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