Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Brauche dringend Hilfe ODBC-Verbindung

Brauche dringend Hilfe ODBC-Verbindung
26.07.2005 17:20:42
Daniela
hi leute
bräuchte dringend hilfe.
Ich habe während meinem Makrovorgang immer wieder zugriffe auf die Datenbank, doch ich muss jedes mal den Benutzernamen und das Passwort eingeben obwohl das eigentlich schon fix im Code geschrieben ist. Mein Kollege hat gemeint ich solle die Connection am anfang des Makros öffnen und nicht mehr schliessen.
Nur, wie mach ich das? kann mir bitte jemand helfen? wäre sehr dankbar.
das ganze sieht zur Zeit so aus:

Sub blabla()
Dim sConnect_String As String
Dim sDBZugriff As String
sDBZugriff = "SELECT Wertebereich.blabla FROM [dbo].Wertebereich WHERE TabelleAttribut = 'Vertrag.Abnehmerkategorie' and Kurzblabla= '" & Code & "';"
' DSN holen
sConnect_String = "DSN=DSN;UID=UID;PWD=pwd;"
ActiveWorkbook.Sheets(sSheet).Select
If (Code <> "") Then
' Inhalte des Sheets löschen
Cells(zielZeile, 3).Select
' DB Zugriff machen
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;" & sConnect_String _
, Destination:=ActiveSheet.Range("C" & zielZeile))
.Sql = Array(sDBZugriff)
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = False
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = False
.AdjustColumnWidth = False
End With
ActiveSheet.Range("A1").Select
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Brauche dringend Hilfe ODBC-Verbindung
26.07.2005 17:44:41
Samuel
Hallo Daniela,
hatte ähnliche Probleme – erst als ich die Verbindungsangaben nicht mehr als String-Variable, sondern direkt in die Formel (ohne Anführungszeichen) eingegeben habe hat es funktioniert:
With ActiveWorkbook.Worksheets("Abfrage").QueryTables.Add(Connection:= _
"ODBC;DSN=XYZ;UID=samuel;PWD=pdfz;MODE=SHARE;DBALIAS= XYZ;", Destination:=Range _
("A1"))
.CommandText = Array( _
"SELECT …
Aber vielleicht weiß jemand noch eine elegantere Lösung?
Insbesondere wenn man die Parameter im Makro ändern mu߅
Gruß
Samuel
AW: Brauche dringend Hilfe ODBC-Verbindung
27.07.2005 08:01:00
Daniela
Danke für die schnelle Antwort
Leider funktioniert dies immernoch nicht, ich muss immer wieder das Fenster bestätigen. Kann mir denn sonst niemand helfen?
es sieht mit der veränderung folgendermassen aus:
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=blabla;UID=uid;PWD=pwd;" _
, Destination:=ActiveSheet.Range("C" & zielZeile))
.Sql = Array("SELECT Wertebereich.Bezeichnung FROM [dbo].Wertebereich WHERE TabelleAttribut = 'Vertrag.Abnehmerkategorie' and Kurzbezeichnung = '" & Code & "';")
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = False
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
End With
Anzeige
AW: Brauche dringend Hilfe ODBC-Verbindung
27.07.2005 08:45:28
EtoPHG
Hallo Daniela,
Ich nehme nicht an das Dein Username wirklick "uid" und Dein Passwort "pwd" ist. Anstelle dieser Ausdrücke müsste der wirkliche Username und das Passwort stehen, wie es auch in dem besagten Fenster eingegeben wird. Achtung Gross/Kleinschreibung beachten. Manche DSN-Connection (abhängig vom DB-Typ) verlangen explicit die Bestätigung und können unter Umständen mit folgendem Trick umgangen werden.
Statt ... UID=UserName;PWD=PassWord...
Mit ... UID=UserName/PassWord;... im Connection-String
wobei UserName und PassWord natürlich durch die realen Werte ersetzt werden müssen.
Gruss Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige