"הפריט לא נמצא"

"הפריט לא נמצא"

שלום,

מנסה להפעיל את הקוד הבא:


Private Sub ô÷åãä167_Click()

Dim qdf As QueryDef
Dim rst As Recordset
Dim strSQL As String

strSQL = "SELECT * FROM ñèåãðèéí WHERE " & Me.txta & " = " & Me.txtb
Me.txt16 = strSQL
Set qdf = CurrentDb.QueryDefs(strSQL)



Set rst = qdf.OpenRecordset

rst.Close
qdf.Close
Set rst = Nothing
Set qdf = Nothing

End Sub


המטרה היא שאילתת חיפוש דינאמית (עם פרמטרים) השגיאה שמופיע היא (תמונה מצורפת)
על השורה


Set qdf = CurrentDb.QueryDefs(strSQL)


אודה לעזרתכם בהבנת הבעיה.
 
בגלל שיש המון מידע בקובץ

ואני לא מצליח להבין איך למען ה' אני אומר לשלוח לכם קובץ ענקי כזה, בגלל שיש אלפי רשומות, בגלל שיש מידע, ובגלל שאני באמת ובתמים לא מבין איך אני
אמור למחוק את טבלאות, טפסים דוחות שהכול קשור זה בזה ואתם עדיין תצליחו לראות משהו, כי כול שנייה מופיעה שגיאה אחרת שטבלה הזו חסרה, והטופס הזה לא עולה והכול נסגר בגלל עשרות שגיאות.

ניסיתי לייצר קובץ דמה בתקווה שזה יעזור לכם להבין את מהות הבעיה השלי.

קובץ:
http://www.upf.co.il/file/315625988.html

תודה רבה וסליחה.
 

כלליים

New member
יש כמה בעיות בקוד

א. האוסף QueryDefs מכיל רק את השאילתות הקבועות. במקרה שלך, אין שום צורך במשתנה queryDefs.
כך פותחים רקורדסט:
Set rst = CurrentDb.OpenRecordset(strSQL)


ב. מכיוון שאתה מחפש בשדה מסוג טקסט, אתה צריך להקיף את ערך החיפוש במרכא.
ד. אין צורך לאפס את המשתנים גם באמצעות Close וגם באמצעות Nothing.

הערה לסיום:
הפק לקחים לעתיד, על הצורך בקובץ.
אמנם טרחת ליצור קובץ דמה, אבל זה עדיף מלהטריח אנשים לעבוד בשבילך לחינם. Pitoach הוא אדם עסוק. למה הוא צריך להשחית את זמנו?

והנה הקוד השלם:
Private Sub פקודה6_Click()

Dim rst As Recordset
Dim strSQL As String

strSQL = "SELECT * FROM טבלה_א WHERE " & Me.txta & " = '" & Me.txtb & "'"


Me.txt16 = strSQL

Set rst = CurrentDb.OpenRecordset(strSQL)

Set rst = Nothing
End Sub
 
שום דבר לא קורה :\

כנראה שלא הייתי ברור, מצטער,
אין אפשרות שיעשה סינון אוטומטי של הרשומות בטופס הבן?

תודה רבה.
 

כלליים

New member
נסה בבקשה

להבין מה שאומרים לך.

שלחת קובץ עם קוד שיוצר שגיאה. בקוד ששלחת אין שום סינון בטופס הבן, וגם בקוד שאני החזרתי.
ההבדל היחיד הוא שהסברתי לך מה סיבת השגיאה. כלומר: הקוד ששלחת, נתקע, והקוד שהחזרתי לא נתקע.

אם תתעמק, ותנסה להבין את הטעות בקוד שלך, תוכל להתקדם לשלב הבא.
אבל בלי נסיון ללכת שלב אחרי שלב, בסבלנות ובהעמקה, אי אפשר.
 
למעלה