|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
Здравствуйте! У меня вопрос. Разложу по полочкам. Есть форма "Main_form" ( Pic01 ) с выпадающим списком значений "ПолеСоСписком10" . Эти значения можно добавлять в форме "Frukti" ( Pic02 ). Нажимая на кнопу "изменить элементы списка" у поля "ПолеСоСписком10" или же по запросу( Pic03 ), когда вводимый элемент отсутствует в списке, у меня появляется форма "Frukti" для добавления новых записей в список. И все бы хорошо, только я хочу, чтобы форма "Frukti" открывалась сразу на новую запись в этих двух случаях!!! когда нужно добавить или изменить запись. Нужен VBA.... P.S. Формочка сделана на скорую руку, для примера, на рабочей форме все сложнее, там по двойному клику по полю открывается форма именно с тем значением, которое введено в соответствующую запись основной формы. Потому я хочу добавить в VBA код, который позволил бы только при изменении и добавлении записей открывать форму и переходить сразу на новую запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 21:05 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, Насколько удалось протелепатить-обработайте событие ОтсутствиеВсписке (Вы не знаете как приложить файл?) при вводе с клавиатуры значения,которого нет в списке и нажатии "ентер"-оно остается в полеСоСписком и создается новая запись в таблице,являющейся источником списка Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 21:56 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
вдогонку-естесстно оно добавляется в список все это происходит не только после нажатия "ентер", а вообще при обновлении поля любым способом ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 22:01 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Прощу прощения, что-то я туплю... Прикрепляю сам файл... Спасибо за код, но это не совсем то, что мне нужно. В рабочем файле Access, в формочке, которая вылетает - там полей 15, которые нужно заполнить. Плюс имеет 3 подчиненные формочки:)) А поле со списком в основной форме показывает значение состоящее из трех полей, которые я соединил конкатенацией. Поэтому, нужно, чтобы открывалась форма и создавалась новая запись! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 22:14 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 23:30 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Очень круто, даже через чур! Оставлю файлик себе. Но давай упростим все же, пусть просто открывается окно с новой записью(т.е. тупо с пустыми полями). Нажал на кнопочку "изменить элементы списка" и открывается окно "с новой записью" и пустыми полями. После заполнения всех полей, в основной форме пользователь сам выбирает нужное значение. Понимаешь, все что пишу это обязательно должно быть именно так.... У меня очень сложная форма:( ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 23:39 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Даже окно с вопросом "добавить новый элемент" не нужно! Хочу, чтобы было все максимально просто! Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 23:44 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Вот мой код: Код: vbnet 1. 2. 3. 4. 5. 6.
Соответственно, щелкая по полю, вылетает окно с нужной записью. Если нужно добавить в список еще записи, щелкаю на кнопку "изменить элементы списка", вылетает окно и встает на первую запись, а мне нужно, чтобы он создавал новую запись! Теперь, вроде, понятно написал:) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 09:28 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, внимательно ознакомься с параметрами процедуры, особенно обрати внимание на выделенное. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 10:05 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555... Если нужно добавить в список еще записи, щелкаю на кнопку "изменить элементы списка"....а что Вам мешает обработать это нажатие: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 10:31 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
и не забывайте "изменитьЭлементСписка" это одно, а "добавитьЭлемент" это другое + в любом случае обновить список ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 10:38 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdkuа что Вам мешает обработать это нажатие: Код: vbnet 1.
А как это нажатие или добавление называется? Просто событие: Private Sub ПолеСоСписком10_ NotInList не прокатит! Нужно именно когда нажимаю на кнопку "изменить элементы списка" , или же если элемент отсутствует в списке! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 10:38 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, это событие кнопки Click() ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 11:18 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdkueric555, это событие кнопки Click() Не катит! У меня поле с выпадающим списком. Посмотрите приложенный файлик в сообщении: 15870704 Click() вообще не то! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 11:24 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555Соответственно, щелкая по полю, вылетает окно с нужной записью.Это происходит при открытой на существующей записи главной форме eric555Если нужно добавить в список еще записи, щелкаю на кнопку "изменить элементы списка", вылетает окно и встает на первую запись, а мне нужно, чтобы он создавал новую запись! Теперь, вроде, понятно написал:)добавили новый элемент списка и юзер изменил этим значением поле связи в главной форме,которая висит открытая на существующей записи-капец всем данным-я считаю что изменение этого поля в существующих записях должно быть невозможно (доступ к этому полю разрешать только в новых записях-при изменении списка главная форма должна быть на новой записи )eric555.... Понимаешь, все что пишу это обязательно должно быть именно так.... У меня очень сложная форма:(Да хоть мегасложная(если так-вызывает сомнения структура). Понимаешь, твоя задача сделать так что бы юзер при всем желании не смог испохабить данные-при том как ты пытаешься решить задачу это возможно, разве что запретить изменения (AllowEdits=false)или доступ к полю в существующих записях (if not me.newRecord then me.полеСоСписком.enabled=false). Хотелось бы глянуть на твою БД (а не пример) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 12:12 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Мне кажется, что я Вас запутал! Нужно вместо события Click() задать событие "изменение элементов списка" т.е. чтобы аксес запускал форму для добавления элементов списка и перемещался сразу на новую запись(все поля были не заполненными). После заполнения всех полей в вылетающей форме, закрываем форму и в списке выбираем новый элемент. Этот новый элемент - одно поле (ID) вылетающей формы. Вот мой код, только он с Click() . Код: vbnet 1. 2. 3.
А по умолчанию выходит так, я нажимаю на "изменение элементов списка", вылетает форма изменения элементов списка, я нажимаю "новая запись", добавляю данные, закрываю вылетающую форму и выбираю новый элемент в основной форме. Все бы хорошо, только бесит все время нажимать "новая запись"!!! P.S. Мою БД не могу выложить, она не на домашнем компе и весит больше 1,5 Мб:( Я потому выложил тестовую версию, но в ней в точности все как на рабочей! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 13:03 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555А по умолчанию выходит так, я нажимаю на "изменение элементов списка", вылетает форма изменения элементов списка, я нажимаю "новая запись", Вам же говорил Панург о пятом аргументе метода Код: vbnet 1.
и форма откроется на новой записи(с пустыми полями-а зачем её открывать на существующей записи-непонятно) Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 13:33 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555Нужно вместо события Click() задать событие "изменение элементов списка" т.е. чтобы аксес запускал форму для добавления элементов списка и перемещался сразу на новую запись(все поля были не заполненными). Нет такого события-есть событие изменение_элементов_списка_Click (нажатие кнопки "изменение элементов списка") Так: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 14:13 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Ну вот Вы, кажется, меня поняли))) У меня сейчас так: Код: vbnet 1. 2. 3.
Не помогает:( Жму на кнопку "изменение элементов списка" , вылетает форма на первой записи:( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 19:48 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku и форма откроется на новой записи(с пустыми полями-а зачем её открывать на существующей записи-непонятно) Код: vbnet 1.
На существующей записи открывается по даблклик! Почему не понятно? По-моему, очень даже логично: нажал два раза по существующей записи, открылась формочка с соответствующей записью (можно отредактировать). Нажал на изменение элементов списка, открылась формочка и перескочила на новую запись для добавления. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 19:58 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, ну раз она открывается по даблклик на поле-значит где-то указано чтоб это происходило, может открытие на первой записи формы для добавления с этим как-то связано-не видя модуль формы ничего сказать нельзя-ищите. Машинная программа выполняет то, что вы ей приказали делать, а не то, что бы вы хотели, чтобы она делала. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 20:07 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Да, Вы правы, проще показать. Я убрал все лишнее. Запустите мейн форм и попробуйте в "поле со списком" щелкнуть "изменение элементов списка" - откроется форма с самой первой записью! Не путайте с дабл-клик, по нему у меня открывается именно та запись, которая выбрана. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 20:17 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, в том что Вы дали кнопки вообще нет-это не важно разберитесь с тем что написано на форме. Ваше поле лучше удалить (а может и всю форму переделать) и сделать заново. Акс создал системную таблицу которой быть не должно (f_3C9D030BEFB141AD8BFCD832ED08B67D_Data) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 22:27 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
sdku, Скорее всего у Вас акс 2003... в новом 2010 аксе под списком появляется кнопка "изменить элементы списка" (см. приложенный файл). Если на нее нажать, вылетает форма Frukti. Но даже если кнопка у вас эта не появляется, то все равно внося в поле значение, которого нет в таблице Фрукты, появляется окно, что типа "указанный элемент отсутствует в списке, добавить?" Нажимаешь на да и так же вылетает эта долбанная форма, но только на первую запись... а мне нужно на новую.... блин,... я уже готов сдаться, видимо, это не реализовать. Кнопку рисовать не получится, она не нужна!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2014, 22:38 |
|
Переход к новой записи в форме Access с условием...
|
|||
---|---|---|---|
#18+
eric555, я же Вам писал что пока Вы не пересоздадите полеСоСписком(правильно-первым в SELECT ключевое поле,а не отображаемое, количество столбцов-2, их ширина 0;3 см,а можно мастером )это займет минут 5,а иначе сдавайтесь-коль готовы А Вы смотрели,то что я выложил-там все работает, только с новым полем. Кнопку пришлось добавлять а в 2010 она добавляется сама-ШАЙТАН ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2014, 12:35 |
|
|
start [/forum/topic.php?fid=45&msg=38613111&tid=1612861]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 178ms |
0 / 0 |