Ich versuche, eine Kopie der Datenbank auf ein Excel-Dokument einzurichten, die Vertriebsmitarbeiter aktualisieren können, während sie in dem Feld sind. Ich habe den Code für eine Insert-Anweisung, die für die Listenzeilen ausgeführt werden soll, aber ich bekomme einen Überlauffehler nach nur 20 Zeilen. Hier ist mein Code:Überlauffehler nach dem Einfügen nur ein paar Zeilen aus Excel
Sub ConnectTODB()
Dim CustomersConn As ADODB.Connection
Dim CustomersCmd As ADODB.Command
Dim lo As Excel.ListObject
Dim ws As Excel.Worksheet
Dim lr As Excel.ListRow
Set ws = ThisWorkbook.Worksheets(8)
Set lo = ws.ListObjects("TCustomers")
Set CustomersConn = New ADODB.Connection
Set CustomersCmd = New ADODB.Command
CustomersConn.ConnectionString = SQLConStr
CustomersConn.Open
CustomersCmd.ActiveConnection = CustomersConn
For Each lr In lo.ListRows
CustomersCmd.CommandText = _
GetInsertText(_
Intersect(lr.Range, lo.ListColumns("Type").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Customer").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Name").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Contact").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Email").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Phone").Range).Value, _
Intersect(lr.Range, lo.ListColumns("Corp").Range).Value)
CustomersCmd.Execute
Next lr
CustomersConn.Close
Set CustomersConn = Nothing
End Sub
Function GetInsertText(CType As String, Customer As Integer, Name As String, Contact As String, Email As String, Phone As String, Corp As String) As String
Dim SQLStr As String
SQLStr = _
"INSERT INTO Customer (" & _
"Type, Customer,Name,Contact,Email,Phone,Corp)" & _
"VALUES (" & _
"'" & CType & "'," & _
"'" & Customer & "'," & _
"'" & Name & "'," & _
"'" & Contact & "'," & _
"'" & Email & "'," & _
"'" & Phone & "'," & _
"'" & Corp & "')"
GetInsertText = SQLStr
End Function
Die Gesamttabellengröße beträgt nur 1600 Zeilen, so dass ich keinen Überlauffehler erwartet habe. Jede Hilfe wäre willkommen!
ist nicht Ints automatisch und leise zu Longs im Hintergrund modelt? – StormsEdge
@StormsEdge: [Interessant Lesen] (http://stackoverflow.com/questions/26717148/integer-vs-long-confusion);) –
Korrigieren Sie sind Siddharth! Ich stolperte darüber, als ich einem meiner Mitarbeiter den Code out-loud erklärte und als ich Ihren Kommentar sah, wurde es bestätigt! Vielen Dank! :) –