تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ممكن كود لملئ combo , list
#1
ممكن كود لملئ combo و list



طبعا شكرا لكل من (حريف برمجه,ناجي ابراهيم , vbcoder)
الرد }}}}
تم الشكر بواسطة:
#2
مرحبا المبرمج البسيط ،، العفو عزيزي ما سوينا غير الواجب

على العموم رسالتك وصلت وقمت بإرسال رسالة لك فظهر مسج ان المبرمج البسيط رسائلة وصلت للحد النهائي ولا يمكن إرسال رساله له ... للمعلومية

بخصوص تعبئة كومبو او لست هذا الكود

كود :
If rs.State = 1 Then rs.Close
rs.Open "SELECT * from item", cn, adOpenKeyset, adLockPessimistic

Combo1.Clear
List1.Clear

Do While rs.EOF = False
Combo1.AddItem rs!num
List1.AddItem rs!num
rs.MoveNext
Loop

rs.Close
الرد }}}}
تم الشكر بواسطة:
#3
هذة المشكله

الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم...

المعذرة يا أخي "المبرمج البسيط" إن تأخرنا عليك قليلاً... فالجواب كان جاهزاً منذ استلامي للمرفق، و لكني انشغلت عن الرد قليلاً.

أحببت أن يكون الحل عاماً لكل المشروع و ليس خاصاً بنافذة واحدة، و لذلك فالحل كالتالي:
1. انسخ الدالة و الإجراء التاليين إلى الـ Module الموجودة في مشروعك.
كود :
' دالة التأكد من وجود سجلات
Public Function IsEmptyRecordSet(ARecordSet As ADODB.Recordset) As Boolean
    If ARecordSet Is Nothing Then
        IsEmptyRecordSet = True
    ElseIf ARecordSet.State <> adStateOpen Then
        IsEmptyRecordSet = True
    ElseIf ARecordSet.BOF And ARecordSet.EOF Then
        IsEmptyRecordSet = True
    Else
        IsEmptyRecordSet = False
    End If
End Function

' إجراء تعبئة اللائحة
Public Sub FillListFromTable(AListControl As Control, ByVal ATable As String, ByVal AListField As String, Optional ByVal AKeyField As String = "")
    Dim TempCnn As New ADODB.Connection
    Dim RSList As New ADODB.Recordset
    Dim SQLStr As String
    Dim ItemIndex As Long
    
    If (TypeOf AListControl Is ListBox) Or (TypeOf AListControl Is ComboBox) Then
        AListControl.Clear
        
        SQLStr = "SELECT [" & AListField & "] AS ListField"
        
        AKeyField = Trim$(AKeyField)
        If AKeyField <> "" Then
            SQLStr = SQLStr & ", [" & AKeyField & "] AS KeyField"
        End If
        SQLStr = SQLStr & " FROM [" & ATable & "]"
        
        If TempCnn.State = 1 Then TempCnn.Close
        TempCnn.CursorLocation = adUseClient
        TempCnn.Provider = "Microsoft.Jet.OLEDB.4.0;"
        TempCnn.Open App.Path & "\database.mdb"
        
        RSList.Open SQLStr, TempCnn, adOpenStatic, adLockOptimistic
        If Not IsEmptyRecordSet(RSList) Then
            RSList.MoveFirst
            Do While Not RSList.EOF
                If Not IsNull(RSList("ListField")) Then
                    AListControl.AddItem RSList("ListField")
                    If AKeyField <> "" Then
                        If Not IsNull(RSList("KeyField")) Then
                            If IsNumeric(RSList("KeyField")) Then
                                AListControl.ItemData(AListControl.NewIndex) = RSList("KeyField")
                            End If
                        End If
                    End If
                End If
                RSList.MoveNext
            Loop
        End If
        RSList.Close
        Set RSList = Nothing
        TempCnn.Close
        Set TempCnn = Nothing
    End If
End Sub

الدالة IsEmptyRecordSet تتأكد من وجود سجلات في مجموعة السجلات (Recordset) حيث تعيد True في حالة وجود سجلات، و تعيد False إذا لم يكن هناك سجلات.

الإجراء FillListFromTable هو الذي يقوم بتعبئة اللائحة. اللائحة يمكن أن تكون ComboBox أو ListBox. أما بارامتراته فهي كالتالي:
= البارامتر AListControl: اسم اللائحة، أي اسم الـ ComboBox أو الـ ListBox الذي تريد تعبئته.
= البارامتر ATable: اسم الجدول الذي تريد تعبئة البيانات منه.
= البارامتر AListField: اسم الحقل الذي يحتوي على البيانات المطلوب تعبئتها في اللائحة.
= البارامتر AKeyField: بارامتر اختياري و قيمته الافتراضية نص فارغ (Empty string) قد تستعمله لربط القيم المعبأة في اللائحة بأرقام من حقل عددي في الجدول. بما أنه اختياري فإنه يمكننا إهماله عند الاستدعاء.

و لتعبئة اللائحة قم باستدعاء الإجراء، مثلاً:
كود :
FillListFromTable List1, "item", "num"
FillListFromTable Combo1, "item", "num"

* الكود السابق جربته على برنامجك نفسه و يعمل.

* بالمناسبة: الخطأ الذي أشرت إليه في مشاركتك الأخيرة يعني أنك تحاول فتح الـ RS قبل - أو دون - استدعاء الإجراء conn لفتح الاتصال.

المعذرة مرة أخرى على التأخير.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  السلام عليكم ممكن طلب طريقة ربط اكسس به صورة مع الفجوال عن طريق adodc rafed 4 1,092 29-01-15, 08:25 PM
آخر رد: yazan90
Question [سؤال] سؤال في البحث بإستخدام Combo allayl 2 958 14-06-14, 01:23 AM
آخر رد: allayl
Question [سؤال] الاكمال التلقائي في Combo allayl 6 1,576 14-06-14, 01:22 AM
آخر رد: allayl
  Ado : ممكن كود حفظ في محتويات فلكس غريد في قاعدة البيانات المبرمج البسيط 5 610 29-04-13, 12:36 AM
آخر رد: المبرمج البسيط
  Ado : ممكن المساعده في كود الحفظ المبرمج البسيط 2 409 10-04-13, 03:49 AM
آخر رد: VB_Coder
  ممكن تشوفولي هذة المشكلة في كود الحفظ ado المبرمج البسيط 9 799 05-04-13, 09:34 PM
آخر رد: ناجي إبراهيم
  ممكن كود البحث في قاعدة البيانات وعرض النتيجة في msflexgrid احمد129 4 1,075 25-12-12, 03:04 PM
آخر رد: hago
  ممكن مشروع به قاعدة البينات imatawen 2 431 07-12-12, 07:45 AM
آخر رد: Ahmad Jawad

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم