简体   繁体   English

使用 SQL 更新查询时出现数据类型不匹配错误

[英]Data Type Mismatch error while using the SQL Update query

I am using SQL update query in VBA and I am getting the datatype mismatch error.我在 VBA 中使用 SQL 更新查询,我收到数据类型不匹配错误。 I know that error is basically because of the column spare part.我知道这个错误基本上是因为列备件。 The spare part column contains numeric and alphanumeric values.备件列包含数字和字母数字值。

Public Function UpdateDistinctColumnFRNumberBasis()

    StrInvoiceNumber = "109839-01"
    FRSparepartNumber = "FT7119907459"
    MergedInvoiceFile  = "/test.xlsx"
    
    
    Dim objConn As Object
    Dim objRecordSet As Object
    
    Set objConn = CreateObject("ADODB.Connection")
    Set objRecCmd = CreateObject("ADODB.Command")
    Set objRecCmd_Update = CreateObject("ADODB.Command")
    
    objConn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
             MergedInvoiceFile & ";Extended Properties=""Excel 8.0;""")
    
    strSQL =  " Update [Tabelle1$] SET [Status] = 'Include' Where " & _
    "([RECHNR] ='" & StrInvoiceNumber & "' AND [Sparepart] = " & FRSparepartNumber & ")"
    
    objConn.Execute strSQL
    
    objConn.Close

End Function

As commented, the partnumber is text, thus it must be quoted in the SQL:正如所评论的,零件编号是文本,因此必须在 SQL 中引用:

    FRSparepartNumber = "FT7119907459"

    ' snip
    
   strSQL =  "Update [Tabelle1$] SET [Status] = 'Include' Where " & _
   "([RECHNR] = '" & StrInvoiceNumber & "' AND " & _
   "[Sparepart] = '" & FRSparepartNumber & "')"
 

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

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