这是我在excel表中的代码
Private Sub btnUpdate_Click()
On Error GoTo errH
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strPath As String
Dim intImportRow As Integer
Dim strFirstName, strLastName As String
Dim server, username, password, table, database As String
With Sheets("Settings")
server = .txtServer.Text
table = .txtTable.Text
database = .txtDatabase.Text
' server = "LB-HO-NAYEF\MYMSSQLSERVER"
' table = "tblLSItems"
' database = "LMStock"
If con.State <> 1 Then
con.Open "Provider=SQLOLEDB;Data Source=" & server & ";Initial Catalog=" & database & ";Integrated Security=SSPI;"
'con.Open
End If
'this is the TRUSTED connection string
Set rs.ActiveConnection = con
'delete all records first if checkbox checked
If .cbDelete Then
con.Execute "delete " & table & ""
End If
'set first row with records to import
'you could also just loop thru a range if you want.
intImportRow = 2
Do Until Sheet1.Cells(intImportRow, 1) = ""
Dim strItemCode As String
Dim strScanCode As String
Dim strStyle As String
Dim strDescription As String
Dim strPrice As String
Dim strSalePrice As String
strItemCode = Sheet1.Cells(intImportRow, 2)
strScanCode = Sheet1.Cells(intImportRow, 3)
strStyle = Sheet1.Cells(intImportRow, 4)
strDescription = Sheet1.Cells(intImportRow, 5)
strPrice = Sheet1.Cells(intImportRow, 6)
strSalePrice = Sheet1.Cells(intImportRow, 7)
'insert row into database
COMMANDSTRING = "insert into tblLSItems (ItemCode, ScanCode,Style,Description,Price,SalePrice) values ('" & strItemCode & "','" & strScanCode & "','" & strStyle & "', '" & strDescription & "','" & strPrice & "','" & strSalePrice & "')"
' con.Execute "insert into tblLSItems (ItemCode, ScanCode,Style,Description,Price,SalePrice) values ('" & strItemCode & "','" & strScanCode & "','" & strStyle & "', '" & strDescription & "'," & strPrice & "," & strSalePrice & ")"
con.Execute COMMANDSTRING
intImportRow = intImportRow + 1
Loop
MsgBox ("Done importing")
con.Close
Set con = Nothing
End With
Exit Sub
errH:
MsgBox Err.Description
MsgBox (COMMANDSTRING)
End Sub
excel表有129848条记录
总是在记录32766中给出错误
无论记录是什么
以下是下载Excel工作表的链接
第2页设置需要连接到数据库
答案 0 :(得分:1)
From the Working with Numbers section of the VBA documentation:
整数,长整数和字节数据类型
...
Integer和Long数据类型都可以保存正值或负值。它们之间的区别在于它们的大小:整数变量可以保持-32,768和32,767之间的值,而Long变量的范围可以从-2,147,483,648到2,147,483,647。
将Dim intImportRow As Integer
替换为Dim intImportRow As Long
。