Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatisch Export aus Datenbanken anstoßen

Automatisch Export aus Datenbanken anstoßen
20.05.2005 10:33:31
Silvia
Hallo zusammen,
ich verarbeite aktuell die Daten, die ich über einen Export aus einer Datenbank als CSV zur Verfügung habe.
Jetzt möchte ich den manuellen Schritt (Erstellen des Exports) umgehen. Dies soll automatisch durch einen Klick auf einen Button in Excel erfolgen.
Wie kann man dies realisieren?
Gibt es einen Befehl, dem man den DB-Namen, UserNamen und vor allem einen SQL Befehl übergeben kann?
Über Hilfe wäre ich sehr dankbar.
Es muss auch keine csv Datei als Resultat herauskommen. Ich möchte die resultierenden Daten halt irgendwie verarbeiten können.
Lieben Gruß,
Silvia
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch Export aus Datenbanken anstoßen
20.05.2005 10:55:23
bavariabob
Hallo Silvia,
versuch's hiermit. Du musst natürlich die Datennamen, Passwörter usw. anpassen.

Sub DatenbankImport()
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=D:\EDI\EDI_Auswertung.mdb;Mode=Share Deny Write;Extended " _
, _
"Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet" _
, _
" OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database P" _
, _
"assword="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;" _
, "Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), _
Destination:=Range("D21"))
.CommandType = xlCmdTable
.CommandText = Array("IDOC_Statistics")
.Name = "EDI_Auswertung"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = "D:\EDI\EDI_Auswertung.mdb"
.Refresh BackgroundQuery:=False
End With
End Sub

Anzeige
AW: Automatisch Export aus Datenbanken anstoßen
20.05.2005 13:50:29
Silvia
erst mal vielen Dank für die bisherigen Antworten.
ich hab mal das folgende probiert:

Sub DatenbankImport()
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=doersi2t;Data Source=\\fthw9g7a\PACS_ : Products;Mode=Share Deny Write;Extended " _
, _
"Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet" _
, _
" OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database P" _
, _
"assword="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;" _
, "Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), _
Destination:=Range("D21"))
.CommandType = xlCmdTable
.CommandText = "select distinct T1.dbid,T1.id_num,T1.state_num,T1.priority,T1.no_,T1.summary,T1.label,T1.found_in,T1.category,T1.keyword_1,T1.real_version,T1.mess_name,T1.remain_name from Defect T1,rr_alias_client T3,rr_alias_default T4,rr_alias_product T5 where T1.client_access = T3.dbid and T1.default_access = T4.dbid and T1.product_access = T5.dbid and (T1.dbid <> 0 and ((T1.real_version like '%VB20A%' and T1.prod_proc like '%SIRIUS%' and T1.no_ like '%ssc%'))) and  ((T3.dbid in (-1)) or (T4.dbid in (-1)) or (T5.dbid in (34204604,34303445,34151943,33907988,34204757))) order by T1.id_num ASC"
.Name = "Export"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub

Beim Ausführen kommt beim Refresh ein MS Jet Ole DB-Initialisierungsinformationsfenster
Wenn ich hier dann mein Passwort eingebe kommt folgende Fehlermeldung:
"Die Anwendung kann nicht gestartet werden. Die Informationsdatei für die Arbeitsgruppe fehlt oder ist exklusiv von einem anderen Benutzer geöffnet".
So, nun blinken in meinen Augen viele Fragezeichen.
Was kann das denn heißen?
Wird die DB nicht gefunden?
Bitte helft mir weiter...
Anzeige
AW: Automatisch Export aus Datenbanken anstoßen
20.05.2005 10:55:43
EtoPHG
Hallo Silvia,
Dazu ist am besten ein Direktzugriff via ODBC auf die Datenbank geeignet.
Du brauchst einen DSN (DataSourceName), den du über den ODBC-Manager definierst und anschliessend kannst Du via MS-Query (Menu Daten Externe Daten Neue Datenabfrage) Deinen SQL zusammenstellen.
Gruss Hansueli
Anzeige
AW: Automatisch Export aus Datenbanken anstoßen
20.05.2005 11:31:53
Kurt
hi,
machs so:

Sub Test()
connstring = "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=User;PWD=passwort;SERVER=datenbank"
sql_statement = "select LFDPERSONALNR, Kurzname , Dienstnummernzusatz, datum from PD_ZUTEILUNGSINFORMATION "
sql_statement = sql_statement & "where LFDORGANISATIONSEINHEITNR = 9000025 "
sql_statement = sql_statement & "and LFDDIENSTNR > 0 "
sql_statement = sql_statement & "and (substr(kurzname,1,1) = '1' or substr(kurzname,1,1) = '3' or substr(kurzname,1,1) = '4' or substr(kurzname,1,1) = '6' or substr(kurzname,1,1) = '9') "
sql_statement = sql_statement & "and datum between trunc(last_day(add_months(sysdate,-2))+1) and trunc(last_day(add_months(sysdate,-1)))"
With Sheets("Abfrage").QueryTables.Add(Connection:=connstring, Destination:=Worksheets("Abfrage").Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
.Delete
End With
End Sub

...und Tschüss Kurt
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige