Operator Geschrieben 24. April 2002 Geschrieben 24. April 2002 Hallo, ich arbeite mit Word VBA und möchte User-bezogene Daten aus einer Datenbank in ein Recordset einlesen und dann die Verbindung zur Datenbank kappen. Die Daten im Recordset sollen aber erhalten bleiben. Mir wurde gesagt, das das mit ADO funktioniert. Bisher habe in einem Modul folgenden Code: Private Const Pfad = "DATEIPFAD" Public rsPersonalDaten As New ADODB.Recordset Public rsStatistik As New ADODB.Recordset Public rsFirmenstandorte As New ADODB.Recordset Public rsUebersetzungen As New ADODB.Recordset Public chSQLUser As String Public Sub IniAuslesen() 'declare new connection, recordset and variables Dim vConnection As New ADODB.Connection chUser = Environ("PC_User") If chUser = "" Then chUser = Environ("USERNAME") If chUser = "" Then chUser = LCase(InputBox("Geben Sie ihr_ Kurzzeichen ein:", "Ihr Kurzzeichen konnte nicht_ ermittelt werden.")) Else End If Else End If chSQLUser = Chr$(34) & chUser & Chr$(34) 'Das_ Anführungszeichen(") zu chUser hinzufügen für SQL-Abfrage 'provide same as previous connection string for_ data using Jet Provider for Access database vConnection.ConnectionString = "data_ source=DATENBANKPFAD;"_ & "Provider=Microsoft.Jet.OLEDB.4.0;" 'open connection vConnection.Open 'Open a new version of the temporary RecordSet_ accessing the ClientInfo table in Database rsUebersetzungen.Open "Select * from Uebersetzungen",_ vConnection, adOpenDynamic, adLockOptimistic rsPersonalDaten.Open "Select * from PersonalDaten_ where Kurzzeichen Like " & chSQLUser & ";", vConnection,_ adOpenDynamic, adLockOptimistic rsFirmenstandorte.Open "Select * from_ Firmenstandorte", vConnection, adOpenDynamic,_ adLockOptimistic rsStatistik.Open "Select * from Statistik where_ ((([statistik].Kurzzeichen) Like " & chSQLUser & "));",_ vConnection, adOpenDynamic, adLockOptimistic 'close objects vConnection.Close 'clear object to free up memory Set vConnection = Nothing End Sub Allerdings funktioniert das nicht, die Daten in den Recordsets sind weg, sobald ich die Verbindung (vConnection) schliesse. Hat jemand eine Lösung für mich? Grüsse Operator Zitieren
robotto7831a Geschrieben 24. April 2002 Geschrieben 24. April 2002 Hallo, warum übergibst Du die Werte aus dem Recordset, bevor Du die Verbindung schließst, nicht an andere Variablen. Diese kannst Du dann später auch noch abfragen. Frank Zitieren
BlearSun Geschrieben 24. April 2002 Geschrieben 24. April 2002 Dein Recordsetobjekt hat ein Property Namens "ActiveConnection". Diese musst du auf "Nothing" setzten. Set poRS.ActiveConnection = Nothing Danach ist die Verbindung zwischen dein Connection-Objekt und Recordsetobjekt nicht mehr vorhanden und was du dann mit deinem Recordset machst ist deine Sache. Dein Connection zu der Datenbank kannst du danach natürlich auch schliessen. poConn.Close Set poConn = Nothing So in etwa sollte das funktionieren. MfG Blear Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.