修改源自连接查询的记录
Modifying records sourced in a joined query
我无法在简单的 SQL select 查询(包含 2 个连接的 table 链接到组合框值)中更新作为记录源的表单上的记录。我已确保每个字段的所有属性和表单本身都设置为可编辑,但不幸的是,当我进入这些字段时,尽管它允许我输入,但我无法进行任何更改。是否可能是因为记录来自查询?
下面是查询数据并将记录源映射到由用于过滤记录的组合框上的 'after update' 事件触发的表单的例程。我尝试更新的数据 table 是“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
问题出在您的第二个查询中,您使用的是所谓的 Cross join,并且这些查询不可更新。如果可能,您将需要使用标准 INNER JOIN
重新设计查询。
如果您post了解更多信息,例如您的应用的屏幕截图和这两个表的示例数据,这将有助于了解下一步该怎么做。
我无法在简单的 SQL select 查询(包含 2 个连接的 table 链接到组合框值)中更新作为记录源的表单上的记录。我已确保每个字段的所有属性和表单本身都设置为可编辑,但不幸的是,当我进入这些字段时,尽管它允许我输入,但我无法进行任何更改。是否可能是因为记录来自查询?
下面是查询数据并将记录源映射到由用于过滤记录的组合框上的 'after update' 事件触发的表单的例程。我尝试更新的数据 table 是“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
问题出在您的第二个查询中,您使用的是所谓的 Cross join,并且这些查询不可更新。如果可能,您将需要使用标准 INNER JOIN
重新设计查询。
如果您post了解更多信息,例如您的应用的屏幕截图和这两个表的示例数据,这将有助于了解下一步该怎么做。