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

مثال للبحث وعرض البيانات باستخدام Combo بطريقة ADO

مغلق
بدأه Hatam في 24 أكتوبر 2004 · 3 رد · 1,504 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا مثال يوضح كيف يمكن البحث وعرض البيانات باستخدام ComboBox أو DataCombo بطريقة ADO .

المكونات :

قاعدة بيانات تحتوي على جدول اسمه tbl مكون من اربعة حقول ( id , name , dept , ago ) ، و في الفيجول بيسك يوجد به ComboBox او DataCombo و ثلاثة TextBox .

طرقة عمله :

بعد فتح البرنامج وتعبئة Combo ، يختار المستخدم رقم الطالب من Combo فيقوم الحدث Click بالبحث على السجل اذا وجده يعرض بيانات هذا السجل في Text واذا لم يجد الرقم يعرض فراغ في Text .

ويمكن كتابة اي رقم في Combo ثم الضغط على (انتر) Enter ليبحث عنه في حقل رقم الطالب واذا لم يجده يعرض فراغ .

يوجد ملف ملحق يحتوي على المثال كامل .

وفي حال لا يمكن تنزيل الملف هذا الكود:

الكود باستخدام ComboBox

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Combo1_Click()
'عرض البيانات اذا كان رقم الطالب موجود
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM tbl WHERE id=" & Trim(Combo1.Text) & "", cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
    Set Text1.DataSource = rs
    Text1.DataField = "name"
    Set Text2.DataSource = rs
    Text2.DataField = "dept"
    Set Text3.DataSource = rs
    Text3.DataField = "ago"
Else
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
End If
End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    Call Combo1_Click
Else
    If Not KeyAscii = 8 Then
        If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
    End If
End If
End Sub

Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb"

' تعبئة Combo1
Set rs = New ADODB.Recordset
rs.Open "SELECT id FROM tbl", cn, adOpenStatic, adLockOptimistic
If Not rs.BOF Then rs.MoveFirst
While Not rs.EOF
Combo1.AddItem rs!id
rs.MoveNext
Wend

End Sub

الكود باستخدام DataCombo

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub dataCombo1_Click(Area As Integer)
'عرض البيانات اذا كان رقم الطالب موجود
If Trim(DataCombo1.Text) <> "" Then
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM tbl WHERE id=" & Trim(DataCombo1.Text) & "", cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
    Set Text1.DataSource = rs
    Text1.DataField = "name"
    Set Text2.DataSource = rs
    Text2.DataField = "dept"
    Set Text3.DataSource = rs
    Text3.DataField = "ago"
Else
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
End If
End If

End Sub

Private Sub dataCombo1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    Call dataCombo1_Click(0)
Else
    If Not KeyAscii = 8 Then
        If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
    End If
End If
End Sub

Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb"

'تعبئة  DataCombo1
Set rs = New ADODB.Recordset
rs.Open "SELECT id FROM tbl", cn, adOpenStatic, adLockOptimistic
Set DataCombo1.RowSource = rs
DataCombo1.ListField = "id"

End Sub

والسلام عليكم

#2

هذا الملف .

combo.rar

#3

السلان عليكم

مشكور اخ Hatam و جزاك الله الف خير

ابراهيم الطيب

الخرطوم

تم تعديل هذه المشاركة بواسطة إبراهيم الطيب في 24 أكتوبر 2004 في 15:37

gaza3-3.jpg
#4

جزاك الله خير اخوي hatam ..

اخوك محمد

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…