我有数据库表需要使用表单进行更新。 但是,表格中的所有字段都不必强制填写。 我正在写下面的VB代码插入然而,我得到一个错误,说明在语句中有语法错误。据我所知,这是因为变量中的空值。我知道我需要为所有的空值使用DBNull.Value。 这里的事情是有太多的字段来检查值是否为空。 任何机构都建议是否有办法对输入值为空的值进行批量检查?如何在插入查询中忽略访问中的空值
VBCode:
Dim StrSQL As String
Dim StrSQL1 As String
Dim tktID As Variant
Dim Assi As Variant
Dim reopened As Variant
Dim valid As Variant
Dim Reopenreason As Variant
Dim ReassignmentAG As Variant
Dim RBSCollab As Variant
Dim SMEconf As Variant
Dim Cloabag As Variant
Dim smeName As Variant
Dim Updat As Variant
Dim Closed As Variant
Dim iss As Variant
Dim ana As Variant
Dim res As Variant
Dim rVariant As Variant
' Assigining values
tktID = Ticket_number.Value
reopened = Ticket_Reopened.Value
valid = Valid_Reopen.Value
Assi = Assiginee.Value
Reopenreason = Reopen_reason.Value
ReassignmentAG = Reassignment_AG.Value
RBSCollab = RBS_Collab.Value
SMEconf = CkBxSMEConfirmation.Value
Cloabag = Collabarated_AG.Value
smeName = SME_Name.Value
Updat = Update.Value
Closed = Issue_Closed.Value
iss = Issue.Value
ana = Analysis.Value
res = Resolution.Value
rdate = Resolve_date.Value
'Insert values into the tables
StrSQL = "INSERT INTO Updates (TicketID,Assiginee,ReassignmentAG,RBSCollab,CollabAG,SMEconfirmation,SMEName,Update,IssueClosed,Issue,Analysis,Resolution,ResolveDate,TicketReopened,ValidReopen,ReopenReason) VALUES ('" & tktID & "','" & Assi & "','" & ReassignmentAG & "','" & RBSCollab & "','" & Cloabag & "','" & SMEconf & "','" & smeName & "','" & Updat & "','" & Closed & "','" & iss & "','" & ana & "','" & res & "','" & rdate & "','" & reopened & "','" & valid & "','" & Reopenreason & "') "
DoCmd.RunSQL StrSQL
在此先感谢您的帮助
最好学会使用参数来避免sql注入和格式化问题。 – LarsTech
我有很多字段,你可以。我不使用参数将有助于 – shravya
你误解了你会使用参数的原因。考虑一下'foo'的'Reopenreason'会发生什么) DROP TABLE更新; - '。 – Comintern