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

combobox+flexgraid+ado؟؟؟؟

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

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

لدي سؤالان أرجو الإجابة عليهما

الأول / لدي برنامج قمت بربطه بقاعدة بيانات آكسس بado

أريد أن يقوم المستخدم باختيار أحد عناصر combobox ومن ثم تظهر flexgraid تحوي بيانات العنصر الذي تم اختياره فقمت بعمل مايلي:

في قسم الاعلانات العامةGeneral

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

في حدث تحميل الشاشة (ms هي الفليكس جريد)

ms.Visible = False
Dim path As String
path = App.path
If Right(path, 1) <> "\" Then path = path & "\"
path = path & "sw.mdb"
db.Provider = "microsoft.jet.oledb.4.0;"
db.Open path
rs.Open "[mailin]", db, adOpenStatic, adLockPessimistic
End sub

وقمت بتعريف إجراء يقوم بتعبئة الفليكس جريد (ms)

Sub msdd()
sql = "select proin from mailin where proin=[ãÓÏÏÉ]"
rs.Open sql, db, adOpenDynamic, adLockReadOnly
If rs.RecordCount <> 0 Then
With ms
.Clear
.Cols = rs.Fields.Count
.Rows = rs.RecordCount + 1
End With
End If
End Sub

وفي حدث النقر على الكومبو

Private Sub Combo1_Click()
If Combo1.Text = "ãÓÏÏÉ" Then
msdd
ms.Visible = True
End If
End Sub

عند التشغيل تظهر العناصر داخل الكومبو ولكن بمجرد النقر على أي عنصر تظهر رسالة خطأ

((لم يتم إعطاء قيم أو أكثر لمعلمة من المعلمات المطلوبة))

ويظهر الخطأ على

rs.Open sql, db, adOpenDynamic, adLockReadOnly

ما سبب ذلك أرجو التوضيح؟؟؟

السؤال الثاني/

بعد ظهور البيانات في الفليكس جريد كيف يمكن حدوث حدث عند النقر على إحدى الصفوف التي تحوي البيانات بغض النظر عن موقع الصف داخل الفليكس جريد؟؟؟

أعرف أن أسئلتي كثيرة :wacko: :wacko: ولكن أود الاستفادة من خبراتكم

وشكرا

تم تعديل هذه المشاركة بواسطة Dena22 في 4 يوليو 2005 في 22:26

#2

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

بالنسبة للاستعلام جرب

sql = "select proin from mailin where proin='اكتب القيمة هنا'"

بالنسبة للنقر تستطيع الوصول لقيمة الخلية التي نقرت عليها عن طريق

e = ms.TextMatrix(ms.MouseRow, ms.MouseCol)
MsgBox e

460.gif

#3

ألف شكر أخي المتميز على الرد السريع والمتميز

ولكن بعد كتابة جملة البحث كيف يمكن إظهار ناتج البحث داخل الفليكس جريد؟؟؟؟؟

#4

الكود هو :

set MSHFlexGrid.DataSurce = RS

أما اذا كانت الاداة هي MSFlexGrid فهناك كود اخر لا اتذكره الان

وهناك مثال كامل للبحث المخصص على الرابط :

http://uni.hiarab.net/showthread.php?t=523...%E1%E3%CE%D5%D5

تحياتي

#5

السلام عليكم

اذا كانت الاداة MSflexgrid إليك ما طلبت

rs.Open "select * from [names]", cn, adOpenStatic, adLockOptimistic

MSFlexGrid1.TextMatrix(0, 0) = "م"
MSFlexGrid1.TextMatrix(0, 1) = "الاسم"
MSFlexGrid1.TextMatrix(0, 2) = "الهاتف"
MSFlexGrid1.TextMatrix(0, 3) = "الجوال"
MSFlexGrid1.TextMatrix(0, 4) = "الفاكس"
MSFlexGrid1.TextMatrix(0, 5) = "جهة العمل"

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 1630
MSFlexGrid1.ColWidth(2) = 1000
MSFlexGrid1.ColWidth(3) = 1200
MSFlexGrid1.ColWidth(4) = 1000
MSFlexGrid1.ColWidth(5) = 2400

    Do While Not rs.EOF
        i = i + 1
        MSFlexGrid1.Rows = i + 1
        MSFlexGrid1.TextMatrix(i, 0) = i
        MSFlexGrid1.TextMatrix(i, 1) = rs!Name
        MSFlexGrid1.TextMatrix(i, 2) = rs!phone
        MSFlexGrid1.TextMatrix(i, 3) = rs!Mobile
        MSFlexGrid1.TextMatrix(i, 4) = rs!fax
        MSFlexGrid1.TextMatrix(i, 5) = rs!work
        
        rs.MoveNext
    Loop

For cl = 0 To 5   '5 هي عدد حقول الشبكة
MSFlexGrid1.ColAlignment(cl) = flexAlignCenterCenter
Next cl

ولا تنس أن تضع قيمة الـCol في خصائص الشبكة = عدد الحقول التي تريد

والله الموفق

460.gif

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

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