< návrat zpět

MS Excel


Téma: ODBC připojení přes VBA rss

Zaslal/a 12.2.2021 13:42

Dobrý den,

podle návodu na stránce:

https://docs.microsoft.com/en-us/office/vba/api/excel.querytables.add

se pokouším napsat kód ve VBA, který by se mi vytvořil ODBC připojení k databázi na základě hodnot zapsaných v buňkách na listu Technical_1.

Kód mám napsaný, ale vyhazuje mi chybu Application-defined or Object-defined error 1004. VBA editor mi poukazuje na chybu v řádku, která začíná "set qt = ...". Já ale nemohu přijít na to, co tam mám napsáno špatně.

Nezkontroloval by někdo ten kód a neporadil, prosím?

Děkuji za Váš čas.

' Dostupne pro cely sesit:
Public P_iSeries As String
Public P_database As String
Public P_user As String
Public P_password As String
Public P_sqlstring As String

Sub Makro1()
'
' Makro1
'
' Klávesová zkratka: Ctrl+u
'

Dim sqlstring As String
Dim connstring As String

' Nacteni promennych parametru z bunek:
With ActiveWorkbook.Sheets("Technical_1")
P_iSeries = .Cells(11, 12).Value
P_database = .Cells(12, 12).Value
P_user = .Cells(13, 12).Value
P_password = .Cells(14, 12).Value
P_sqlstring = .Cells(27, 12).Value
End With

' Mezi uvozovky si muzu napsat cely SQL dotaz (string) - od prikazu select az napr. po order by:
sqlstring = " & P_sqlstring & "

' Connection string k databazi uvadet tady (zase do uvozovek protoze je to retezec):
connstring = "Driver={ISeries Access ODBC Driver};System=" & P_iSeries & ";Uid=" & P_user & ";Pwd=" & P_password & ";Library=" & P_database & ";QueryTimeout=0;charset=utf-8"

' Vytvorit QueryTable jako objekt s nazvem "qt":
Dim qt As QueryTable
Set qt = ActiveSheet.QueryTables.Add(Connection:=connstring, Destination:=Range("C1"), Sql:=sqlstring)

' refresh dat (zacatek tabulky bude v bunce "C1"):
With qt
.RefreshStyle = xlInsertEntireRows
.Refresh
End With

End Sub

Zaslat odpověď >

Nebyly zaslány žádné odpovědi.

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje