我有两个可以由这个查询表示的表(我已经将此查询作为表单的 Recordsource):
SELECT tblrcmtask.id, tblrcmtask.rcmtask,tblrcmtaskoptions.id,
tblrcmtaskoptions.rcm_id,
tblrcmtaskoptions.rcmtaskoptions
FROM tblrcmtask
INNER JOIN tblrcmtaskoptions
ON tblrcmtask.id=tblrcmtaskoptions.rcm_id
我希望用户能够通过 access 2007 中的表单将新条目添加到这些表中。列tblrcmtask.id
和tblrcmtaskoptions.id
分别是表的主键tblrcmtask
和tblrcmtaskoptions
。我不明白如何在用户添加新条目时在两个表中创建新 ID。用户只能在表单中添加 tblrcmtaskoptions.rcmtaskoptions 和 tblrcmtask.rcmtask。此外,每个 tblrcmtask 表中都有多行 tblrcmtaskoptions 。ID。我希望用户能够在表 tblrcmtaskoptions 中为现有的 tblrcmtask.id 添加新行
我尝试对这两个使用下拉菜单,但是在将新 ID 创建为 ID + 1 的最大值时遇到了问题。
Dim MyRecords As DAO.Recordset
Dim Myfield As DAO.Fields
SQL = "SELECT Max(tblRCMTASK.ID) AS MaxOf_RCMTASKID FROM tblRCMTASK;"
Set MyRecords = dbTHIS.OpenRecordset(SQL)
Set Myfield = MyRecords.Fields
Me.txtRCMTASKID = Myfield("MaxOf_RCMTASKID") + 1
Me.txtRCMTASKID.DefaultValue = Myfield("MaxOf_RCMTASKID") + 1
MyRecords.Close
End If
Dim MyRecords1 As DAO.Recordset
Dim Myfield1 As DAO.Fields
SQL = "SELECT Max(tblRCMTASKOPTIONS.ID) AS MaxOf_RCMOPTIONSID FROM tblRCMTASK;"
Set MyRecords = dbTHIS.OpenRecordset(SQL)
Set Myfield1 = MyRecords1.Fields
Me.txtRCMOPTIONSID = Myfield1("MaxOf_RCMOPTIONSID") + 1
Me.txtRCMOPTIONSID.DefaultValue = Myfield("MaxOf_RCMOPTIONSID") + 1
MyRecords1.Close
我收到一条错误消息,提示您无法为该对象分配值并指向此行: Me.txtRCMTASKID = Myfield("MaxOf_RCMTASKID") + 1
我该怎么做呢?