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

SQL Datenbank

SQL Datenbank
05.01.2004 08:27:15
Level
Hallo!
Ich habe folgendes Problem. Mein Ziel ist es, in Excel eine Combobox mit dem SQL-Query-Resultat zu füllen.
Die SQL Datenbank befindet sich auf einem Server und ich brauche ein extra Benutzername und Passwort um mich auf diese Datenbank verbinden zu können.
Kann mir jemand zeigen, wie ich mit der Datenbank eine Verbindung aufbauen kann? Und wie ich, wenn ich eine Verbindung zur Datenbank habe, ein SQL Query machen kann? Ich hab da mal was von einem Recordset gelesen.
Vielen Dank im Voraus! Ich bin wirklich ziemlich verzweifelt...

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL Datenbank
05.01.2004 11:38:44
Jürgen Schaetzke
Hallo Unbekannt,

Über Verweise bindest du Microsoft ActiveX dataObject 2.5 ein.

Definition in Modul für Connection und Record:
Public Conn As ADODB.Connection
Public rs As ADODB.Recordset

Dann rufst du die Funktion Connect auf.

Public

Function Connect() As Boolean
Dim DBServer As String
Dim strSQl As String
Dim DataSource As String
On Error GoTo Errorhandler
DBServer = Environ("Computername")
sConn = "ODBC;Provider=SQLODBC;DSN=DeineDSN"
Set Conn = New ADODB.Connection
Conn.Open sConn
Exit Function
Errorhandler:
MsgBox "Die Datenbankverbindung konnte nicht aufgebaut werden" & vbCrLf & "Fehler=" & Error, vbCritical
End Function


Mit Conn.Close wird die Verbindung wieder geschlossen.

Der Zugriff auf einen Datensatz in der SQL DB über die Funktion Get_Record:
Set rs = Get_Record(strSQl)
While Not rs.EOF
'Deine Ausgabe Ein Feldname wird mit rs!Name angesprochen
rs.MoveNext
Wend
rs.Close
Set rs = Nothing

In strSQl steht zum Beispiel "Select * from Kunde"

Public

Function Get_Record(strSQl As String) As ADODB.Recordset
Dim rs As ADODB.Recordset
On Error GoTo Errorhandler
Set rs = New ADODB.Recordset
rs.Open strSQl, Conn, adOpenStatic, adLockBatchOptimistic
If rs.State = adStateOpen Then
Set Get_Record = rs
End If
Exit Function
Errorhandler:
If Not rs Is Nothing Then Set rs = Nothing
End Function


Ciao Jürgen
Anzeige
AW: SQL Datenbank
05.01.2004 13:04:35
Level
Hi!
Vielen Dank für den Beitrag! Ich habe die Datei hochgeladen! Wenn du auf der ersten Seite bist, kann man die Aktion wählen und man wird automatisch zu der nächsten Seite geleitet. Kannst du mir sagen wo ich diesen Code einfügen muss? Hat bei mir irgendwie nicht wirklich funktioniert... oder nur ein paar Tips! Das Excelsheet habe ich raufgeladen, damit du etwa siehst wie es etwa aussieht! :o)

https://www.herber.de/bbs/user/2749.xls

Thx
AW: SQL Datenbank
05.01.2004 18:12:23
Jürgen Schaetzke
Hallo,

für diese Art des Connects musst du eine ODBC Datenquelle definieren.
Dies kannst du über System ,Verwaltung, Datenquellen (ODBC) durchführen.
Dies erfordert allerdings eine sichere Verbindung (XP oder NT).
Das hat den Vorteil, das du in deinem Code keine sensiblen Daten wie das Passwort beim Anmelden an die DB übergeben musst.

Bei Bedarf kann ich dir aber auch den Zugriff ohne ODBC zeigen.

Den Code schaue ich mir heute Abend mal an.

Ciao Jürgen
Anzeige
AW: SQL Datenbank
08.01.2004 08:20:46
Sam Santschi
Salü!
Als erstes mal ein GROSSES Dankeschön für die Mühe! Ich habe jetzt noch ein Problem. Wie kann ich jetzt die Comboboxen füllen, wenn man am Anfang eine Aktion ausgewählt hat? Diese sollten ja mit den Daten des SQL Querys gefüllt werden... Ich habs nicht geschafft... :o(
Vieleicht zur Hilfe:
Datenbankserver: etachgrs005
Datenbankname: FMS..UGL_COMP_CODE
Vielen Dank! :o)
AW: SQL Datenbank
05.01.2004 20:26:30
Jürgen Schaetzke
Hallo,
Hier habe ich mal den Code integriert, um über ODBC Daten in der DB zu speichern.

https://www.herber.de/bbs/user/2764.xls

Ciao Jürgen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige