Acess 2000, Letzte Datensatz bei DA0 Recordset

04/12/2012 - 15:46 von ntoni nsimba | Report spam
Ich habe folgende Code geschrieben.
Set Rs = dbs.OpenRecordset("Select *FROM qryWBZ_End_ext3_QErg")
AusgabeString = "UPDATE fyar2sta Set bearbeit=1 Where Sa=0 and ArtikelIN("
Print #kanal, AusgabeString
Rs.MoveFirst
Do Until Rs.EOF
With Rs
Art = !AR1_ARTIKEL
fl = !Flag
End With
If Rs.BOF = True Then
AusgabeString1 = "'" & Art & "'"
Else
AusgabeString1 = "'" & Art & "'" & ","
End If
Print #kanal, AusgabeString1

lngZaehler = lngZaehler + 1
Rs.MoveNext
Loop
AusgabeString2 = ");"
Print #kanal, AusgabeString2

Ich will nur erreichen wenn der letzte Datensatz ereicht ist
dann AusgabeSrting1= "'" & Art & "'"
Hier habe ich in code geschrieben IF Rs.BOF = True Then
es funktioniert nicht
Wie frage ich nach der Letzte Datensatz

Ich brauche Ihre Hilfe
Ntoni Nsimba
 

Lesen sie die antworten

#1 Karl Donaubauer
04/12/2012 - 19:17 | Warnen spam
ntoni nsimba wrote:
Ich habe folgende Code geschrieben.
Set Rs = dbs.OpenRecordset("Select *FROM qryWBZ_End_ext3_QErg")
AusgabeString = "UPDATE fyar2sta Set bearbeit=1 Where Sa=0 and
ArtikelIN(" Print #kanal, AusgabeString
Rs.MoveFirst
Do Until Rs.EOF
With Rs
Art = !AR1_ARTIKEL
fl = !Flag
End With



Wenn du schon ein "With Rs" veranstaltest, warum verwendest du
es dann nur 2 Zeilen lang?

If Rs.BOF = True Then
AusgabeString1 = "'" & Art & "'"
Else
AusgabeString1 = "'" & Art & "'" & ","
End If
Print #kanal, AusgabeString1

lngZaehler = lngZaehler + 1
Rs.MoveNext
Loop
AusgabeString2 = ");"
Print #kanal, AusgabeString2

Ich will nur erreichen wenn der letzte Datensatz ereicht ist
dann AusgabeSrting1= "'" & Art & "'"
Hier habe ich in code geschrieben IF Rs.BOF = True Then
es funktioniert nicht
Wie frage ich nach der Letzte Datensatz



Das kriegst du in der Schleife nicht mit, außer du machst vorher
MoveLast und RecordCount und prüfst dann jedesmal, ob du
schon auf dieser Anzahl bist. Das ist viel zu (zeit-) aufwàndig.

Daher löst man das Problem mit dem überschüssigen Komma
normalerweise dadurch, dass man in der Schleife immer eines
anhàngt und nach der Schleife das letzte Zeichen löscht, z.B. so:

If AusgabeString1 > "" Then
AusgabeString1 = Left(AusgabeString1, Len(AusgabeString1)-1)
End If

Servus
Karl
*********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen