יצוא דו"ח לאקסל

יצוא דו"ח לאקסל

שלום,

בקובץ המצורף טופס שנקרא: חיפוש.

לאחר הרצת השאילתה, אני רוצה לייצא אותה - את השאילתה שמופיעה בטופס הבן לקובץ אקסל (ע"י לחיצה על הכפתור שנמצא לצד הכפתור שמריץ את הסינון.

זיפ קטן http://www.upf.co.il/file/264274052.html

קובץ לא בארכיון http://www.upf.co.il/file/992280461.html


אשמח לעזרתכם - תודה רבה !
 

roniel405

New member
לא ראיתי את הקובץ

אבל מה שאתה צריך לעשות זה לבנות את השאילתה בקוד וע"י שימוש ב-Querydef היא נשמרת ב-DB
ואז להריץ את הפקודה DoCmd.TransferSpreadsheet
 
לא הבנתי שום דבר

אני מצטער, אני זקוק שתעיינו בקובץ.

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

תודה על העזרה.
 

roniel405

New member
הבעיה היא כזאת

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

Private Sub פקודה700_Click()
Dim strsql As String
Dim qdf As DAO.QueryDef

strsql = "SELECT * FROM Students " & BuildFilter
Set qdf = CurrentDb.QueryDefs("StudentQ")
qdf.SQL = strsql
DoCmd.OutputTo acOutputQuery, "StudentQ", acFormatXLS, [FileName].xls

End Sub
השם של השאילתה (StudentQ) כדי לא להתעסק עם עברית
 
לא הבנתי מזה "StudentQ"

זה משהו שאני אומר לעשות?

כי הקוד נעצר בשורה הזו "הפריט לא נמצא"

תודה רבה !
 

roniel405

New member
תבנה שאילתה ששולפת מ-Students

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

אין לי מושג מה זה השדה הזה: 1| ניסיתי למצוא בקוד, ניסיתי לחפש את המספר 1 לא מצאתי כלום
 

roniel405

New member
האם עם פרמטר שאתה בוחר מתקבלת השגיאה?

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

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

מה שכן, ברגע שאני משנה את השורה הזו:


DoCmd.OutputTo acOutputQuery, "StudentQ", acFormatXLS, [[FileName].xls


לזה:


DoCmd.OutputTo acOutputQuery, "StudentQ", acFormatXLS,"1.xls"


השגיאה נעלמת, אבל איפה הקובץ יצוא אני לא מצליח למצוא אותו?
 

0 אור 0

New member
תכין שדה בטופס ששמו FileName

ותשתמש בקוד המקורי שנתנו לך,
כדאי כמובן להכניס איזו בדיקה והודעת שגיאה אם השדה ריק
 
אתם מדברים איתי בסינית :(

מה זה InputBox, מה עושים איתה?
איך מפעילים אותה ?

שוב פעם תודה רבה וענקית
 

0 אור 0

New member
אני מקווה שעד שחזרתי מהחופשה נעזרת בגוגל

או בעזרה של האקסס וגילית איך משתמשים בזה
 
אז זהו שכן ולא

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

תודה !
 
למעלה