שגיאה בעת פתיחת קובץ אקסס סגור
-
האם יש פיתרונים לזה?
[img:h7f1c3et]http://forum.enativ.com/download/file.php?id=13844[/img:h7f1c3et]
זה לפעמים מופיע במחשבים מסוימים, רק כשהקובץ כבר מקומפל, הפתרון היחיד שמצאתי לזה, הוא לקמפל את הקובץ באותו מחשב שעושה את הבעיה ואז הוא עוד מצוין במחשב הזה, האם יש לזה תיקון?
יש לציין שברוב המחשבים זה עובד מצוין, וכן אחרי שזה לא מקומפל זה עובד מצוין!תודה רבה
פורסם במקור בפורום CODE613 ב26/01/2014 00:22 (+02:00)
-
תבדוק אם יש לך רפרנסים, במחשבי וינדווס 8 וכן ב64 ביט, מייקרוסופט שינו את הכתובת של DLL ים מסויימים מ system32 ל syswow64 וזה שורש הבעיה שלך כנראה.
אם למשל אתה מפני ל dll ששולח פקסים מטעם מייקרוסופט, אז בטוח זה יעשה לך את הבעיה.
ההבדל הוא שלפני קימפול, הוא מנסה לחפש בכתובת החלופית, כשהוא נתקל בבעיה, ומתקן לבדו את הכתובת של הרפרנס, אבל אחרי הקימפול הוא לא כל כך חכם, ואז צריך לעשות גירסה פתוחה ולקמפל אותו כדי שהקימפול יתפוס את הכתובת הנכונה.
פורסם במקור בפורום CODE613 ב26/01/2014 00:49 (+02:00)
-
או לשכתב את הרפרנסים בקוד:
Public Function IsThereAbrokenReferences() As Boolean On Error GoTo IsThereAbrokenReferencesErr Dim rf As Reference, BrokenName As String, IsBrokenReference As Boolean IsBrokenReference = False For Each rf In Application.References If rf.IsBroken Then IsBrokenReference = True BrokenName = BrokenName & rf.Name & ";" & rf.FullPath & vbCrLf End If Next If IsBrokenReference Then MsgBox "יש הפנייה אחת או יותר לא תקינות" & vbCrLf & BrokenName End If IsThereAbrokenReferences = IsBrokenReference Exit Function IsThereAbrokenReferencesErr: MsgBox err.Description Resume Next End Function
להריץ את זה בהתחלת התוכנית.
למען האמת שמעולם לאהרצתי את הפונקצייה הזו, ורק היא יושבת לי באחד הפרוייקטים שלי.
אני גם לא כ"כ מבין איך היא תרוץ אם אקסס לא יכול להריץ כלום כאשר יש רפרנסים שבורים (אפילו דברים מובנים בVB כמו Chr)
ולשומע ינעם :lol: :lol:פורסם במקור בפורום CODE613 ב26/01/2014 02:09 (+02:00)
-
אין אפשרות לשנות רפרנסים בקובץ מקומפל עד כמה שידוע לי, והסיבה פשוטה כמו שכתבת, הקובץ לא מתחיל לעבוד.
מה שכן אם ההתייחסות לרפרנס היא רק במקרים בודדים, אין צורך בכלל לעשות רפרנס לכל הפרוייקט אלא פשוט לעשות createobject וזהו.
פורסם במקור בפורום CODE613 ב26/01/2014 10:03 (+02:00)
-
באקסס מקומפל אתה צריך להחזיק 2 גירסאות אם אתה רוצה תאימות גם ל64 ביט.
גירסה ל32 וגירסה ל64.
(או שהמשתמשים שלך יחזיקו רק 32 או רק 64)
למיטב ידיעתי ונסיוני אין משמעות לגירסת הווינדוס (למעט בעבר שמייקרוסופט שינו משהו בSP1 בWIN7, ואז זה יצר בעיות -אבל הם תיקנו את זה)פורסם במקור בפורום CODE613 ב26/01/2014 14:53 (+02:00)
-
באקסס מקומפל אתה צריך להחזיק 2 גירסאות אם אתה רוצה תאימות גם ל64 ביט.
גירסה ל32 וגירסה ל64.
(או שהמשתמשים שלך יחזיקו רק 32 או רק 64)
למיטב ידיעתי ונסיוני אין משמעות לגירסת הווינדוס (למעט בעבר שמייקרוסופט שינו משהו בSP1 בWIN7, ואז זה יצר בעיות -אבל הם תיקנו את זה)זה וודאי.
לכן אני שואל מדוע מופיע ההודעה הראשונה, הודעה של 64 ו32 ביט אני כבר מכיר ממש מקרוב...פורסם במקור בפורום CODE613 ב28/01/2014 21:43 (+02:00)
-
תבדוק 2 דברים.
- האם הקובץ שאתה סוגר במחשב שעושה את הבעייה הוא נפתח תקין במחשב שלך?
- האם במחשבים שעושים את הבעייה יש ווינדוס 7 64 ביט + SP1 שלא עבר עידכון בשנתיים האחרונות?
למייקרוסופט הייתה בעייה עם הTLB של האקסס, הם שינו את הנקודת כניסה שלו בלי להודיע לאף אחד, אבל תיקנו את זה אחרי כמה חודשים. (אז הפיתרון היה להסיר את הSP עד שיהיה תיקון. אח"כ הם הוציאו תיקון לזה.)
פורסם במקור בפורום CODE613 ב23/05/2014 11:25 (+03:00)