繁体   English   中英

在Excel VBA SQL语句中引用用户窗体数据?

[英]Reference userform data in excel vba sql statements?

我正在尝试在excel 2010中的SQL查询中引用用户窗体数据。在将以下代码作为表单提交操作运行时,出现错误,指出SQL查询中未提供一个或多个参数。

Private Sub SubmitButton_Click()

    Dim Connection As ADODB.Connection
    Dim ConnectionString As String
    ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=I:\DB.xlsx; Extended Properties=""Excel 12.0 Xml; HDR=YES"";"

    Dim SQL As String

'Transfer information
SQL = "INSERT INTO [Tests$]" & _
"(PartNo, RootCause, CorrectiveAction, AssignedTo, Verification, Comments, DateOpened, DateClosed, " & _
"Status, Purpose, ProdDate, ShipDate, TestDate, SampleDate, CusName, Facility, Result, Wire, StartingDia, " & _
"WireType, IncomingDia, FailMode, RootCauseDetail)" & _
"VALUES" & _
"([Forms][frmTesting]![PartNo], [Forms][frmTesting]![RCause], [Forms][frmTesting]![Corrective], " & _
"[Forms][frmTesting]![Assigned], [Forms][frmTesting]![Verification], [Forms][frmTesting]![Comments], " & _
"[Forms][frmTesting]![OpenDate], [Forms][frmTesting]![CloseDate], [Forms][frmTesting]![Status], " & _
"[Forms][frmTesting]![Purpose], [Forms][frmTesting]![ProdDate], [Forms][frmTesting]![ShipDate], " & _
"[Forms][frmTesting]![TestDate], [Forms][frmTesting]![SampleDate], [Forms][frmTesting]![Customer], [Forms][frmTesting]![Facility], " & _
"[Forms][frmTesting]![Result], [Forms][frmTesting]![Wire], [Forms][frmTesting]![StartingDia], " & _
"[Forms][frmTesting]![WireType], [Forms][frmTesting]![IncomingDia], [Forms][frmTesting]![FailMode], [Forms][frmTesting]![RCDetail])"

    Set Connection = New ADODB.Connection
    Call Connection.Open(ConnectionString)

    Call Connection.Execute(SQL, , CommandTypeEnum.adCmdText Or ExecuteOptionEnum.adExecuteNoRecords)
    Connection.Close
    Set Connection = Nothing


End Sub

我是否对SQL查询使用正确的表单对象引用语法? Excel和Access之间在引用表单数据方面有区别吗?

如果任何观众遇到同一问题并且感兴趣。 我发现最简单的解决方案是类似SQL =“ INSERT INTO [Tests $](PartNo)Values('”&frmTesting.PartNo&“')”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM