Game Maker - создание игр | HellRoom Games
Май 13, 2025, 10:18:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: MS Access + VBA Не работает сетевая версия(по локальной сети).  (Прочитано 20914 раз)
0 Пользователей и 1 Гость смотрят эту тему.
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« : Апрель 03, 2017, 12:22:28 »

Знаю-знаю, GML и все дела...но вдруг кто-то в теме?)
Проблема: при работе БД через локальную сеть, работа с сетевыми каталогами нарушается при открытии третьего подкаталога.

Записан
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #1 : Апрель 03, 2017, 20:02:53 »

P.s я давно не прогал в vb/vba/vb.net, вряд ли помогу на 100% Но все же...

Код:

If Dir(fname1, vbDirectory) = "" Then MkDir (fname1)


разве можно без end if?  может эта операция каждый такт процессора "шпарит" папку за папкой, я хз

Код:

Dir(fname1, vbDirectory)


Насколько понимаю это функция, что внутри нее?
Записан

S_Kleer
GM Pro user
*

Репутация: 567
Offline Offline

Награды:
За лояльность! [+500 репутации]3 место в Дичайшем джеме #82000 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #5, Контраст...
API: GameMaker Studio 2
Сообщений: 2734


« Ответ #2 : Апрель 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"?

А возможно я написал чушь.  Мда....
Записан

Коты - Мирители
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #3 : Апрель 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. Завтра попробую оба способа. :)
Записан
Goo
ну типа
GM Pro user
*

Репутация: 163
Offline Offline

Пол: Мужской
Награды:
3 место в HellRoom Jam XВторое место на HellRoom Jam #9 [Антибиотик]
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345



« Ответ #4 : Апрель 04, 2017, 00:10:20 »

Яш, кажется последняя папка с ид бланка не создется, после then ничего нет, или ты не дописал?

за корявый текст сори, с мобилы.
Записан

2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #5 : Апрель 04, 2017, 00:23:07 »

Goo, всё хорошо) С телефона бывают т9-ки))

Код, лишь как пример и да, там я просто не дописал в примере хд
Код полностью работоспособен. Больше года отпахал стабильно(и работает стабильно на онли пк). Вопрос лишь в том почему не работает с сетевыми каталогами =.= Если устанавливать АИС на другой пк(не сетевую версию), то опять же всё работает без ошибок.
P.S> 7 месяцев назад, количество строчек исполняемого кода в АИС Перевалило за 15к...так что, логично что это лишь фрагмент:з
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.073 секунд. Запросов: 28.