הודעת שגיאה 3001

הודעת שגיאה 3001

אני חושב שאני הולך להרוג את ה VB הזה.. אני עושה שאילתא פשוטה כדלקמן :
Private Sub query_Click() Dim IsOk As String Dim sSql As String IsOk = ConnectToDataBase() If IsOk = "CONNECTED" Then sSql = "SELECT * FROM Table;" Set rs = New ADODB.Recordset With rs '÷áéòú îé÷åí äñîï ìñîï ùì öã-ùøú rs.CursorLocation = adUseServer .Open sSql, cn, adOpenStatic, adLockReadOnly End With If rs.BOF = True Then MsgBox "No Data" End If End If End Sub​
שאילתא פשוטה נכון ? לא משהו מסובך או משהו כל הנתונים נכונים הטבלאות מאומתות - אפילו פתחתי תוכנית חדשה לבדוק שאין לי בעיה כלשהי שלא יודע עליה.. אבל עדיין אני מקבל את השגיאה 3001 שמשמעותה היא "הארגומנטים הם מסוג שגוי,נמצאים מחוץ לטווח הקביל או מתנגשים אלה באלה" והטעות מצביעה בקוד על השורה של rs.open - האם VB השתגע או מה ??????
 

ארזירון

New member
כמה דברים

איך מוגדר cn? האם יש לך option explicit? למה יש לך ; בסוף? תנסה להוריד ולבדוק שוב.... והדבר האחרון שהייתי עושה זה מוריד את ה-open static וה-read only כי לדעתי שם הבעיה
 
תשובות

1.
Public Function ConnectToDataBase() As String Dim path As String path = DBpath() On Error GoTo Error_Handler Dim sConnString As String Dim sSql As String sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Persist Security Info=False" Set cn = New ADODB.Connection With cn .CursorLocation = adUseClient .Open sConnString End With ConnectToDataBase = "CONNECTED" Exit Function Error_Handler: ConnectToDataBase = "" MsgBox Err.Description & " " & Err.Number, vbCritical, "äåãòú îòøëú" End Function​
הוא נמצא ב class module בהגדרה Private cn As ADODB.Connection הערה - בקוד שרשמתי בהודעת הנושא "שגיאה 3001" הגישה לפונקציה קישור לבסיס נתונים נעשה כאילו מאותו טופס - אבל בעבודה שלי הפונקציה כאמור נמצאת ב class module. 2. אין לי option explicit 3. בסוף שאילתא רושמים נקודה פסיק לא ? הורדתי וגם ככה לא עובד. 4. גם שאני משנה את open staic ו read זה לא עובד.
 
מצאתי תבעיה אבל לא תפתרון...

לאחר כמה ניסויים שערכתי ניסיתי לעשות את השאילתא עם כל הטבלאות הקיימות שיש לי והכל עבד פרט לטבלא אחת ( זאת ששמתי בהתחלה ) - לפני שבניתי את השאילתא הזאת אני שיניתי תקשרי גומלין באקסס אבל החזרתי למצב המקורי בסופו של דבר. הטבלא שלא עובדת לי בשאילתא מקושרת כמובן לכמה טבלאות. עכשיו השגיאה שאני מקבל היא שונה והיא "שגיאת תחביר בפסוקית FROM" - מיותר לציין שהתחביר של השאילתא אין איתו בעיות כי הוא עובד עם טבלאות אחרות פרט לזאת. האם יש פתרון לבעיה הזאת ?
 
חחחח הצלחתי !

החלפתי את הטבלא המדוברת - מחקתי את כל הרשומות הקשורות - עשיתי קשרי גומלין מחדש לטבלא ושיניתי תשם ל groups במקום group- ייתכן וזאת מילה שמורה ולכן היתה לי שגיאה בשאילתא..
 
למעלה