PDA

Vollständige Version anzeigen : Felder einer Datenbank mit VBA lesen und in Variable schreiben


blinkie
24.03.2006, 07:26
Guten Morgen!

ich habe ein Problem.

ich möchte bestimme Felder einer Datenbank mit VBA lesen deren Inhalt und in jeweils einer Variable speichern (und später die Variableninhalte in eine Textdatei schreiben, was aber kein Poblem ist

Weiß aber nicht wie ich das bewerkstelligen soll.

so hab ich die Datenbank engebunden ( renter.mdb)

Sub Befehl7366_Click()
Dim Db As Database
Dim myTab As TableDef

Dim i As Integer
Dim RCount As Integer
Dim ausgabe As String
Dim tmpString As String
Dim laenge As Variant
Dim string_i As Variant
Set Db = CurrentDb()

For Each tabelle In Db.TableDefs
If tabelle.NAME = "RENTNER" Then
Set myTab = tabelle
End If
Next tabelle


kann mir jemand helfen`?

DaniAndr
24.03.2006, 07:48
Hi!
Das macht man mit einem Recordset, den man dann mit einer schleife durchläuft. Die Forumssuche sollte helfen...

Grüße,
Andreas

Smaug
24.03.2006, 07:50
Dim db as Database
Dim rs As DAO.Recordset
Set db=CurrentDb()
Set rs = db.OpenRecordset("Rentner")
alternativ auch ein Lese-Recordset von ausgewählten Feldern damit nicht interessierende Felder auch nicht in das Recordset aufgenommen werden:
Set rs = db.OpenRecordset ("Select Feld1, Feld2... from Rentner", dbOpenSnapshot)
If Not rs.BOF and rs.EOF Then 'kein leeres Recordset
do while Not rs.EOF 'gesamtes Recordset durchlaufen
debug.print rs!Feld1 'bzw. rs(0) für das 1.Feld
debug.print rs!Feld2
rs.MoveNext 'nächster DS
Loop
End If
rs.Close 'Recordset schliessen
Set rs=Nothing 'Variablenspeicher freigeben
Set db=Nothing

Anne Berg
24.03.2006, 07:58
Hier fehlt etwas:If Not rs.BOF and NOT rs.EOF Then
Aber warum erstellst du nicht einfach eine Auswahlabfrage mit den gewünschten Feldern, die du exportieren kannst?!

blinkie
24.03.2006, 08:55
@ Anne Berg
weil die sich nicht ändern, die werden festegelegt und dann immer in dieser Forum verwendet.

Das ganze wird dann in eine Textdatei geschrieben und so zusammenbebastelt das der Xerox Drucker hier nen Serienbrief draus macht und druckt.

btw, es funktioniert nun alles!

Danke!