Ms access MS Access子窗体-仅允许添加

Ms access MS Access子窗体-仅允许添加,ms-access,subforms,Ms Access,Subforms,我是MS Access的新手。我有两个问题: 我有一个主窗体,用户在其中输入车辆编号。在下面的子窗体中,将显示该车辆的保养记录。现在我想要的是,任何人都不能对以前的记录进行更改,只允许添加新记录。如果需要VB代码,应将其放置在主窗体还是子窗体中? 新记录的里程值应始终大于以前的值,符合逻辑,对吗?现在,我如何读取最后的里程值,以便将其与新值进行比较? 我会将子表单allowedits设置为no 然后在主窗体上有一个按钮启动另一个窗体,该窗体基于与子窗体相同的表 因此,用户可以单击此按钮,添加记录

我是MS Access的新手。我有两个问题:

我有一个主窗体,用户在其中输入车辆编号。在下面的子窗体中,将显示该车辆的保养记录。现在我想要的是,任何人都不能对以前的记录进行更改,只允许添加新记录。如果需要VB代码,应将其放置在主窗体还是子窗体中? 新记录的里程值应始终大于以前的值,符合逻辑,对吗?现在,我如何读取最后的里程值,以便将其与新值进行比较?
我会将子表单allowedits设置为no

然后在主窗体上有一个按钮启动另一个窗体,该窗体基于与子窗体相同的表

因此,用户可以单击此按钮,添加记录,然后当他们关闭记录时,您刷新子表单以取消对新记录的应用

换句话说,您非常清楚地指出子表单中现有的REOCRD仅用于显示,不允许进一步编辑或更改

因此,在主窗体上的按钮后面,可以有以下代码:

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更改为用于将子表链接回主窗体的列。子窗体会自动设置此值,但启动单独的窗体并不会

Thanx Albert,这很有帮助。伟大的