Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...