-
שלום
אני מעוניין לפתוח קובץ אקסס ולהפעיל שם מאקרו מסוים, מתוך התוכנה שלי שהיא גם אקסס.
ניסיתי לעשות את זה עם הקוד הזה שמצאתי כאן
אבל הוא לא נותן לי לפתוח מסד נתונים שפתוח באופן בלעדי שאת זה אני חייב בשביל שאני יוכל לעשות סיסמה לקובץ,
אשמח לעזרה איך אני יכול לפתוח אותו, יש לציין שזה קובץ הטבלאות של התוכנה שלי.
בתודה מראש
-
@חייםיודלביץ אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
אבל הוא לא נותן לי לפתוח מסד נתונים שפתוח באופן בלעדי שאת זה אני חייב בשביל שאני יוכל לעשות סיסמה לקובץ,
באיזה שלב אתה עושה לו סיסמא?
ז"א, תתאר מה הסטטוס של כל קובץ.קובץ מס' 1 - נקרא לו האבא.
הוא קורא לקובץ מס' 2. - נקרא לו הבן.מי מהם נפתח בצורה בלעדית?
ולמה?
בשביל לשים סיסמא על הקובץ צריך רק בפעם הראשונה שיהיה פתוח בלעדי. ולא יותר -
מי מהם נפתח בצורה בלעדית?
שני הקבצים גם קובץ הטבלאות וגם קובץ הטפסים והדוחות
ולמה?
כי כדי לעשות סיסמה הוא מבקש שהקובץ יוגדר כפתיחה בלעדית
באיזה שלב אתה עושה לו סיסמא?
אני לא מעוניין לעשות עם סיסמא עם הקוד אני רק רוצה לפתוח את קובץ הטבלאות שמחובר למסד הנתונים שלי ולהפעיל שם קוד מסוים.
הקוד שהבאתי למעלה נותן לי לפתוח רק מסד נתונים שהוא לא בלעדי כלומר לא מוגן בסיסמה, כל קובץ אחר הוא רק פותח את אקסס ואז מוציא הודעת שגיאה
תודה רבה על עזרתך
מקווה שהסברתי טוב את עצמי -
הקפצה
אשמח לעזרהתודה
-
@חייםיודלביץ ```
Dim appAccess As Access.Application
Set appAccess = CreateObject("Access.Application")appAccess.OpenCurrentDatabase "C:\Users\א\Desktop\אקסס.mdb", False, "1234"
-
@יעקב-ט אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
@יעקב-ט
משום מה זה לא יצא טוב אז אני מעלה עוד פעם
הקוד בדוגמה הוא 1234Dim appAccess As Access.Application Set appAccess = CreateObject("Access.Application") appAccess.OpenCurrentDatabase "C:\Users\א\Desktop\אקסס.mdb", False, "1234"
תודה רבה! אני אכן עדיין מחפש פתרון לבעיה ואשמח מאד לפתרונה.
כשאני כותב את הקוד שהבאת הוא פותח את הקובץ בצורה נסתרת, ואחרי רגע הוא נסגר אשמח אם תוכל לכתוב לי מה הבעיה.
-
@חייםיודלביץ אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
הוא פותח את הקובץ בצורה נסתרת, ואחרי רגע הוא נסגר
כי ברגע שהפונקציה מסתיימת האובייקט appAccess מושמד
תוסיף אחרי השורות הנ"ל את הקריאה למאקרו ואחר כך תסגור בעצמך את הקובץ:appAccess.DoCmd.RunMacro "שם_המאקרו" appAccess.Terminate
-
@OdedDvir אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
@חייםיודלביץ אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
הוא פותח את הקובץ בצורה נסתרת, ואחרי רגע הוא נסגר
כי ברגע שהפונקציה מסתיימת האובייקט appAccess מושמד
תוסיף אחרי השורות הנ"ל את הקריאה למאקרו ואחר כך תסגור בעצמך את הקובץ:appAccess.DoCmd.RunMacro "שם_המאקרו" appAccess.Terminate
תודה רבה על העזרה!
על השורה הזאת appAccess.Terminate
הוא מוציא לי שגיאה כזאתכמו כן אני רוצה שהוא לא יסגר,אלא יופיע בקדמת החלון, זכור לי שיש איזה קוד להביא את חלון האקסס שנפתח למוקד [מקווה שהובנתי... אני לא מצליח להיזכר איך קוראים לזה]
סליחה שרק עכשיו אני מגיב רק עכשיו היה לי זמן להיכנס לפורום....
-
@חייםיודלביץ עברתי על הקוד מהתחלה וניקיתי דברים מיותרים, הקוד הבא עובד ומציג את הDB שנפתח:
Dim appAccess As Access.Application Set appAccess = New Access.Application With appAccess .OpenCurrentDatabase "C:\Users\à\Desktop\אקסס.mdb", False, "1234" .Visible = True .DoCmd.RunMacro "macro_name" End With
שים לב שעם סיום המאקרו - הDB נסגר כי האובייקט appAccess מושמד ביציאה מהפונקציה. אם תרצה להשאירו פתוח תעביר את שורה 1 אל מחוץ לפונקציה,
בקוד של הטופס - ואז ייסגר כשיסגר הטופס,
או
במודול נפרד - ואז יישאר פתוח עד שתסגור ידנית. -
@OdedDvir אמר בעזרה - פתיחת קובץ אקסס מתוך אקסס בקוד vba:
@חייםיודלביץ עברתי על הקוד מהתחלה וניקיתי דברים מיותרים, הקוד הבא עובד ומציג את הDB שנפתח:
Dim appAccess As Access.Application Set appAccess = New Access.Application With appAccess .OpenCurrentDatabase "C:\Users\à\Desktop\אקסס.mdb", False, "1234" .Visible = True .DoCmd.RunMacro "macro_name" End With
שים לב שעם סיום המאקרו - הDB נסגר כי האובייקט appAccess מושמד ביציאה מהפונקציה. אם תרצה להשאירו פתוח תעביר את שורה 1 אל מחוץ לפונקציה,
בקוד של הטופס - ואז ייסגר כשיסגר הטופס,
או
במודול נפרד - ואז יישאר פתוח עד שתסגור ידנית.תודה רבה רבה עובד מצוין!!
-