-
@שוהם307 יפה.
שים לב:
כדי שהקוד יעבוד, תצטרך לאפשר גישה לאפליקציות עם רמת אבטחה נמוכה לחשבון גוגל שלך.
לשם כך כנס להגדרות החשבון שלך בגוגל, ותבחר כדלקמן:
ובמסך שנפתח תפעיל את האופציה.
כעת צור מודול חדש באקסס ותדביק את הקוד הבא: (אני לא זוכר את המקור המדוייק, אבל הוא מסתובב ברשת בכל מיני מקומות)
Public Sub SendGmail() 'creating a CDO object Dim Mail As Object Set Mail = CreateObject("CDO.Message") 'Enable SSL Authentication Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 'Make SMTP authentication Enabled=true (1) Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'Set the SMTP server and port Details 'Get these details from the Settings Page of your Gmail Account Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ "smtp.gmail.com" Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Set your credentials of your Gmail Account Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/sendusername") = _ "youremail@gmail.com" Mail.Configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = _ "***********" 'Update the configuration fields Mail.Configuration.fields.Update 'Set All Email Properties With Mail .Subject = "Your message subject" .From = "youremail@gmail.com" .To = "someone@somewhere.com" .CC = "" .BCC = "" .textbody = "Testing 1 2 3" .AddAttachment ("D:\Temp\123.pdf") 'To attach Documents in mail End With 'to send the mail Mail.Send End Sub
ותחליף את הערכים בשורות הבאות:
שורה 26, ו-36: תחליף לכתובת המייל שלך בגוגל
שורה 29: תחליף את הכוכביות הסיסמה לחשבון גוגל
שורה 41: הנתיב המלא לקובץ PDF שיצרת
את שורה 46 תמחק (זו תוספת שנכנסה לקוד על ידי הפורום)אם הגעת עד לכאן - תערוך את הקוד בלחצן, ותוסיף שורה אחת בסוף:
Private Sub cmdOutputAsPDF_Click() CurrentDb.QueryDefs("qryOutput").SQL= "SELECT * FROM FormData WHERE ID=" & Me.ID DoCmd.OutputTo acOutputReport, "rptOutput", acFormatPDF SendGmail End Sub
-
@שוהם307 אתה צריך לקבוע היכן ישמר הקובץ, לשם כך תשנה את הקוד של הלחצן בשורה 3 ל:
DoCmd.OutputTo acOutputReport, "rptOutput", acFormatPDF, "D:\Temp\Report,pdf", True
שים לב שהוספתי 2 ארגומנטים:
א. עבור הנתיב המלא של הקובץ, בדוגמא כאן זה"D:\Temp\Report.pdf"
ב.True
שמורה לקוד לדרוס את הקובץ הקודם אם קיים.
כעת תשנה את הקוד של השליחה (בפונקציה SendMail) בשורה 41 שיקח את הקובץ משם:.AddAttachment ("D:\Temp\Report.pdf") 'To attach Documents in mail
כמובן שאפשר להוסיף עוד פינוקים כמו:
לגרום שהטופס להקלדה יפתח מיד בכניסה לאקסס
לשנות את שם קובץ ה-PDF כך שיכיל את שם המשתמש
וכו' וכו' -
@שוהם307 באקסס זה נשמר אוטומטית, כל שורה בטבלה מייצגת רשומה אחת המכילה פרטי טופס שלם.
(כמובן שבכל פעם עליך להכניס את הנתונים כרשומה חדשה, ולא לדרוס את הנתונים הקיימים)
כדי לשמור את כל העותקים כקבצים נפרדים - תצטרך מן הסתם לייצר שם ייחודי לכל קובץ PDF, ולשלוח בכל פעם את הקובץ הנכון במייל. -
@odeddvir אמר בבניית טופס/דו"ח:
ולשלוח בכל פעם את הקובץ הנכון במייל
- נכון, ומה שקורה עכשיו שהוא מציג לי חלונית 'שמירה בשם', ואני מקליד את השם שאני רוצה עבור ה PDF, והוא שולח אותו.
ומה לגבי זה?
@שוהם307 אמר בבניית טופס/דו"ח:
עכשיו אני מנסה להבין איך זה הולך לעבוד ברמה הטכנית? אני נותן את הקובץ אקסס לעובד (אחרי שנסדר אותו שייראה נורמלי), והוא ממלא טופס, לאחר מכן מה הוא עושה?
-
למען הסדר הטוב אני יציג את השאלות שלי בפעם אחת.
- כשהמשתמש מסיים להקליד נתונים בטופס, מה הוא עושה אחר כך? הוא מייצר דו"ח כדי שתהיה לו לחצן דרכו הוא ישלח את הדו"ח לאימייל? או שיש לחצן בטופס שמייצא לדו"ח ומשם לאימייל. או... משהו אחר.
- האם שייך לעשות שלא ישלח רק לנמען אחד כברירת מחדל אלא שייפתח תיבת רשימה והמשתמש יוכל לבחור למי הוא רוצה לשלוח את הדו"ח.
היו לי עוד כמה שאלות אבל אני לא זוכר אותם כרגע.
אז שוב פעם תודה רבה רבה.
-
@שוהם307
אני מאד מתקשה לעזור לך.
א. זה עושה רושם שאתה לא עוקב אחר ההוראות שלי בעיון, וזה מייגע אותי לחזור על מה שכתבתי בעבר. מלבד זאת, אני לא מבין בדיוק היכן אתה אוחז בכל התהליך.
ב.אתה מבקש לדעת את כל התורה על רגל אחת, וזה עושה את כל השרשור הזה למסורבל, לא ממוקד, וממילא חסר תועלת עבור אחרים.
אם תרצה, תוכל לפנות אלי במייל הפרטי, ולשאול בחופשיות.על השאלה הראשונה עניתי כבר לעיל. למרות זאת, אני אענה לך שוב:
כשהמשתמש מסיים להקליד נתונים בטופס, מה הוא עושה אחר כך? הוא מייצר דו"ח כדי שתהיה לו לחצן דרכו הוא ישלח את הדו"ח לאימייל? או שיש לחצן בטופס שמייצא לדו"ח ומשם לאימייל. או... משהו אחר.
הלחצן ממוקם בטופס. לחיצה עליו מיצאת את הדוח ל-PDF.
האם שייך לעשות שלא ישלח רק לנמען אחד כברירת מחדל אלא שייפתח תיבת רשימה והמשתמש יוכל לבחור למי הוא רוצה לשלוח את הדו"ח.
שייך. אבל בבקשה פתח נושא חדש עבור זה.
היו לי עוד כמה שאלות אבל אני לא זוכר אותם כרגע.
אתה מוזמן לפתוח נושא חדש עבורן.
-
אם כבר על בניית טפסים ודוחות באקסס...
ברצוני לשאול שאלה- האם יש אפשרות לשלוח לנמען דוח אקסס עם שדות למילוי, ואני יקבל את התגובות באופן כלשהוא. (בעצם כמו גוגל פרומס - אלא באקסס).
- האם ניתן לשתול נתונים מובניים בטופס - ואני יסביר:
אני מעוניין לשלוח לכל הורי התלמידים בבית ספרי דוח עם כל הפרטים שנקלטו בעת הרישום.
מאחר ולא כולם מקפידים על מלוי הפרטים אני מעוניין לייצא את הפרטים לדוח באופן שיציג את הנתונים שנקלטו + אפשרות לתיקון.
דוגמא: מספר הנייד שנקלט: 012-123-1231 ובמדה ואין זה נכון לשים ליידו פקד תיבת טקסט להשארת מספר הנכון
וכמובן לאסוף אח"כ את כל הפרטים באמצעות אקסס או אקסל
מי מהחכמים יודע ויחכים את הפשוטים
בתודה מראש
-
@לומד-ומתלמד
לשלוח דוח של אקסס אין אפשרות בלי המעטפת של האקסס עצמו, ולשלוח קובץ אקסס לכאורה לא מומלץ (צריך שיתאים לכל המחשבים\לא מתאים לפלאפונים חכמים) אם כי אפשרי לקבל ממנו נתונים בכיוון השנילכאורה הכי מומלץ זה דרך גוגל פורמס
יש לגוגל ספריית קודים מצויינת כך שאפשר לתקשר בכל בכיוונים, להעלות לקובץ גוגל שיטס את כל הנתונים > ליצור טופס ייעודי לכל רשומה> לקבל את התגובות > לשאוב מחדש את הנתונים, והכל באוטומציה כמובן
באם תרצה עזרה מעשית אתה יכול לפנות ampSoftware1@gmail.com -