اذهب الي المحتوي
أوفيسنا

محتاج مساعدة في فكرة انشاء استعلام باستخدام لغة vba


الردود الموصى بها

شكرا على الموقع الجميل

محتاج مساعدة في فكرة انشاء استعلام باستخدام لغة vba بحيث يكون اسم الجدول يؤخذ من متغير وليس جدول ثابت

قمت تصميم نموذج يحتوي على combobox  وايضا button وكتبة هذه الاكواد وعند التنفيذ يعطي خطء رقمه 128 وهذه الاكواد حصلت عليها من موقع 

Private Sub runQueryBtn_Click()
    Dim dbObj As DAO.Database
    Dim qdObj As DAO.QueryDef
    If Me.tablenamecombo.ListIndex = -1 Then
        MsgBox "Table Name needs to be selected, before continuing.", vbCritical
        Exit Sub
    End If
 

    Set dbObj = CurrentDb()
    Set qdObj = dbObj.QueryDefs("qry_Tmp")
    qdObj.SQL = " SELECT " & tablenamecombo & ".* FROM " & tablenamecombo & ";"

    qdObj.Execute dbFailOnError

 

    qbObj.Close
    Set qdObj = Nothing
    Set dbObj = Nothing
End Sub
 
Private Sub Form_Open(Cancel As Integer)
    Dim tblStr As String
    Dim dbObj As DAO.Database
    Dim tdObj As DAO.TableDef

    Set dbObj = CurrentDb()

    Me.tablenamecombo.RowSourceType = "Value List"
    For Each tdObj In db.TableDefs
        If Left(tdObj.name, 4) <> "MSys" Then
             tblStr = tblStr & tdObj.name & ";"
        End If

    Next
    MsgBox tblStr
    tblStr = Left(tblStr, Len(tblStr) - 1)
    Me.tablenamecombo.RowSource = tblStr
    Set dbObj = Nothing

End Sub
 
 
برجاء المساعده
تم تعديل بواسطه jjafferr
لتنسيق الكود: استعمل <> القائمة ، ووضع الكود في نافذته
رابط هذا التعليق
شارك

انا بالفعل منشئ استعلام ولكن عند التنفيذ تظهر رسالة كودها 128 في السطر التالي 

qdObj.Execute dbFailOnError

يرفض تنفيذ الاستعلام

وعند عرض النموذج يظهر اعتراض على هذ السطر 

For Each tdObj In db.TableDefs

 

رابط هذا التعليق
شارك

3 ساعات مضت, moustafa2004 said:

انا بالفعل منشئ استعلام ولكن عند التنفيذ تظهر رسالة كودها 128 في السطر التالي 

qdObj.Execute dbFailOnError

يرفض تنفيذ الاستعلام

وعند عرض النموذج يظهر اعتراض على هذ السطر 

For Each tdObj In db.TableDefs

 

أعتقد عليك التأكد من الاستعلام واسم الجدول بدايةً 

 

3 ساعات مضت, moustafa2004 said:

الموضع السابق مكنش اسم الجدول متغير كان اسم الجدول ثابت وكمان الاستعلام لم يكون منشئ لكي تظهر البيانات داخله اعتقد هناك فرق على قدر علمي والله اعلم

اذا الاستعلام غير موجود .. جرب التعديل على الجزء التالي لإنشاء استعلام جديد من خلال الكود

Private Sub runQueryBtn_Click()
    Dim dbObj As DAO.Database
    Dim qdObj As DAO.QueryDef
    
    If Me.tablenamecombo.ListIndex = -1 Then
        MsgBox "Table Name needs to be selected, before continuing.", vbCritical
        Exit Sub
    End If
    
    Set dbObj = CurrentDb()
    
    Set qdObj = dbObj.CreateQueryDef("", "")
    
    qdObj.SQL = "SELECT * FROM [" & Me.tablenamecombo & "];"
    
    qdObj.Execute dbFailOnError
    
    qdObj.Close
    
    Set qdObj = Nothing
    Set dbObj = Nothing
End Sub

 

وفي كل الأحوال ، حاول ارفاق مرفق للتطبيق عليه 😊 

تم تعديل بواسطه Foksh
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information