Sub Update_Data_SQL()
'
'
' Macro made by Naru
'
' =Update Data= '
'===========================================================================================
'Statements
'-------------------------------------------------------------------------------------------
Dim Cn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim BDD As String
Dim SheetBDD As String, Req_SQL As String
Dim valID As String, Header As String, valField As String
Dim l_col, l_row
Dim i, j
'===========================================================================================
'===========================================================================================
'Boots
'-------------------------------------------------------------------------------------------
BDD = "C:\BDD.xlsm"
SheetBDD = "Topics"
l_col = Sheets(SheetBDD).Range("XFD1").End(xlToLeft).Column
l_row = Sheets(SheetBDD).Range("A1048576").End(xlUp).Row
'===========================================================================================
'==>Init
Set Cn = New ADODB.Connection
'==>Open connection
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& BDD & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
End With
'==>Request
For i = 1 To l_row - 1
valID = Sheets(SheetBDD).Cells(1 + i, 1).Value
If valID = Sheets(SheetBDD).Range("DQ1").Value Then
For j = 1 To l_col - 1
Header = Sheets(SheetBDD).Cells(1, j + 1).Value
If Sheets(SheetBDD).Cells(i + 1, j + 1).Value <> "" Then
valField = Sheets(SheetBDD).Cells(i + 1, j + 1).Value
Req_SQL = "UPDATE [" & SheetBDD & "$] SET [" & Header & "]= '" & valField & "' WHERE [ID] = '" & valID & "';"
Set Rst = Cn.Execute(Req_SQL)
End If
Next j
End If
Next i
'==>Close connection
Cn.Close
Set Cn = Nothing
'==>Import Data
Call Import_Data_SQL
End Sub