RecordSet-Daten einzelnund nacheinander in TextBox anzeigen

sternengucker

Grünschnabel
Hallo,

ich hab ein recordset, dessen Daten ich einzeln und durch klicken eines Buttons nacheinander in einer TextBox sichtbar machen möchte. Das recordset hat eine Spalte aber kann 0 oder (theoretisch) unendlich viele Datensätze enthalten.
(Das ganze soll ein Englischlexikon geben).
Mit einer Schleife haut das Ganze wohl nicht hin. Wenn ich RS.MoveNext in eine Schleife einbaue, dann wird die Schleife bis zum letzten Datensatz durchlaufen und dieser dann auch angezeigt. ( Leuchtet mir ein)
Ich probier jetzt schon bestimmt eine Woche eine Lösung zu finden - aber sch.....
nichts. Ihr seid meine letzte Hoffnung. Danke schon im voraus.
 
Hi,

probiers mal damit:

Code:
Dim Cn As New ADODB.connection
Dim RsT As New ADODB.Recordset


Private Sub Command1_Click()
    RsT.MoveNext
    If RsT.EOF = True Then RsT.MoveFirst
    Text1.Text = RsT.Fields(0)
    
End Sub

Private Sub Form_Load()
    Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    Cn.ConnectionString = "Data Source=D:\datenbank.mdb"
    Cn.CursorLocation = adUseClient
    Cn.Open
    With RsT
        .ActiveConnection = Cn
        .CursorLocation = adUseClient
        .CursorType = adOpenStatic
        .Source = "SELECT * FROM Tabelle"
        .Open
        .MoveFirst
        Text1.Text = .Fields(0)
    End With
End Sub


Dunsti
 
Hallo Andreas,

vielen Dank für das Beispiel. Ich habe deinen Code sofort eingebaut, einwenig umgemodelt und das sieht dann so aus:
Private Sub Form_Load()
Form3.WindowState = 2

Dim dbs As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim sTabelle As String
Dim sExcelFile As String
Dim z As Long
Dim datum As Date

sTabelle = "Tabelle1"
datum = Date
sExcelFile = "C:\Programme\Microsoft Visual Studio\VB98\Englisch.xls"

dbs.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties = Excel 8.0;" & _
"Data Source = " & sExcelFile & ";"

With RS
.ActiveConnection = dbs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open "Select Vokabel from [" & sTabelle & "$] where [edatum]= '" & datum & "' or [wiederholung1] = '" & datum & "' or [wiederholung2] = '" & datum & "'or [wiederholung3] = '" & datum & "'or [wiederholung4] ='" & datum & "';", dbs
.MoveFirst
tbvokabel.Text = .Fields("Vokabel")
End With
RS.MoveLast
RS.MoveFirst
z = RS.RecordCount

Text1 = Format(z, "#,##0 ")
With DataGrid2
Set .DataSource = RS

End With
End Sub

Private Sub Command1_Click()
Dim dbs As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim sTabelle As String
Dim sExcelFile As String

sTabelle = "Tabelle1"
datum = Date
sExcelFile = "C:\Programme\Microsoft Visual Studio\VB98\Englisch.xls"
dbs.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties = Excel 8.0;" & _
"Data Source = " & sExcelFile & ";"
Set RS = New ADODB.Recordset
With RS
.ActiveConnection = dbs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
End With

RS.Open "Select Vokabel from [" & sTabelle & "$] where [edatum]= '" & datum & "' or [wiederholung1] = '" & datum & "' or [wiederholung2] = '" & datum & "'or [wiederholung3] = '" & datum & "'or [wiederholung4] ='" & datum & "';", dbs
RS.MoveNext
If RS.EOF = True Then RS.MoveLast
tbvokabel.Text = RS.Fields("Vokabel")

End Sub

Das Problem: Es werden von fünf vorhandenen Datensätzen nur die ersten zwei angezeigt. Beim Laden wird praktisch der erste und beim betätigen des Buttons der zweite Datensatz angezeigt. Danach ist nichts. Kannst du mir vielleicht nochmals helfen. Vielen Dank.
 

Neue Beiträge

Zurück