Локална мрежа от десетина WinXPpro + файлов сървър Win2003.
Има работна група GroupA. Всички потребители от локалните компютри са членове на тая група. Има и потребител AOperator, който не се ползва за работа от никой компютър.
Има пубична папка \\server\AFolder на сървъра, за която GroupA има Read-Only достъп, а потребител AOperatop има Full-Access.
Форма в MS Access приложение (по-надолу го означавам това приложение с (1)). Има съответния VBA код за тая форма, а и за други неща. Всички таблици в (1) са linked към друго MS Access приложение (2), което не съдържа нищо друго освен самите таблици.
Приложение (2) има единствено копие в публичната папка \\server\AFolder на сървъра.
Приложение (1) има копие на всеки компютър от където се стартира с правата на съответния потребител, освен ако не се направи Run As AOperator ръчно.
Целта е да се избегне това "Run As ...".
Т.е., като се стартира приложение (1), то само да си "повиши" правата до правата на AOperator.
При стартиране на приложение (1) и OnLoad на основната форма, така или иначе се пуска CurrentDB.Tabledefs(i).connect, (за да "закачи" linked-таблиците към приложение (2))
Изчетох в Help-а параметрите на connect. Значи, ако става въпрос за ODBC драйвер, то може да се укаже username&password, но ако е Microsoft Jet Database, не може (може да се укаже само пътя)
Така или иначе, connect не ми върши работа, тъй като е необходимо приложение (1) да може да трие и създава текстови документи в самата публична папка \\server\AFolder.
Не знам дали стана ясно какво ме мъчи. Горе-долу може да се каже и така:
Когато user1 стартира приложение (1), то приложението със собствения си код да си повиши/смени правата от user1 на AOperator. Т.е., как може да се направи това в MS Access ? Предварително знаем паролата на AOperator.