Приведенный ниже код предназначен для простого добавления строк информации из листа Excel в таблицу в SQL Server.Это утомительно написано, где он идет ряд за рядом и клетка за клеткой.Он работает без всплывающих окон с ошибками, но когда я проверяю таблицу на наличие данных, там ничего нет.
Я запрашивал проверку в SQL с помощью предложения WHERE
, и поле «Аналитик» должно совпадать с моим именем.Ничего не выскакивает
Почему мои данные не отображаются в таблице? И Я открыт, чтобы выслушать чьи-либо предложения о лучших способах сделать это.Спасибо!
Public Sub ConnectToDB()
Dim DBCONT As Object
Dim strConn As String
Dim Server_Name As String
Dim Database_Name As String
Dim Table_Name As String
Dim User_ID As String
Dim Password As String
Dim strSQL As String
Dim rs As Object
Dim Fields As String
Dim LastRowAudit As Long
Dim i As Long
Dim sAuditType, sClaimeReceivedDate, sDateAssigned, sDateCompleted, sAnalyst, sCustomer, sID, sAffiliate, sFacility, sDEA, sAcctNumber, sWholesaler, sVendor, sProduct, sNDC, sRef, sClaimedContract, sClaimedContractCost, sContractPriceStartDate, sContractPriceEndDate, sCatalogNumber, sInvoiceNumber, sInvoiceDate, sChargebackID, sContractIndicator, sUnitCost, sWAC, sPotentialCreditDue, sQTY, sSpend, sIpDshIndicator, sDSHorHRSANumber, sUniqueGPOCode, sComment, sResCode, sCorrectCost, sCRRBCM, sCRRBRebill, sCRRBDate As String
' SET ALL VARIABLES
Server_Name = "I have this in my actual code" ' Enter your server name here
Database_Name = "I have this in my actual code" ' Enter your database name here
Table_Name = "I have this in my actual code"
User_ID = "I have this in my actual code" ' enter your user ID here
Password = "I have this in my actual code" ' Enter your password here
WkbName = ThisWorkbook.Name
SheetName = "Audit Data" ' WHERE RS IS
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' SET SQL STRING
strSQL = "INSERT INTO " & Database_Name & ".[dbo]." & Table_Name & _
" ([Audit],[Audit Type],[Claim Received Date],[Date Assigned],[Date Completed]," & _
" [Analyst],[Customer],[ID],[Affiliate],[Facility],[DEA],[Acct Number],[Wholesaler],[Vendor],[Product],[NDC],[Ref],[Claimed Contract]," & _
" [Claimed Contract Cost],[Contract Price Start Date],[Contract Price End Date],[Catalog Number],[Invoice Number],[Invoice Date]," & _
" [Chargeback ID],[Contract Indicator],[Unit Cost],[WAC],[Potential Credit Due],[Qty],[Spend],[IP-DSH indicator Y/N]," & _
" [DSH and/or HRSA Number],[Unique GPO Code],[Comment],[ResCode],[Correct Cost],[CRRB CM],[CRRB Rebill],[CRRB Date])" & _
" VALUES ('" & sAudit & "', '" & sAuditType & "', '" & sClaimeReceivedDate & "', '" & sDateAssigned & "', '" & sDateCompleted & "', '" & sAnalyst & "', '" & sCustomer & "', '" & sID & "', '" & sAffiliate & "', '" & sFacility & "', '" & sDEA & "', '" & sAcctNumber & "', '" & sWholesaler & "', '" & sVendor & "', '" & sProduct & "', '" & sNDC & "', '" & sRef & "', '" & sClaimedContract & "', '" & sClaimedContractCost & "', '" & sContractPriceStartDate & "', '" & sContractPriceEndDate & "', '" & sCatalogNumber & "', '" & sInvoiceNumber & "', '" & sInvoiceDate & "', '" & sChargebackID & "', '" & sContractIndicator & "', '" & sUnitCost & "', '" & sWAC & "', '" & sPotentialCreditDue & "', '" & sQTY & "', '" & sSpend & "', '" & sIpDshIndicator & "', '" & sDSHorHRSANumber & "', '" & sUniqueGPOCode & "', '" & sComment & "', '" & sResCode & "', '" & sCorrectCost & "', '" & sCRRBCM & "', '" & sCRRBRebill & "', '" & sCRRBDate & "')"
Debug.Print strSQL
' SET TO CONNECTION VARIABLES
Set DBCONT = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
' LOOP THROUGH AND APPEND TO TABLE
ThisWorkbook.Worksheets("Audit Data").Select
LastRowAudit = Cells(Cells.Rows.Count, "A").End(xlUp).Row
With ActiveSheet
DBCONT.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
";Uid=" & User_ID & ";Pwd=" & Password & ";"
For i = 2 To LastRowAudit
sAudit = Cells(i, 1)
sAuditType = Cells(i, 2)
sClaimeReceivedDate = Cells(i, 3)
sDateAssigned = Cells(i, 4)
sDateCompleted = Cells(i, 5)
sAnalyst = Cells(i, 6)
sCustomer = Cells(i, 7)
sID = Cells(i, 8)
sAffiliate = Cells(i, 9)
sFacility = Cells(i, 10)
sDEA = Cells(i, 11)
sAcctNumber = Cells(i, 12)
sWholesaler = Cells(i, 13)
sVendor = Cells(i, 14)
sProduct = Cells(i, 15)
sNDC = Cells(i, 16)
sRef = Cells(i, 17)
sClaimedContract = Cells(i, 18)
sClaimedContractCost = Cells(i, 19)
sContractPriceStartDate = Cells(i, 20)
sContractPriceEndDate = Cells(i, 21)
sCatalogNumber = Cells(i, 22)
sInvoiceNumber = Cells(i, 23)
sInvoiceDate = Cells(i, 24)
sChargebackID = Cells(i, 25)
sContractIndicator = Cells(i, 26)
sUnitCost = Cells(i, 27)
sWAC = Cells(i, 28)
sPotentialCreditDue = Cells(i, 29)
sQTY = Cells(i, 30)
sSpend = Cells(i, 31)
sIpDshIndicator = Cells(i, 32)
sDSHorHRSANumber = Cells(i, 33)
sUniqueGPOCode = Cells(i, 34)
sComment = Cells(i, 35)
sResCode = Cells(i, 36)
sCorrectCost = Cells(i, 37)
sCRRBCM = Cells(i, 38)
sCRRBRebill = Cells(i, 39)
sCRRBDate = Cells(i, 40)
DBCONT.Execute strSQL
Next i
End With
Call CloseDB
MsgBox i & " Lines Imported."
End Sub
Sub CloseDB()
On Error Resume Next
rs.Close
Set rs = Nothing
DBCONT.Close
Set DBCONT = Nothing
End Sub