אקסס | ניהול והחלפת טבלאות מקושרות - האם הקוד מ AI תקין?
-
שלום וברכה
אחרי חיפושים רבים, ומשלא מצאתי קוד שמתאים לכל סוגי האופיס לניהול והחלפת טבלאות מקושרות באקסס כשיש סיסמא למסד הנתונים העורפי , בקשתי מרובי בוט קוד מתאים, לאחר קצת בקשות התאמה ממנו יצא הקוד הבא:
Dim db As Database Dim tdf As TableDef Dim newPosition As Integer Set db = CurrentDb newPosition = 1 ' Specify the new position here ' Update table positions by recreating linked tables in the desired order For Each tdf In db.TableDefs If tdf.Attributes = dbAttachedTable Then db.TableDefs.Refresh tdf.Connect = ";DATABASE=" & נתיב הקובץ & ";PWD=סיסמת הקובץ" tdf.RefreshLink ' Optionally, you can set the position here using tdf.OrdinalPosition = newPosition newPosition = newPosition + 1 End If Next tdf db.Close Set db = Nothing MsgBox "Linked table positions updated successfully!", vbInformation
הקוד עובד לי מעולה.
אני לא מבין את כל שורות הקוד, אשמח אם מישהו כאן יוכל לכתוב לי האם הקוד בסדר ומשהו לא התפספס בדרך.תודה רבה
@dovid מקווה שזה בסדר להעלות קוד מ AI להתייעצות, לא ראיתי איזה סעיף בחוקי הפורום בעניין.
-
- שורות 6,14,15 מיותרות
- הקישור למסד נתונים חיצוני כלשהו (אקסס, SQL, Excel וכו') נעשה על ידי מחרוזת חיבור
ConnectionString
. מחרוזת זו מכילה גם את הכתובת של המסד החיצוני, וגם את הסיסמה אליו, אם יש כזו. - בגדול, אקסס מנהלת את כל הטבלאות על ידי טבלאות מערכת מוסתרות. ניתן להציג אותן על ידי קליק ימני על סרגל הניווט > אפשרויות ניווט > ולסמן V בתיבה הצג אובייקטים מוסתרים ו- הצג אובייקטי מערכת
- הטבלה MSysObjects אחראית על האובייקטים שנמצאים בסרגל הניווט. גם מחרוזות החיבור לטבלאות המקושרות נשמרות שם.
נסה להריץ את השאילתא הבאה:
SELECT * FROM MSysObjects
בעמודה Connect תופיע מחרוזת החיבור.
הקוד שהבאת בסה"כ עובר על הרשומות בטבלה הזו, ובודק איזה מהם הוא טבלה (בשורה 10) אם כן, הוא מעדכן את מחרוזת החיבור. -
@חייםיודלביץ כתב באקסס | ניהול והחלפת טבלאות מקושרות - האם הקוד מ AI תקין?:
אז זה קוד תקין ורצוי?
קוד שהוא בגדר קופסה שחורה שעושה הוקוס-פוקוס ועובד - הוא קוד שאין לך אפשרות לתחזק ביום שהוא יחליט פתאום להפסיק לעבוד.
אני לא אומר לא להשתמש בקוד כזה, רק לקחת את זה בחשבון.קוד תקין ורצוי הוא בעיני קוד שאתה מבין בדיוק מה קורה בו.
אם זה נכון לגבי הקוד הזה, אז התשובה היא כן. בניכוי השורות המיותרות הנ"ל. אגב, גם שורה 11 מיותרת.למה הרבה קודים ברשת משתמשים בכל מיני משתנים שדורשים הפניות ואז זה נורא מסתבך עם גרסאות האקסס, יש לזה מעלה על הקוד הפשוט הנ"ל?
אני לא מבין את השאלה, תוכל לתת דוגמא לקוד אחר שעושה את הפעולה הנ"ל?
אם השאלה שלך היא כללית - אנא פתח נושא חדש ותן דוגמא. -
@OdedDvir כתב באקסס | ניהול והחלפת טבלאות מקושרות - האם הקוד מ AI תקין?:
קוד שהוא בגדר קופסה שחורה שעושה הוקוס-פוקוס ועובד - הוא קוד שאין לך אפשרות לתחזק ביום שהוא יחליט פתאום להפסיק לעבוד.
אני לא אומר לא להשתמש בקוד כזה, רק לקחת את זה בחשבון.שזה מה שקרה לי עם הקוד הקודם לקישור טבלאות.
@OdedDvir כתב באקסס | ניהול והחלפת טבלאות מקושרות - האם הקוד מ AI תקין?:
אני לא מבין את השאלה, תוכל לתת דוגמא לקוד אחר שעושה את הפעולה הנ"ל?
כמו הקוד כאן לדוגמא שצריך לעשות הפניה ל:
Miscrosoft DAO 3.6
ובאופיס החדשים צריך לסדר הפניה ל:
Microsoft Office 12
או ל 14 בהתאמה לגרסהלמה לא להשתמש מראש כמו הקוד מרובי?
תודה