我无法在简单的SQL选择查询(包含链接到组合框值的2个连接表)中更新其表单上的记录。我确保每个字段的所有属性和表单本身都设置为编辑,但不幸的是,当我进入字段时,虽然它允许我输入,但我无法进行任何更改。是否可能是这种情况,因为记录来自查询?
以下是查询数据并将记录源映射到更新后触发的表单的例程。用于过滤记录的组合框上的事件。我要更新的数据表是' tblValueChain02
'并从string SQL_GET2
中提取并输入frmStaticDataDepartments06
形式。
Private Sub cboTeams_AfterUpdate()
Dim SQL_GET As String
Dim SQL_GET2 As String
SQL_GET = "SELECT * from tblValueChain01 where tblValueChain01.MacroProcess = '" & cboTeams & "'"
SQL_GET2 = "SELECT tblValueChain01.MacroProcess, tblValueChain02.AutoNumbering, tblValueChain02.MicroProcesso02, tblValueChain02.Notes, tblValueChain02.Remarks FROM tblValueChain02 INNER JOIN tblValueChain01 ON tblValueChain02.IDMacroProcesso01 = tblValueChain01.IDMacroProcesso WHERE (tblValueChain01.MacroProcess = '" & [cboTeams] & "')"
frmStaticDataDepartments04.Visible = True
frmStaticDataDepartments04.Requery
frmStaticDataDepartments05.Visible = True
frmStaticDataDepartments06.Visible = True
lblProduct.Visible = True
lblDepartment.Visible = True
lblTeam.Visible = True
Me.frmStaticDataDepartments05.Form.RecordSource = SQL_GET
Me.frmStaticDataDepartments06.Form.RecordSource = SQL_GET2
Me.frmStaticDataDepartments06.Requery
End Sub
答案 0 :(得分:1)
问题出在您的第二个查询中,您正在使用所谓的Cross join,并且这些查询不可更新。如果可能,您需要使用标准INNER JOIN
重新设计查询。
如果您发布更多信息,例如您的应用的屏幕截图以及这两个表的示例数据,那将有助于了解下一步该做什么。