Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Passwort Abfrage über Query automatisieren

Passwort Abfrage über Query automatisieren
11.11.2004 11:08:07
Christian
Hallo,
ich habe in Access einige Abfragen, die alle auf dieselbe Oracle Datenbank zugreifen. In Excel führe ich diese Abfragen über Query durch.
Allerdings muss ich mich bei jeder Query erneut an der Oracle Datenbank anmelden, was bei über zehn Abfragen ziemlich störend ist, vor allem, weil es sich immer um das gleiche Passwort handelt.
Meine Vorstellung wäre ein Makro welches alle Queries enthält, die Passwort Abfrage aber automatisch erledigt.
Die Queries sind ja kein Problem mit dem Makro Rekorder, aber vielleicht kann mir jemand bzgl. dem Passwort helfen.

Sub Abfrage_Query()
With ActiveSheet.QueryTables.Add(Connection:= "FINDER;C:\***.dqy" , Destination:=Range("X1"))
.Name = "ELDIW6_R1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub

Danke im Voraus
mfg
Christian

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort Abfrage über Query automatisieren
Andre
Hi Christian,
ich kenn mich zwar nicht mit Oracle aus, aber bei Abfragen von anderen Datenbanken (z.B. Access oder Navision) funktioniert´s mit der Übergabe des Passwortes in der Abfragezeile.
Versuch mal so etwas:
dim Passwort as string
Passwort = Application.InputBox("Passwort")
With ActiveSheet.QueryTables.Add(Connection:= "FINDER;C:\***.dqy" , PWD=Passwort , Destination:=Range("X1"))
usw.
So könntest du die Inputbox einmal aufrufen, das Passwort einmalig eingeben und als Variabel weiter verwenden.
Gruß Andre
AW: Passwort Abfrage über Query automatisieren
11.11.2004 13:31:39
Christian
Hallo,
leider erhalte ich bei diesem Code immer einen Syntaxfehler bei PWD=Passwort.
Weißt du woran das liegt?
dim Passwort as string
Passwort = Application.InputBox("Passwort")
With ActiveSheet.QueryTables.Add(Connection:= "FINDER;C:\***.dqy" , PWD=Passwort , Destination:=Range("X1"))
mfg
Christian
Anzeige
AW: Passwort Abfrage über Query automatisieren
11.11.2004 13:40:00
Andre
Das liegt sicher daran, dass die Eigenschaft bei einer Oracle-DB nicht so mit PWD festgelegt wird. Wäre auch zu schön einfach gewesen!
Das ist etwas kniffliger, da Excel diese Eigenschaft nicht mit aufzeichnet (Hat mich auch etwas Nerven gekostet!), aber das Prinzip sollte dann funktionieren.
Da müßtest du ´n bißchen im Netz suchen, wie man die Passwort-Eigenschaft an Oracle-DBs angeben kann.
Sorry, aber da kann ich dir nicht sinnvoll weiterhelfen.
Viel Glück.
Andre
AW: Passwort Abfrage über Query automatisieren
11.11.2004 13:42:34
Christian
Alles klar,
trotzdem vielen Dank.
Vielleicht kann mir ja noch jemand anderes helfen
mfg
Christian
Anzeige
AW: Passwort Abfrage über Query automatisieren
11.11.2004 14:05:36
Christian
Alles klar,
trotzdem vielen Dank.
Vielleicht kann mir ja noch jemand anderes helfen
mfg
Christian
AW: Passwort Abfrage über Query automatisieren
ypsilon
hi Christian,
mal als muster:

