|
|
|
| можно ли сделать что бы редактирование проходило в форме... без записи в таблицу. а запись в таблицу происходила только после нажатия сохранить? | |
|
| |
|
|
|
| создайте форму без источника данных и свободными полями, при нажатии кнопки сохраняйте данные в таблице запросом на изменение / добавление | |
|
| |
|
|
|
| >создайте форму без источника данных и свободными полями, при
>нажатии кнопки сохраняйте данные в таблице запросом на
>изменение / добавление
с таким вариантом...
смотри в вели допустим в поле "йцуке"2"йцук" что то типо такого
формируем запрос..будет ли он чувствителен к ковычкам ? (= | |
|
| |
|
|
|
| 1. Обычная форма, в заголовке модуля переменная-флажок, очищаемая по Form_Current. При нажатии кнопки флажок -> True и Me.Refresh (или Me.Dirty=False). На Form_BeforeUpdate, если флажок=True - ничего не делаем (данные сохраняются), иначе Me.Undo 2 раза. Флажок сбрасываем в любом случае.
2. На форме создать свободные поля, соответствующие полям таблицы-источника формы, на
Form_Current заполняем их данными из таблицы, по кнопке возвращаем назад.
3. Использовать транзакции. Мне этот подход нравится больше всего, т.к. он и проще (для знающих предмет), и позволяет сохранить/откатить изменения нескольких записей. | |
|
| |
|
|
|
| слабават я в вба (=
можно поподробнее7? (= | |
|
| |
|
|
|
| >3. Использовать транзакции. Мне этот подход нравится больше
>всего, т.к. он и проще (для знающих предмет), и позволяет
>сохранить/откатить изменения нескольких записей.
эм? (=
то есть делать таблицу с хламом
и при нажатии кнопки делать "insert into....." запрос такого рода или как ? (= | |
|
| |
|
|
|
| >эм? (=
>то есть делать таблицу с хламом
>и при нажатии кнопки делать "insert into....." запрос такого рода или как ? (=
На событии Form_Load создается другой WorkSpace, в нем открывается ваша БД, в ней создается Recordset, присваивается свойству Me.Recordset, а затем - BeginTrans. По кнорке "Сохранить" - CommitTrans, по кнопке "Отменить" и на Form_Unload - RollBack.
>Private Sub Form_AfterUpdate()
>Me.Dirty = False
>End Sub
Событие Form_AfterUpdate происходит, когда запись УЖЕ СОХРАНЕНА! Что вы хотите отменить? Я писал про Form_BeforeUpdate, чувствуете разницу? | |
|
| |
|
|
|
| >>Private Sub Form_AfterUpdate()
>>Me.Dirty = False
>>End Sub
>Событие Form_AfterUpdate происходит, когда запись УЖЕ
>СОХРАНЕНА! Что вы хотите отменить? Я писал про
>Form_BeforeUpdate, чувствуете разницу?
да чувствую! сделал так
сначала выскакивает окошко с ошибкой..
которое описал... жирным шрифтом...
потом окошечко "в данный момент сохранение обьекта не возможно" | |
|
| |
|
|
|
|
Private Sub Form_AfterUpdate()
Me.Dirty = False
End Sub
|
вот после этого редактируется в самой форме но в таблицу не заноситься
при закрытии вывалеваеться...
Выражение После обновления, введеное в поле свойство события, вызывает ошибку: invalid outside procedure
сейчас глянул если тру ставить аналогичная ситуация =)
так дерти присвивать значения не правильно... да на скока я понял?
потому что оно получает значения после изменения так?
___________________
теперь сделать кнопку принажатии которой... значение переменной делалось на true и форма зыкрывалась? так? а переменная по дефолту имеет false так?
и в коде сделать
Private Sub Form_AfterUpdate()
Me.Dirty = переменная
End Sub
|
| |
|
| |
|
|
|
| >1. Обычная форма, в заголовке модуля переменная-флажок,
>очищаемая по Form_Current. При нажатии кнопки флажок ->
>True и Me.Refresh (или Me.Dirty=False). На
>Form_BeforeUpdate, если флажок=True - ничего не делаем
>(данные сохраняются), иначе Me.Undo 2 раза. Флажок
>сбрасываем в любом случае.
как очищать переменую?
переменная-флажок это булин как я понял?
обьявлять переменную в форму курент в самом начале формы? | |
|
| |