【发布时间】:2014-09-22 07:21:38
【问题描述】:
我正在尝试使用 Excel 单元格中的数字更新 SQL 数据库中的条目。
当我尝试发送的数字没有小数部分时,代码可以正常工作,但如果数字有小数部分,宏会返回类型不匹配错误。
DB字段的类型是:(float, null)。 excel中的单元格格式为“常规”。格式化为“数字”会得到相同的结果。
我已经尝试过 Range("C2").Value,但结果是一样的。 我应该如何从单元格中读取值以将其正确发送到数据库?
Sub Send2DB()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
Dim strResult As String
' Connection string.
sConnString = .......
' Connection and Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open connection
conn.Open sConnString
' Read Cell
Set rs = conn.Execute("UPDATE dbo.TABLE_A SET m_value = '" + Range("C2").Text + "' FROM TABLE_B AS b INNER JOIN TABLE_C AS c ON c.tc_id=b.tb_id WHERE c.ref_value LIKE '" + ActiveSheet.Name + "%'")
【问题讨论】:
-
您能否添加有关您正在使用的数据库的信息?还是SQL数据库就是SQL Server?
-
是的,它是一个 SQL Server 数据库。兼容级别(来自 db info):SQL Server 2000 (80)
标签: sql sql-server excel vba