|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
В Акссесс и ВБА я откровенный новичок. Но пришлось автоматизировать то, что ранее делалось в Экселе, потому начал постольку поскольку изучать вопрос. Все было нормально, но воткнулся в проблемы. Неделю пытаюсь побороть самостоятельно, но чтото не справляюсь. Суть в том, что есть база данных, где ведется учет прихода товара Форма DISTRIB, затем, продаваясь, он разбрасывается по двум разным таблицам (часть в архив (форма SOLD), часть на склад (STOCK)). Все это я сделал, все работало. Далее понадобилось прикрутить авторизацию и чтоб было видно, кто именно из пользователей вносил изменения - для этого решил добавить в таблицы поле МЕМО, в которое предполагается вносить логин пользователя, дату текущую и может еще чтото, чтоб было видно, что именно он менял. Проблема появилась в самом начале. При нажатии кнопки Входа формы Auth_start (а именно с нее предполагается запускать работу с базой) мне нужно, чтоб значение поля Логин переносилось на открываемую стартовую форму Distrib. Пробовал и через переменную и напрямую - никак не получается. Ругается на Out of memory и все тут. Голову уже сломал и гугл уже устал от меня... прошу, подскажите, что я накриворучил в базе... )) База в 150 кб не вложилась, потому вот ссылка: http://dropmefiles.com/4Njxf ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 14:53 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
blade_snl, Честно говоря, не было времени разбираться, но т.к. ошибка странная, а в модулях нет Option Explicit, сначала попробуйте добавить эту опцию в начало каждого модуля и добиться, чтобы код компилировался, иначе искать можно будет долго. И обязательно включите Tools->Options->Require Variable Declaration, чтобы эта опция ставилась автоматически. Да, и не рекомендуется обращаться к контролам/переменным другой формы через название класса формы (Form_MyForm.form_control), надежнее работать будет с Forms("MyForm").form_control после явного открытия формы, такое обращение также может иногда привести к непредсказуемым результатам. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 15:39 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
сделал все как велено: добавил Option Explicit переписал код в вид: DoCmd.OpenForm "DISTRIB" log = Forms("Auth_start").login.Value MsgBox log Forms("DISTRIB").field_login.Value = log rs.MoveLast rs.MoveNext DoCmd.Close acForm, "Auth_start", acSaveYes ошибка изменилась - теперь: Run-time error '-2146500594 (800f000e)': Method 'Item' of object 'Forms' failed ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 15:57 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
кстати, с формой DISTRIB вообще чтото неладно стало... там есть пару полей (AMOUNT и BALANCE), которые ранее по событию получения фокуса или изменения в соотв ячейках, автоматом перемножали значения ячеек и результат подсталяли себе. Раньше все работало. Щас вылетает ошибка: "Возникла ошибка при установке связи в приложении "Microsoft Access" с сервером OLE или элементом управления ActiveX." до того, как я начал прикручивать к базе авторизацию этой проблемы не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 16:05 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
Форма битая. Создайте копию DISTRIB, затем удалите оригинал и переименуйте копию. Только перед переименованием отключите в опциях текущей базы (Файл-Опции-Текущая база, или что-то в этом роде, нет под рукой русского интерфейса) Track Name Autocorrect info Рекомендуется не пользоваться этой опуией совсем ввиду глючности. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 16:19 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
"Автозамена имен" имеется ввиду? там есть след пункты: отслеживать автозамену имен выполнять автозамену имен журнал изменений автозамены имен первые два включены. все отключить? MrShinФорма битая. Создайте копию DISTRIB, затем удалите оригинал и переименуйте копию. Только перед переименованием отключите в опциях текущей базы (Файл-Опции-Текущая база, или что-то в этом роде, нет под рукой русского интерфейса) Track Name Autocorrect info Рекомендуется не пользоваться этой опуией совсем ввиду глючности. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 16:36 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
blade_snlРугается на Out of memory и все тут. СОЗДАЙТЕ НОВУЮ, ПУСТУЮ И ИМПОРТИРУЙТЕ ВСЕ ИЗ СТАРОЙ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 17:11 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
полностью новую БД создать? ПЕНСИОНЕРКАblade_snlРугается на Out of memory и все тут. СОЗДАЙТЕ НОВУЮ, ПУСТУЮ И ИМПОРТИРУЙТЕ ВСЕ ИЗ СТАРОЙ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 17:27 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
блин, спасибо всем! )) копия формы помогла. буду колбасить дальше. Если что - обращусь. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 17:31 |
|
никак не могу присвоить значение полю формы
|
|||
---|---|---|---|
#18+
blade_snlпервые два включены. все отключить? Достаточно первую, вторая сама выключится blade_snlполностью новую БД создать? Полностью новую создаем, если "точечная" починка не помогает, это радикальное средство починки. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2017, 06:24 |
|
|
start [/forum/topic.php?fid=45&fpage=84&tid=1612758]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 117ms |
0 / 0 |