Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datenbank trennen, RS erhalten?

Empfohlene Antworten

Veröffentlicht

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.