MS Access Subforms - Разрешить только дополнения - PullRequest
0 голосов
/ 29 июня 2018

Я новичок в MS Access. У меня две проблемы:

  1. У меня есть основная форма, где пользователь вводит номер транспортного средства. В приведенной ниже подчиненной форме отображаются записи технического обслуживания этого транспортного средства. Теперь я хочу, чтобы никто не мог вносить изменения в предыдущие записи и разрешать только добавления новой записи. Если требуется код VB, где он должен быть размещен, в основной или подчиненной форме ?
  2. Значение пробега новой записи всегда должно быть больше предыдущего значения, логично, верно? Теперь, как мне прочитать последнее значение пробега, чтобы сравнить его с новым значением ?

1 Ответ

0 голосов
/ 01 июля 2018

Я бы установил под-форму, позволяющую редактировать = нет.

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

Таким образом, пользователь может нажать на эту кнопку, добавить запись, а затем, когда он закроет запись, вы обновите форму, чтобы отключить эту новую запись.

Другими словами, вы довольно много утверждаете, что существующие reocrds в под-форме предназначены ТОЛЬКО для отображения, а не для дальнейшего редактирования или изменения.

Таким образом, за кнопкой (вы помещаете ее в основную форму), вы можете иметь этот код:

Dim f        As String
If Me.Dirty = True Then Me.Dirty = False ' force data save

f = "frmFoodAdd"

DoCmd.OpenForm f, , , , acFormAdd
Forms(f)!tblHotels_ID = me.id
DoCmd.OpenForm f, , , , , acDialog       ' change form to "wait" for user
Me.MySubForm.Requery

Конечно выше, вы меняете f = "созданную вами форму, чтобы добавить одну строку"

tblHotels_ID = me.id

Вверху измените tblHotels_ID на столбец, используемый для привязки дочерней таблицы к основной форме. Субформы «устанавливают» это значение автоматически, но запуск отдельной формы НЕ ДАЕТ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...