Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.02.2020, 09:09
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Имеется ленточная форма frm1,не подчиненная,ее рекордсоурс -запрос SELECT. На этой frm1 в области примечания расположена кнопка ДОБАВИТЬ (butAdd) и кнопка СОХРАНИТЬ (butSave). На ней же расположено поле combo1,combo2,combo3... У поля como1 источник записей запрос SELECT,у como2 и como3, списки значений. Для того,чтобы сохранить текущую запись я использую глобальную переменную GLOBVAR. До нажатия кнопки butSave переменная GLOBVAR=0, после нажатии кнопки butSave переменная GLOBVAR=1,это для того,чтобы потом выполнить код: Private Sub Form_BeforeUpdate(Cancel As Integer) If (GLOBVAR = 0) Then Me.Undo End If End Sub Таким образом,при переходе на другую запись формы frm1 у меня сбрасываются несохраненные изменения старой записи. Блин,но есть одно НО(в 2-х вариантах).... 1) Когда я добавляю новую запись кнопкой butAdd,а потом выбираю значение combo1 и перехожу на поле combo2 (НАХОДЯСЬ НА ЭТОЙ ЖЕ ЗАПИСИ!), у меня сбрасывается выбранное ранее значение combo1,т.е. срабатывает событие Form_BeforeUpdate. 2) Когда я добавляю новую запись кнопкой butAdd,а потом выбираю значение combo2 и перехожу на поле combo1 (НАХОДЯСЬ НА ЭТОЙ ЖЕ ЗАПИСИ!), у меня НЕ сбрасывается выбранное ранее значение combo2,т.е. событие Form_BeforeUpdate не срабатывает. Хотелось бы,чтобы в первом варианте обнуление combo1 не происходило. Т.е. чтобы Me.Undo срабатывало только если (не нажата кнопка butSave AND в случае перехода НА НОВУЮ ЗАПИСЬ). Или есть способ проще? Что-то подсказывает мне,что должно быть какое-то более простое "библиотечное" решение... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 14:37
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Меня объявлен бойкот? Я плохо себя вел??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 15:33
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty Меня объявлен бойкот? Я плохо себя вел??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 15:40
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
ИВП, 22087877 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 15:40
|
|||
---|---|---|---|
|
|||
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty, пока вы перемещаетесь по полям одной записи, событие Form_BeforeUpdate не должно происходить, если только на других событиях вы не инициировали сохранение (например Refresh или Me.Dirty = false). Что у вас на combo1_AfterUpdate? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 15:46
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Кривцов Анатолий drafty, пока вы перемещаетесь по полям одной записи, событие Form_BeforeUpdate не должно происходить, если только на других событиях вы не инициировали сохранение (например Refresh или Me.Dirty = false). Что у вас на combo1_AfterUpdate? Код: vbnet 1. 2. 3.
А на combo2 и combo3 изменение: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 16:20
|
|||
---|---|---|---|
|
|||
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty 1) Когда я добавляю новую запись кнопкой butAdd,а потом выбираю значение combo1 и перехожу на поле combo2 (НАХОДЯСЬ НА ЭТОЙ ЖЕ ЗАПИСИ!), у меня сбрасывается выбранное ранее значение combo1,т.е. срабатывает событие Form_BeforeUpdate. Мне не нравится ваша затея с кнопкой "СОХРАНИТЬ". Может проще на событии Form_BeforeUpdate запросить подтверждение и при отказе Cancel = True ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.02.2020, 19:46
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
А базу выложить? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 08:02
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Joss А базу выложить? Давно бы выложил,да там данные не для всеобщего обозрения... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 08:12
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Кривцов Анатолий drafty 1) Когда я добавляю новую запись кнопкой butAdd,а потом выбираю значение combo1 и перехожу на поле combo2 (НАХОДЯСЬ НА ЭТОЙ ЖЕ ЗАПИСИ!), у меня сбрасывается выбранное ранее значение combo1,т.е. срабатывает событие Form_BeforeUpdate. Мне не нравится ваша затея с кнопкой "СОХРАНИТЬ". Может проще на событии Form_BeforeUpdate запросить подтверждение и при отказе Cancel = True ? Да уверен(выяснил в режиме пошаговой трассировки через дебагер),поэтому и подчеркнул нюанс,что у поля como1 источник записей запрос SELECT,у como2 и como3, списки значений(думал может в этом что-то кроется)... Что касается того,что на событии Form_BeforeUpdate запросить подтверждение - разницы нет,т.к. необходимо сначала выяснить из-за чего после перехода в другое поле с поля combo1 (в пределах той же записи) происходит срабатывание события Form_BeforeUpdate ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 09:48
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty Давно бы выложил,да там данные не для всеобщего обозрения... За то время, что висит тема, можно целиком БД написать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 10:03
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Панург drafty Давно бы выложил,да там данные не для всеобщего обозрения... За то время, что висит тема, можно целиком БД написать... Дело в том,что форма с вкладками,их много,причем на одной вкладке редактируется один набор таблиц в другой-другой.Но например при создании контролов мне необходимо обращаться к тем таблицам,которые были скорректированы на другой вкладке.Все взаимосвязано таким образом,что не все так просто- если выслать только ту часть где кусок этоко кода - могут выскакивать ошибки. Поэтому и спрашиваю,может есть какой другой способ сохранения записи (или ее отмены) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 10:25
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty Дело в том,что форма с вкладками,их много,причем на одной вкладке редактируется один набор таблиц в другой-другой.Но например при создании контролов мне необходимо обращаться к тем таблицам,которые были скорректированы на другой вкладке.Все взаимосвязано ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 14:08
|
|||
---|---|---|---|
|
|||
Сохранение текущей записи на ленточной форме |
|||
#18+
draftyИмеется ленточная форма frm1,не подчиненная . ... Дело в том,что форма с вкладками ,их много,причем на одной вкладке редактируется один набор таблиц в другой-другой.Но например при создании контролов мне необходимо обращаться к тем таблицам,которые были скорректированы на другой вкладке.Все взаимосвязано таким образом,что не все так просто И это всё про ленточную форму? Кроме перехода на другую запись и явных команд на сохранение, это может происходить при переходе в подчиненную форму. Может у вас на ленточной форме и субформы есть на вкладках? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 16:32
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Кривцов Анатолий draftyИмеется ленточная форма frm1,не подчиненная . ... Дело в том,что форма с вкладками ,их много,причем на одной вкладке редактируется один набор таблиц в другой-другой.Но например при создании контролов мне необходимо обращаться к тем таблицам,которые были скорректированы на другой вкладке.Все взаимосвязано таким образом,что не все так просто Кроме перехода на другую запись и явных команд на сохранение, это может происходить при переходе в подчиненную форму. Может у вас на ленточной форме и субформы есть на вкладках? frm1 открывается отдельно от всех (по нажатию кнопки,которая расположена на ленточной форме являющейся подчиненной к основной простой форме,которая в свою очередь расположена на вкладке)... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 21:34
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Какая разница где она находится-обрабатывайте её нажатие,однако. ( зачем Вам глобальная переменная??) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.03.2020, 21:41
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 08:06
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
sdku Какая разница где она находится-обрабатывайте её нажатие,однако. ( зачем Вам глобальная переменная??) drafty .... 1) Когда я добавляю новую запись кнопкой butAdd,а потом выбираю значение combo1 и перехожу на поле combo2 (НАХОДЯСЬ НА ЭТОЙ ЖЕ ЗАПИСИ!), у меня сбрасывается выбранное ранее значение combo1,т.е. срабатывает событие Form_BeforeUpdate... Чтобы обрабатывать нажатие надо понять ПОЧЕМУ срабаытвает Form_BeforeUpdate ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 12:42
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty ....Чтобы обрабатывать нажатие надо понять ПОЧЕМУ срабаытвает Form_BeforeUpdate Для этого,как минимум,надо видеть Ваш код (присвоение значения переменной GLOBVAR-когда и как) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 08:12
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
sdku drafty ....Чтобы обрабатывать нажатие надо понять ПОЧЕМУ срабаытвает Form_BeforeUpdate Для этого,как минимум,надо видеть Ваш код (присвоение значения переменной GLOBVAR-когда и как) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 11:51
|
|||
---|---|---|---|
|
|||
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty, А на before_update что у вас навешено на форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 12:06
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty ...До нажатия кнопки butSave переменная GLOBVAR=0, после нажатии кнопки butSave переменная GLOBVAR=1... drafty Joss А базу выложить? Панург drafty Давно бы выложил,да там данные не для всеобщего обозрения... За то время, что висит тема, можно целиком БД написать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 15:20
|
|||
---|---|---|---|
|
|||
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty sdku пропущено... Для этого,как минимум,надо видеть Ваш код (присвоение значения переменной GLOBVAR-когда и как) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
И почему comb2_Change(), а не comb2_AfterUpdate()? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 16:49
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
Кривцов Анатолий drafty пропущено... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
И почему comb2_Change(), а не comb2_AfterUpdate()? 1)Да внутри процедуры Form_BeforeUpdate (очепятка) 2) Потому что при внесении какого-либо изменения нужно чтобы появлялась дополнительная опция например удалить или сохранить (такой как бы сервис)... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 19:04
|
|||
---|---|---|---|
Сохранение текущей записи на ленточной форме |
|||
#18+
drafty ...2) Потому что при внесении какого-либо изменения нужно чтобы появлялась дополнительная опция например удалить или сохранить (такой как бы сервис)... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1610199]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 308ms |
total: | 448ms |
0 / 0 |