|
|
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Всем привет, вот решил доработать VBS скрипт автообновлялки клиентской части. С целью избежания повторного запуска приложения если уже файл открыт делаю так: пробую скопировать новый файл под рабочим именем если ошибка значит файл открыт ... но вот в чем проблема клиентская часть растет и файл все больше и больше и с целю экономии трафика хочу копировать файл только после реального обновления дистрибутива на сервере. как проверить версию придумал. а вот как сделать контроль что локальный файл уже открыт чтоб не запускать повторно даже если кликнули по ярлыку второй и третий раз без попытки скопировать? getobject не катит так как он создает объект если файл не открыт. атрибуты не меняются винапи в VBS не доступны вроде сейчас VBS код примерно такой: http://kozin1.narod.ru/newsite/index.html?autoupdateclient.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:11:13 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Try: Kill FilePath if Err<>0 Then ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:33:30 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
убивать не подойдет файл нужен. проверять на занятость надо при каждом запуске скрипта а не только когда копируется обновляется файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:36:48 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
не хочешь убивать - тогда переименовывай туда-сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:43:47 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Йесс, то что нужно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:52:59 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
только ты эта... осторожнее... переименовать или удалить он не даст, а вот скопировать поверх уже открытого файла другой с таким же именем - очень даже позволит. последствия непредсказуемы. я бы сделать попытку переименования первым же шагом, и если неудачно, значит немедленное катапультирование из скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:57:56 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
АлексейКубивать не подойдет файл нужен. проверять на занятость надо при каждом запуске скрипта а не только когда копируется обновляется файл переименуй, смени атрибуты, передвинь и т.п. или убей ldb (не точно проинформирует о занятости, но о занятости аксессом или джетом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 14:58:21 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
копировать поверх не дает - проверено пишет нет доступа у ADP нет LDB файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 15:37:32 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Чтобы мой ADE-ник юзера не могли запустить два раза я при запуске проверяю а не запущен ли он уже если запущен активирую первый,а второй завершаю(или не запускаю). Как условие "если уже файл открыт" ищу win окно с определенным заголовком только заголовок надо делать по возможности уникальным (например используя кавычки) ато возможны баги когда за прогу будет принята открытая для просмотра одноименная папка Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String _ ) As Long Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Public gHwnd As Long Private mm As String Private mFindStr As String Private chkFind As Boolean Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOSIZE = &H1 Public Const SWP_NOACTIVATE = &H10 Public Const SWP_SHOWWINDOW = &H40 'SetTitle strProjectName при старте установить условленный заголовок 'SetTitle "" при завершении сбросить '--Обновляет заголовок приложения Sub SetTitle(strPN As String) On Error Resume Next CurrentProject.Properties("AppTitle").Value = strPN Application.RefreshTitleBar End Sub Public Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Boolean Dim sSave As String, Ret As Long Dim I As Long Ret = GetWindowTextLength(hWnd) sSave = Space(Ret) GetWindowText hWnd, sSave, Ret + 1 If Len(Trim(sSave)) > 0 Then 'Debug.Print sSave & "-" & hwnd I = InStr(1, sSave, " - [") If I > 0 Then mm = Mid(sSave, 1, I - 1) If mm = mFindStr Then gHwnd = hWnd chkFind = True EnumWindowsProc = False Exit Function End If Else mm = sSave If mm = mFindStr Then mm = sSave gHwnd = hWnd chkFind = True EnumWindowsProc = False Exit Function End If End If End If EnumWindowsProc = True End Function Function IsLoadedPr(FindStr As String) As Boolean gHwnd = 0 chkFind = False mFindStr = FindStr Call EnumWindows(AddressOf EnumWindowsProc, 0) IsLoadedPr = chkFind End Function После в коде проверяеш If IsLoadedPr(strProjectName) Then если да значит приложение с таким заголовком запущено PS нормальные герои всегда идут в обход :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:11:34 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Нормальные юзеры все равно сподобятся запустить приложение дважды например даблклик на кнопке таскбара могут и обе версии друг друга найти и выгрузиться в последней версии скрипта заложено сохранение времени последнего запуска и проверка - если таймаут меньше 5 сек то отмена загрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:37:35 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
>дважды например даблклик на кнопке таскбара не не получится одно успеет все равно раньше другое его найдет и завершится не устанавливая свой заголовок >могут и обе версии друг друга найти и выгрузиться Не не могут я же только после проверки заголовок устанавливаю на условный. баг может быть тока один приложение будет принимать за себя другое приложение если у него окажется такой-же заголовок (случай с одноименной папкой) для этого надо чуток уникальности добавить в строку например кавычек или имя юзера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:44:17 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 Latuk Два приложения запустятся (с небольшим интервалом) Заголовок у обоих еще не выставлен (т.к. проверка еще не прошла) Ни одно из них не найдет другого (т.к. заголовок еще не выставлен) Спокойно запустятся и дружно (с небольшим интервалом) выставят заголовок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:48:40 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
>Два приложения запустятся (с небольшим интервалом) Я пробовал запускать из bat файла подряд это гораздо меньший промежуток чем может сделать юзер одно успевало установить заголовок раньше чем другое начинало искать. хотя метод конечно не лишен недостатков. просто нашел ,скопировал ,проверил - работает и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:54:44 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Неправильная версия должна посылать юзера нах и отказатьсяя работать. в базе должно быть прописано, какя мнммальная версия требуется дла работы. верию приложения можно хранить в application.CurrentProject.Properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:56:36 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Я пробовал запускать из bat файла подряд это гораздо меньший промежуток чем может сделать юзер хороший юзер может сделать то, что никакому bat'у и не снилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 16:59:52 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
А кто мешает использовать Windows API CreateMutex и не устаивать разборки с классическими "гонками" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 17:31:10 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
АлексейКкопировать поверх не дает - проверено пишет нет доступа у ADP нет LDB файла У меня дает и не спрашивает... Только потому 1-2 юзера (у тех, у кого он был в это время открыт) при следующем запуске кричат, что файл разрушен и не открывается. Я им вручную повторно копирую и ... все довольны. Хотя, конечно, я не прав... Но, блин, лень как Алексею искать пути-выходы. А м.б. это пока "петух жареный" не клюнул... И хай не клюется эта птица!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 17:44:24 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Виталпри следующем запуске кричат, что файл разрушен и не открывается. кстати видел такой фокус на развалюшке c w98 которая не SR2 перестваили винду все стало работать Alexey Sh А кто мешает использовать Windows API CreateMutex и не устаивать разборки с классическими "гонками" ? видимо это единственный "правильный" способ. тока надо надо стандартный и красивый код написать чтоб можно его было быстренько вставить в автоекзек всех проектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 17:54:40 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Применительно конкретно к АДП я бы задействовал автоматизацию и не стеснялся этого( если бы у меня дошли руки до такого скрипта) (Кажется) единственное ограничение по использованию - акцесс должен быть установлен в месте запуска. Код: (wsh 5.6) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 20:30:40 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
конечно, Dim objApp As Access.Application читать как Dim objApp (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 20:31:57 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 Victosha первый вариант который я пробовал был именно такой правда был exe на VB написан недостатки: 1 запуск аксесса - гораздо дольше проверки файла 2 если файл закрыт на момент проверки то после завершения скрипта аксесс закрывается так как объект создан из разрушаемого. кстати в моем скрипте есть проверка на предмет установленности нужной версии аксесса (спасибо Хаммеру) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 09:48:43 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
АлексейК2 Victosha первый вариант который я пробовал был именно такой правда был exe на VB написан недостатки: 1 запуск аксесса - гораздо дольше проверки файла Я не смотрел внимательно зачем такой скрипт нужен. Кажется, что это не критично для скрипта, цель которого - сравнить локальную и удаленную версию и скопировать удаленную на локальный диск. Ну подними на старте собственный акцесс ( один ил идва глобальных на скрипт) и пользуй его. На последнем шаге просто сделай его видимым. Возможная проблема - пользователь скучает. Так добавь скрипту визуальности. Помести скрипт в hta и пусть он будет пускачем. А пока оно шеволится юзеру шары покатать на экране :)) АлексейК 2 если файл закрыт на момент проверки то после завершения скрипта аксесс закрывается так как объект создан из разрушаемого. <...> ((; В этой фразе я не понял слов. Если можно, поясни как это понимать надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 10:02:14 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
- при незагруженности приложения скрипт обновляет файл и запускает приложение - если приложение просто свернуто то максимизирует его если объект создавать в скрипте то по завершению скрипта закроется и аксесс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 10:50:54 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
[quot АлексейК <...> если объект создавать в скрипте то по завершению скрипта закроется и аксесс[/quot] Видно я сегодня не выспался. Ну не понимаю я этого и всё тут. Куда он закроется и зачем. Конечно, допускаю, что я опять всего не помню, чего не знаю, но не до такой же степени... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:00:35 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 АлексейК После выполнения скрипта или любого кода создающего объект (Аксес) этот объект не закроется, если он не будет закрыт в коде или в скрипте. Отсюда у многих возникает проблема - как закрыть Ексель... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:03:31 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Точно также как закрывается форма когда уничтожается последняя ссылка на нее. Вероятно тут поможет передать порожденному объекту ссылку на самого себя для сохранения (этот способ я иногда применяю для экземпляра формы чтобы он мог сам себя держать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:07:40 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
PS У меня на некоторых машинах не закрывается если разорвать связь Set objApp = Nothing но на некоторых все равно закрывается т.е. есть связь между порождаемым и порадившим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:11:48 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
все зависит видимо от конкретной ситуации - среды программирования по крайней мере лично проверял : из Vb приложения созданный объект аксесс выгружается если в ASP - VBscript создать объект MSWORD после окончания скрипта и даже окончания таймаута сессии ворд живет. опять же ситуация с незакрытыми рекордсетами - объекта нет а память сожрана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:14:40 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
понял (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:22:23 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
ну, тогда варианты такие могут быть 1) помутить с пустым файлом-флагом. Удаляемым при пуске скрипта и создаваемым при завершении. 2) твой вариант пуска совместить с тем, что "было раньше". Окрывать проект пустышку через Run, получать на него ссылку через GetObject, далее манипулировать Application Должно сработать Вот про GetObject: You can use the GetObject() function to activate or open an instance of Microsoft Access and a specific database with the following syntax: Dim objAccess as Object Set objAccess = GetObject("C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb") Note that the objAccess variable can refer to different instances of Microsoft Access depending on the following conditions when the code is run: If the specified database (Northwind.mdb) is already open in an instance of Microsoft Access, then objAccess refers to the open instance. If the specified database is open in multiple instances of Microsoft Access, then objAccess refers to one of those instances at random. If Microsoft Access is not running when the code is run, then a new instance is opened and objAccess refers to that new instance. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:32:46 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Почему VBS, а не контроль обновления в самом ADP (MDB)? Типа нужно обновится запускаем мдб обновлялку и выходим из проекто чтобы файл можно было заменить. Обновлялка с помощью мьюткса или еще как правильнее ждет (непомню функцию ) когда файл освободится, обновляет его и запускает заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:28:00 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 NA минусы: если делать в аксессе то проверка новой версии будет выполняться после того как приложение загружено а это порядка нескольких секунд потери. плюсы: это может быть лучше тем что можно реализовать контроль необходимости обновления не только на перезагрузке но и в реальном времени.(так латук делает насколько я знаю) правда требует постоянно висящей формы с таймером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 15:56:20 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Чего-то я не пойму, зачем так долго обсуждать (и главное делать разнообразные реализации) такой вещи как обновление клиентской части. Кто-нибудь может объяснить для чего так усложнять простую задачу? Двух иконок на столе (запустить и обновить) разыве не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:09:04 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
сейчас уже все работает. и скажу труды были не впустую. когда юзеров было 2 можно было придти и перезагрузить и переписать обновления вручную когда их стало 5 и обновлений стало по нескольку в день то можно было обойтись и парой ярлычков. но когда их перевалило за полтинник и обновления идут чредой то проще написать один раз код , пусть и продвинутый чем 150 раз объяснить каждому что у него нужно нажать эту кнопку а потом только эту и что у него что - то не работает потому что надо обновить. теперь к этому подключаются и филиалы, приходится оптимизировать по траффику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:25:54 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 АлексейК : А что, в филиале нет центализованной рабочей версии, при чём тут трафик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:45:12 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
В общих чертах ясно. Обновления клиента по нескольку раз в день не есть хорошо. Это может означать только то, что проект только внедряется. Либо очень уж динамическую предметную область. У меня раньше тоже были обновления по нескольку раз в день (причем обновления в основном из-за устранения глюков, вызванных устранением других глюков ). Теперь юзеры подают заявки (в формализованном виде). Клиентская часть локально неспеша дорабатывается. Обновление выходит не чаще раза в неделю. При таком подходе два ярлыка - более чем достаточно (более 30 филиалов, более 200 рабочих мест). Для филиалов обновление на ftp. Много раз имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:51:35 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
У меня инициация обновления как раз из самого ADP и происходит 1)ПриложениеADE 2)проверка версии (при загрузке и по таймеру из скрытой формы сейчас хочу от таймера избавится в пользу WinSock) 3)Если есть новая версия то закрузка обновляльщика и запуск его и самому завершится 4)обновляльщик содержит в себе сценарий обновления (может быть несколько файлов и пр.) ждет пока осеовное плиложение завершится и перезаписывает его 5)обновляльщик закачивает новый проект запускает его и завершается PS файлы обновляльщика и основного проекта находятся в базе и закачиваются ADODB.Stream.SaveToFile что гораздо быстрее чем копировать файловой системой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:58:21 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
С другой стороны, чем меньше юзеры знают обо всей этой ботве, тем лучше. А если приложение умеет доставать себя из болота за волосы, то это хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:58:43 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
Alexey ShА что, в филиале нет центализованной рабочей версии, при чём тут трафик? пока филиалы решили появиться как юзеры. наверное будет централизованная версия. incold мда, батенька, 30 филиалов и 200 юзеров не шутки... надо мне устроиться к вам по обмену опытом а приложение действительно в стадии активной разработки, устранении глюков и глюков вызванных устранением глюков Еще хочется процедурку обработки критических ошибок чтобы юзеру ничего не писало а складывало исходные данные повлекшие ошибку и результат в табличку на сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:59:04 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
>Теперь юзеры подают заявки (в формализованном виде). >Клиентская часть локально неспеша дорабатывается. >Обновление выходит не чаще раза в неделю. Могу подсказать следующую стадию DBA не имеет доступа к рабочей базе DBA не учавствует в сапорте Разработка ведется на специально выделенном сервере разработки после тестирования готовятся скрипты по обновлению серверной и клиентской части после тестирования скриптов они выдаются DBO для обновления серверной части и доменному админу для включения в плагон, а сапорттер следит как усе прошло. Причем DBA,DBO,GUI_O,Сапортер,Домен админ и Тестер это разные люди и ни один из них не отрывает в процессе ж от стула PS жаль тока жить в эту пору прекрасную ... а тут админа даже сервис паки накатить не уговориш вот и приходится все самому из кода делать (в этом плане мне очень полезен бывает промежуточный проект обновляльщик в котором можно не только файл скопировать но и др. черные дела поделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:08:21 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 Латук мечтать не вредно... может так ближе к реальности? : один программер, он же саппорт, он же дба, тестер, и аналитик десятки баз, десятки клиентских приложений, десятки юзеров от начальства прет корректировка методологии учета как из рога изобилия - только успеваешь строить структуры обеспечивающие приемственность существующих данных юзеры непрерывно и бесплатно делятся идеями о том что еще не учтено и что очень нужно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:19:35 |
|
||
|
Проверить что файл ADP открыт аксессом
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Ух, батенька, как всё запущено:) А вот у нас ближе к латуковскому варианту, хотя сейчас вот 2 субд совмещать будем по полной... Зато при совмещениии огромный опыт приобретаешь, равно как и при разработке больших и распределённых приложений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:29:45 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1671245]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
7ms |
get forum data: |
17ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 357ms |

| 0 / 0 |
