Название: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: 2009yasha2009 от Апрель 03, 2017, 12:22:28 Знаю-знаю, GML и все дела...но вдруг кто-то в теме?)
Проблема: при работе БД через локальную сеть, работа с сетевыми каталогами нарушается при открытии третьего подкаталога. Название: Re: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: Goo от Апрель 03, 2017, 20:02:53 P.s я давно не прогал в vb/vba/vb.net, вряд ли помогу на 100% Но все же...
Код: If Dir(fname1, vbDirectory) = "" Then MkDir (fname1) разве можно без end if? может эта операция каждый такт процессора "шпарит" папку за папкой, я хз Код: Dir(fname1, vbDirectory) Насколько понимаю это функция, что внутри нее? Название: Re: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: S_Kleer от Апрель 03, 2017, 21:00:01 Я, конечно, не знаком с VBA, Но первое что бросается в глаза это:
Цитировать fname1 = idличногодела & "\" If Dir(fname1, vbDirectory) = "" Then MkDir (fname1) ChDir fname1 fname1 = "PEDAGOG\" If Dir(fname1, vbDirectory) = "" Then MkDir (fname1) ChDir fname1 fname1 = IDбланка & "\" If Dir(fname1, vbDirectory) = "" Then Везде прописано без кавычек и слеш добавляется через & (насколько я понимаю), а "PEDAGOG\" заключен в кавычки со слешем. (не знаю, наверное это равносильная операция) А далее бросается в глаза это: Цитировать fname = m_st.st & idличногодела & "\PEDAGOG\" & IDбланка & "\polyaNach.txt" Тут перед PEDAGOG стоит слеш, хотя в idличногодела и так дописывается слеш в конце.Получается что-то в духе "C:\Users\Admin\Documents\DATA\ZNACHENIYA\\PED\34"? А возможно я написал чушь. :facepalm: Название: Re: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: 2009yasha2009 от Апрель 03, 2017, 22:28:54 Большое спасибо, что откликнулись^^
Goo, без End If можно, если условие единичное(одна строчка). Насколько понимаю это функция, что внутри нее?<<< Dir(fname1, vbDirectory) - команда vba возвращающая путь к папке. Если Dir(fname1, vbDirectory) = "" , то есть пустой путь, то значит, что этой папки не существует и в пути vbDirectory создаётся папка fname1. S_Kleer, слеш в конце добавляется, так как idличногодела и IDбланка это...будем считать что переменные которые содержат будущее имя папки. "\" -добавляется в конце, т.к. без этого переход по каталогу не будет успешен. Тут перед PEDAGOG стоит слеш, хотя в idличногодела и так дописывается слеш в конце.<<< Нет, не дописывается. В коде выше мы проверяем существуют ли папки. в строчке: fname = m_st.st & idличногодела & "\PEDAGOG\" & IDбланка & "\polyaNach.txt" мы уже работаем с переменной fname(а не fname1). И соответственно прописываем полный путь от начала до конца. idличногодела - лишь содержит некое имя, слеши ей ни к чему:з На кибере посоветовали дожидаться окончания перехода по папке через DoEvent. А так же переходить на FSO. Завтра попробую оба способа. :) Название: Re: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: Goo от Апрель 04, 2017, 00:10:20 Яш, кажется последняя папка с ид бланка не создется, после then ничего нет, или ты не дописал?
за корявый текст сори, с мобилы. Название: Re: MS Access + VBA Не работает сетевая версия(по локальной сети). Отправлено: 2009yasha2009 от Апрель 04, 2017, 00:23:07 Goo, всё хорошо) С телефона бывают т9-ки))
Код, лишь как пример и да, там я просто не дописал в примере хд Код полностью работоспособен. Больше года отпахал стабильно(и работает стабильно на онли пк). Вопрос лишь в том почему не работает с сетевыми каталогами =.= Если устанавливать АИС на другой пк(не сетевую версию), то опять же всё работает без ошибок. P.S> 7 месяцев назад, количество строчек исполняемого кода в АИС Перевалило за 15к...так что, логично что это лишь фрагмент:з |