@בערל אני חושב שהבנתי הפעם.
השגיאה הנ"ל פירושה ששדה מסויים בשאילתא לא נמצא.
כאשר אתה רוצה לקחת שדה מתוך טופס, הכל טוב ויפה כל עוד הדברים נשארים בתוך השאילתא.
אבל אם רוצים להריץ על ידי Execute שאילתא שמשתמשת בנתון מתוך טופס, זה גורם בעייה תחבירית, כי שם השדה [Forms]![frmData]![ID]
לא תקין.
מה שאתה צריך לעשות הוא לחשב את הערך ואחר כך להכניס אותו לתחביר ה-SQL. כך:
TabeDelete "MailMerge"
Dim SQL as String
SQL = "SELECT Data.ID, Data.FirstName, Data.LastName " _
& "INTO MailMerge " _
& "FROM Data " _
& "WHERE (Data.ID = " & Me.ID & ");"
CurrentDb.Execute SQL
הערה:
יש דרך יותר אלגנטית ותקנית לעשות את זה, על ידי העברת פרמטר לשאילתא, כך שתחביר השאילתא לא מופיע ישירות בקוד, אלא בשאילתא רגילה, דהיינו בתוך qryMake_MailMerge
.
אם אכן כיוונתי לפתרון, אני אדריך אותך איך לעשות את זה.