如何修复用VBA编写的'UPDATE'SQL查询?我想将'Name'字段更新为连接表单中的2个字段的值。我写了这段代码,但它没有用,有什么建议吗?
这是我的代码:
strSQL = "UPDATE dbo.Soferi_test SET Name = '" & Me![subform_soferi].Form!numele
& Me![subform_soferi].Form!prenumele & _
"',Cipti = '" & Me![subform_soferi].Form!certificat_cipti & _
"' WHERE IDNO = " & Me![subform_soferi].Form!IDNO
答案 0 :(得分:0)
以下是我认为你想要实现的基本概要。
当你对对象进行完全引用时,你的sql看起来很复杂,所以我更喜欢
我认为它使程序更具可读性。您可以从表单上的按钮调用以下内容:
'****Update a table based on the values on a subform****'
'Table name: dbo.Soferi_test
'Form Name: frmMain
'Subform Name: subform_soferi
Sub updateTable()
'Declare your variables which will be used in the sql string
Dim strSQL As String
Dim strNumele As String
Dim strPrenumele As String
Dim strCertificatCipti As String
Dim strIDNO As String
'Assign your variables to the form\subform objects
'You should also add some validation to check that the fields are not null
strNumele = Form_frmMain.subform_soferi!numele
strPrenumele = Form_frmMain.subform_soferi!prenumele
strCertificatCipti = Form_frmMain.subform_soferi!certificat_cipti
strIDNO = Form_frmMain.subform_soferi!IDNO
'Build your sql string
strSQL = "UPDATE dbo.Soferi_test SET Soferi_test.Name = '" & strNumele & strPrenumele & "', Cipti = '" & strCertificatCipti & "' WHERE (((Soferi_test.IDNO)='" & strIDNO & "'));"
'Execute the sql
CurrentDb.Execute strSQL
'You will want to put in some error handling here
End Sub