לא הבנתי.
לפי מה שאני רואה בקוד, אתה מנסה לשנות ערך של רג'יסטרי שאמור להגדיר שACCDE נפתח באקסס 2013.
מי אתה רוצה שיקבל את הרשאות המנהל, האקסס או התוכנה שבנית בדוטנט?
ובכלל, כדי לכתוב לרג'יסטרי במקום הזה לא צריך הרשאות מנהל, ויותר מכך,כשאתה נכנס עם הרשאות מנהל אתה בעצם משנה את הREG אצל המנהל ולא אצל המשתמש הנוכחי.
במידה ואתה רוצה שהאקסס יופעל כמשתמש מנהל, אתה יכול ליצור פרוסס שירוץ עם המשתמש המסויים (אני לא בטוח שזה מה שאתה רוצה).
קוד:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.accde\UserChoice]
"Progid"="Access.ACCDEFile.15"
נסה להדביק את הקוד הנ"ל בעורך טקסט ושמור את הקובץ עם סיומת REG.
אח"כ תריץ את הקובץ הזה ותראה אם אתה מקבל "הגישה נדחתה" (אני קיבלתי משהו אחר [כביכול יש איזו תוכנית שמאזינה לREG הזה])
אבל באמת, אני חושב שהפיתרון כאן אמור להיות קצת שונה (אא"כ אתה בונה תוכנית התקנה).
אם אתה מנסה להריץ דוח או טופס באופן אוטו' מתוך הדוטנט, או סתם לפתוח אותו בזמן ריצה של הדוטנט, פשוט תיתן הגדרה ישירה לאקסס 2013.
dim acc as object
acc=CreateObject(Aappliction.Access.15")
וכמובן תבדוק אם אתה מקבל שגיאה, אז אין אקסס 2013.
או להשתמש בInterop
פורסם במקור בפורום CODE613 ב12/08/2014 00:17 (+03:00)