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