Hi Guys,
my code in Excel is looking like:
tb_razem is my query table. I would like to delete all records in my query table, insert new ones from excel using VBA.
Why my code is not working?
Jacek Antek
my code in Excel is looking like:
Code:
Sub SQL_Baza_P()
Dim Connectstr As String
Dim HurtowniaADO As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim ZdanieSQL As String
Dim Login As String
Dim FileName As String
Dim Moja As New MyForm
Dim Lokalizacja_Pliku As String
Dim Lokalizacja_Folderu As String
Dim TimeEntry As String
Dim TicketNumber As String
Dim Wiersz As String
Dim NumerSpółki, User, CzasWpisu As String
Dim rsQuery As ADODB.Recordset
Dim NumerZgłoszenia As String
Dim AccessApp As Object
A_Wniosek.Range("Tabela_Wnioski").ListObject.ListColumns(15).DataBodyRange.Hyperlinks.Delete
'''Set AccessApp = CreateObject("Access.Application")
'''
Lokalizacja_Pliku = "\\nt-wro4-01\dane\IHRM\DOKUMENT\Pełnomocnictwa kadry i płace\Administrator\Baza Danych\Baza_Pełnomocnictwa.mdb"
Lokalizacja_Folderu = "\\nt-wro4-01\dane\IHRM\DOKUMENT\Pełnomocnictwa kadry i płace\Administrator\Baza Danych\"
'''
FileName = "'" & ThisWorkbook.FullName & "'[Excel 8.0;]"
'''
'''Login = Moja.Login()
''''Wiersz = Wpisy.Range("A1").CurrentRegion.Rows.Count
''''TicketNumber = Wpisy.Cells(Wiersz, 1)
'''''TimeEntry = Wpisy.Cells(Wiersz, 2)
'''''''Login = "ljar01"
'''''''TicketNumber = "5000020"
'''''''TimeEntry = "29-08-2016 14:33:33"
''''
''''Set Moja = Nothing
'''
Connectstr = "DSN=MS Access Database;DBQ=" & Lokalizacja_Pliku & ";DefaultDir=" & Lokalizacja_Folderu & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
'''
On Error Resume Next
HurtowniaADO.Open Connectstr
ZdanieSQL = "DELETE * FROM tb_razem"
HurtowniaADO.Execute ZdanieSQL
On Error GoTo Koniec
ZdanieSQL = "CREATE TABLE [tb_razem_all] ([Numer zgłoszenia] TEXT, [Numer spółki] TEXT, [Nazwa spółki] TEXT, [Rodzaj klienta] TEXT, [Numer pesel pełnomocnik] TEXT, [Nazwisko i imię pełnomocnika] TEXT, [Data obowiązywania od] DATE, [Data obowiązywania do] TEXT, [Zakres pełnomocnictwa] TEXT, [Rodzaj wniosku] TEXT, [Status wniosku] TEXT, [Osoba udzielająca pełnomocnictwo] TEXT, [Prawo udzielania dalszych pełnomocnictw] TEXT, [Status pełnomocnictwa] TEXT, [Link do pełnomocnictwa] TEXT, [Uwagi] TEXT, [Login] TEXT)"
HurtowniaADO.Execute ZdanieSQL
'ZdanieSQL = "INSERT INTO [tb_" & Login & "] SELECT * FROM [Zgłoszone Wnioski$] IN " & FileName & ""
ZdanieSQL = "INSERT INTO [tb_" & Login & "] SELECT * FROM [Zgłoszone Wnioski$] IN " & FileName & ""
HurtowniaADO.Execute ZdanieSQL
HurtowniaADO.Close
Set HurtowniaADO = Nothing
Columns("A:A").ColumnWidth = 15
MsgBox "Poprawnie odwołano zaznaczone numery zgłoszeń"
Exit Sub
Koniec:
Set HurtowniaADO = Nothing
MsgBox "Błąd" & Err.Description & vbCrLf & vbCrLf & "Nr błędu" & Err.Number, vbCritical, "Procedura ADO"
End Sub
tb_razem is my query table. I would like to delete all records in my query table, insert new ones from excel using VBA.
Why my code is not working?
Jacek Antek