Обновить данные в таблице. Как?

Жерех
Дата: 03.03.2008 23:48:53
В форме "Клиенты" вношу записи, затем при помощи кнопки, сворачиваю ее и открываю форму "Заказы", которая отбирает записи по фильтру [forms]![Клиенты]![КодКлиента].

Кнопке задана вот такая программа -
---------------------------------------
Private Sub ЗаказыКнопка_Click()
On Error GoTo Err_ЗаказыКнопка_Click
If IsNull(Me![КодКлиента]) Then
MsgBox "Введи сведения о клиенте перед вводом заказа."
Else
DoCmd.SelectObject acForm, "Клиенты", False
DoCmd.Save acForm, "Клиенты"
DoCmd.Minimize
DoCmd.OpenForm "Заказы", acNormal, "", "", , acNormal
DoCmd.GoToRecord acForm, "Заказы", acNewRec
DoCmd.GoToControl "КодПеревозчика"
End If

Exit_ЗаказыКнопка_Click:
Exit Sub

Err_ЗаказыКнопка_Click:
MsgBox Err.Description
Resume Exit_ЗаказыКнопка_Click

End Sub
-----------------------

Проблема в том, что после нажатия кнопки, не обновляются записи в таблице "клиенты".

Пожалуйста, подскажите дополнительную команду, чтобы при нажатии кнопки обновить таблицу "Клиенты"
Polev
Дата: 04.03.2008 00:03:51
DoCmd.SelectObject acForm, "Клиенты", False
DoCmd.Save acForm, "Клиенты"
Что ЭТО?
Попытка сохранить запись?

--------------------------------------
Мне срочно надо! © sql.ru
Жерех
Дата: 04.03.2008 00:07:05
Да, но вижу что неудачная )))
Жерех
Дата: 04.03.2008 01:19:12
Попробую спросить по другому: - Как обновить данные в таблице, не закрывая форму?
mds_world
Дата: 04.03.2008 07:18:18
По-видимому вы нажимаете кнопку вызова когда последняя редактируемая запись еще не сохранена в таблице. Самый простой, но не всегда самый удобный способ сохранения, это перейти на другую запись и редактируемая сохранится сама. Но можно и не скакать по записям, а перед вызовом формы, дать команду сохранения записи DoCmd.RunCommand acCmdSaveRecord
.
Дата: 04.03.2008 07:38:41
me.recordset.requery
в любое убобной время
Polev
Дата: 04.03.2008 10:00:29
mds_world
По-видимому вы нажимаете кнопку вызова когда последняя редактируемая запись еще не сохранена в таблице. Самый простой, но не всегда самый удобный способ сохранения, это перейти на другую запись и редактируемая сохранится сама. Но можно и не скакать по записям, а перед вызовом формы, дать команду сохранения записи DoCmd.RunCommand acCmdSaveRecord

А чего не
Me.Dirty = False
Вроде как любимый способ на sql.ru ©
Жерех
Дата: 04.03.2008 11:25:08
т.е., если добавлю
    Me.Dirty = False
в программу для кнопки:-
Private Sub ЗаказыКнопка_Click()
On Error GoTo Err_ЗаказыКнопка_Click
    If IsNull(Me![КодКлиента]) Then
        MsgBox "Введите сведения о клиенте перед заполнением заказа."
    Else
    Me.Dirty = False
    DoCmd.SelectObject acForm, "Клиенты", False
    DoCmd.Minimize
    DoCmd.OpenForm "Заказы", acNormal, "", "", , acNormal
    DoCmd.GoToRecord acForm, "Заказы", acNewRec
    DoCmd.GoToControl "КодПеревозчика"
    End If

Exit_ЗаказыКнопка_Click:
    Exit Sub

Err_ЗаказыКнопка_Click:
    MsgBox Err.Description
    Resume Exit_ЗаказыКнопка_Click
    
End Sub

то это будет правильно?
И имеет ли значение в моем случае, какой строкой от верха это записано?
mds_world
Дата: 04.03.2008 12:04:00
Жерех
т.е., если добавлю
Любой из перечисленных способов сыграет. Можно добавить и еще столько же.

Расположение не столь важно, лишь бы перед вызовом формы (в вашем случае).

И вообще, почему бы не попробовать?
Жерех
Дата: 05.03.2008 11:50:39
Конечно попробовал! Работает! Спасибо вам!
А спросил чтобы исключить возможные трудности, если бы поставил не на место.
Правила написания этих программ мне неизвестны - а вдруг есть какие либо ограничения?!
Как в написании предложений - после точки, не может быть запятой и т.д. )))