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