Sub einlesen()
connstring = "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=public_user;PWD=public;SERVER=pdpx.prod.berta"
sql_statement = "select max(lfdparameternr)+1 from pd_parameter"
With Sheets(2).QueryTables.Add(Connection:=connstring, Destination:=Worksheets(2).Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
End With
End Sub

cu Micha
AW: Passwort Abfrage über Query automatisieren
12.11.2004 09:55:07
Christian
Hi,
vielen Dank für die hilfe. Leider hatte ich gestern keine Zeit mehr es zu testen.
Ich werde es aber gleich versuchen und dann Bescheid geben.
mfg
Christian
Anzeige
AW: Passwort Abfrage über Query automatisieren
12.11.2004 10:39:10
Christian
Hallo,
also nachmal vielen Dank für die Hilfe. Es klappt auch.
Jetzt möchte ich aber bestimmte Werte dieses Oracle Datenbank mit einer anderen Oracle Datenbank vergleichen.
Kann ich einfach einen zweiten connstring einfügen?
Als ich es ausprobiert habe, habe ich einen "allgemeinen ODBC Fehler" bekommen.
Kannst du mir noch mal helfen?
Danke im Voraus.
mfg
Christian
AW: Passwort Abfrage über Query automatisieren
12.11.2004 10:46:09
Christian
Hallo,
also nachmal vielen Dank für die Hilfe. Es klappt auch.
Jetzt möchte ich aber bestimmte Werte dieses Oracle Datenbank mit einer anderen Oracle Datenbank vergleichen.
Kann ich einfach einen zweiten connstring einfügen?
Als ich es ausprobiert habe, habe ich einen "allgemeinen ODBC Fehler" bekommen.
Kannst du mir noch mal helfen?
Danke im Voraus.
mfg
Christian
Anzeige
AW: Passwort Abfrage über Query automatisieren
yps
hi Christian,
einfach die variable connstring ändern (und logischerweise die datenbank und die tabelle)
beispiel

Sub einlesen()
connstring1 = "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=public_user;PWD=public;SERVER=pdpx.prod.berta"
sql_statement = "select max(lfdparameternr)+1 from pd_parameter"
With Sheets(1).QueryTables.Add(Connection:=connstring1, Destination:=Worksheets(1).Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
End With
connstring2 = "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=public_user;PWD=public;SERVER=pdpx.test.berta"
sql_statement = "select max(lfdparameternr)+1 from pd_parameter"
With Sheets(1).QueryTables.Add(Connection:=connstring2, Destination:=Worksheets(2).Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
End With
End Sub

cu Micha
p.s. die meisten "antworter" geistern in mehreren foren rum
Anzeige
AW: Passwort Abfrage über Query automatisieren
12.11.2004 11:08:55
Christian
Hi Micha,
alles klar klappt. Jetzt muss ich meine SQL Anfragen noch entsprehend formulieren und dann bin ich schon einen großen Schritt weiter.
Falls ich nochmal ein Problem habe, melde ich mich einfach nochmal.
Vielen dank
mfg
Christian
AW: Passwort Abfrage über Query automatisieren
12.11.2004 11:23:47
Christian
Hallo,
jetzt habe ich doch noch ein Problem.
ich muss in dem With Anweisungsblock mit zwei Datenbanken arbeiten, da ein Abgleich notwendig ist.
With Sheets(1).QueryTables.Add(Connection:=connstring1, Destination:=Worksheets(1).Range("A1"))
Das würde bedeuten, dass ich eine zweite Connection Anweisung benötige, oder?
Also wenn ich eine zweite Connection einfüge erhalte ich eine Fehlermeldung.
weißt du da eine Lösung?
mfg
Christian
Anzeige
AW: Passwort Abfrage über Query automatisieren
yps
hi Christian,
deswegen laufen meine beiden abfragen im beispiel auf 2 unterschiedlichen tabellen !
und logischerweise hintereinander in zwei statements
mit diesen beiden tabellen kannst du dann arbeiten (vergleichen etc.)
oder du machst einen outerjoin in der sql-abfrage (da kommen dann deine sql-kenntnisse zum tragen)
cu Micha
AW: Passwort Abfrage über Query automatisieren
12.11.2004 12:51:48
Christian
Alles klar.
Danke für deine hilfe
mfg
Christian
danke für die rückmeldung :-) o.t.
yps
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige