Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: редактирование в форме но не в таблице
 
 автор: boston   (04.07.2008 в 13:51)   личное сообщение
 
 

можно ли сделать что бы редактирование проходило в форме... без записи в таблицу. а запись в таблицу происходила только после нажатия сохранить?

  Ответить  
 
 автор: osmor   (04.07.2008 в 15:30)   личное сообщение
 
 

создайте форму без источника данных и свободными полями, при нажатии кнопки сохраняйте данные в таблице запросом на изменение / добавление

  Ответить  
 
 автор: boston   (07.07.2008 в 11:18)   личное сообщение
 
 

>создайте форму без источника данных и свободными полями, при
>нажатии кнопки сохраняйте данные в таблице запросом на
>изменение / добавление
с таким вариантом...
смотри в вели допустим в поле "йцуке"2"йцук" что то типо такого
формируем запрос..будет ли он чувствителен к ковычкам ? (=

  Ответить  
 
 автор: Анатолий (Киев)   (04.07.2008 в 15:33)   личное сообщение
 
 

1. Обычная форма, в заголовке модуля переменная-флажок, очищаемая по Form_Current. При нажатии кнопки флажок -> True и Me.Refresh (или Me.Dirty=False). На Form_BeforeUpdate, если флажок=True - ничего не делаем (данные сохраняются), иначе Me.Undo 2 раза. Флажок сбрасываем в любом случае.
2. На форме создать свободные поля, соответствующие полям таблицы-источника формы, на
Form_Current заполняем их данными из таблицы, по кнопке возвращаем назад.
3. Использовать транзакции. Мне этот подход нравится больше всего, т.к. он и проще (для знающих предмет), и позволяет сохранить/откатить изменения нескольких записей.

  Ответить  
 
 автор: boston   (07.07.2008 в 07:24)   личное сообщение
 
 

слабават я в вба (=
можно поподробнее7? (=

  Ответить  
 
 автор: boston   (07.07.2008 в 07:50)   личное сообщение
 
 

>3. Использовать транзакции. Мне этот подход нравится больше
>всего, т.к. он и проще (для знающих предмет), и позволяет
>сохранить/откатить изменения нескольких записей.

эм? (=
то есть делать таблицу с хламом
и при нажатии кнопки делать "insert into....." запрос такого рода или как ? (=

  Ответить  
 
 автор: Анатолий (Киев)   (07.07.2008 в 10:57)   личное сообщение
 
 

>эм? (=
>то есть делать таблицу с хламом
>и при нажатии кнопки делать "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, чувствуете разницу?

  Ответить  
 
 автор: boston   (07.07.2008 в 11:15)   личное сообщение
 
 

>>Private Sub Form_AfterUpdate()
>>Me.Dirty = False
>>End Sub
>Событие Form_AfterUpdate происходит, когда запись УЖЕ
>СОХРАНЕНА! Что вы хотите отменить? Я писал про
>Form_BeforeUpdate, чувствуете разницу?

да чувствую! сделал так
сначала выскакивает окошко с ошибкой..
которое описал... жирным шрифтом...
потом окошечко "в данный момент сохранение обьекта не возможно"

  Ответить  
 
 автор: boston   (07.07.2008 в 08:45)   личное сообщение
 
 


Private Sub Form_AfterUpdate()
Me.Dirty = False

End Sub


вот после этого редактируется в самой форме но в таблицу не заноситься
при закрытии вывалеваеться...
Выражение После обновления, введеное в поле свойство события, вызывает ошибку: invalid outside procedure
сейчас глянул если тру ставить аналогичная ситуация =)
так дерти присвивать значения не правильно... да на скока я понял?
потому что оно получает значения после изменения так?
___________________
теперь сделать кнопку принажатии которой... значение переменной делалось на true и форма зыкрывалась? так? а переменная по дефолту имеет false так?
и в коде сделать

Private Sub Form_AfterUpdate()
Me.Dirty = переменная

End Sub

  Ответить  
 
 автор: boston   (08.07.2008 в 11:30)   личное сообщение
 
 

>1. Обычная форма, в заголовке модуля переменная-флажок,
>очищаемая по Form_Current. При нажатии кнопки флажок ->
>True и Me.Refresh (или Me.Dirty=False). На
>Form_BeforeUpdate, если флажок=True - ничего не делаем
>(данные сохраняются), иначе Me.Undo 2 раза. Флажок
>сбрасываем в любом случае.


как очищать переменую?
переменная-флажок это булин как я понял?
обьявлять переменную в форму курент в самом начале формы?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList