PDA

Vollständige Version anzeigen : Schleife Beenden


Peter Schemmel
22.10.2001, 18:31
Hallo zusammen,

Problem: Schleife beenden, wenn Datensatzende erreicht.

Ich habe die entsprechenden Beiträge zu diesem Thema gelesen, komme aber trotzdem nicht weiter.

Wenn der letzte Datensatz erreicht ist erhalte ich die Fehlermeldung "No current record".
Logischer Weise, weil kein "MoveNext" möglich ist. Wie aber fange ich die Meldung ab und beende die Schleife.

Function BerechnungLW()
On Error GoTo BerechnungLW_Err
Forms!frm_angebot!frm_Angebot_Unter.Form.Recordset.MoveFirst


Do

Forms![frm_angebot]![frm_Angebot_Unter]![BEITRAGSATZ] = (Runden5(Round(Forms![frm_angebot]![frm_Angebot_Unter]!FA_FAKTOR * Forms![frm_angebot]![frm_Angebot_Unter]!TARIF * Forms![frm_angebot]![frm_Angebot_Unter]!FA_FAKTOR_ZUSCHLAG)) / 10)
Forms![frm_angebot]![frm_Angebot_Unter]!ZW1 = Forms![frm_angebot]![frm_Angebot_Unter]!BEITRAGSATZ + Round((Forms![frm_angebot]![frm_Angebot_Unter]!BEITRAGSATZ * 35 / 100), 1)
Forms![frm_angebot]![frm_Angebot_Unter]!ZW2 = Forms![frm_angebot]![frm_Angebot_Unter]!ZW1 - (Round(Forms![frm_angebot]![frm_Angebot_Unter]!ZW1 * Forms![frm_angebot]![frm_Angebot_Unter]!RABATT / 100, 1) + Round(Forms![frm_angebot]![frm_Angebot_Unter]!ZW1 * Forms![frm_angebot]![frm_Angebot_Unter]!LZ / 100, 1))
If Forms![frm_angebot]![Nicht].Value = True Then
Forms![frm_angebot]![frm_Angebot_Unter]!ZW3 = Forms![frm_angebot]![frm_Angebot_Unter]!ZW2 + Round((Forms![frm_angebot]![frm_Angebot_Unter]!ZW2 * 50 / 100), 1)
ElseIf Forms![frm_angebot]![Nicht].Value = False Then
Forms![frm_angebot]![frm_Angebot_Unter]!ZW3 = Forms![frm_angebot]![frm_Angebot_Unter]!ZW2
End If

Forms!frm_angebot!frm_Angebot_Unter.Form.Recordset.MoveNext

Loop

Forms![frm_angebot]![frm_Angebot_Unter].Requery

BerechnungLW_Exit:
Exit Function
BerechnungLW_Err:

MsgBox Error$
Resume BerechnungLW_Exit
End Function

Danke für Eure Bemühungen im voraus.
m.f.G. Peter

Wallace
22.10.2001, 18:38
Kennste das ...?

Do until recordset.eof
...
...
Loop

---oder---

Do
...
...
Loop while recordset.eof = false

Peter Schemmel
22.10.2001, 19:01
Danke für deine schnelle Antwort.
Kenne ich schon, jedoch erhalte ich dann die Fehlermeldung:"Objekt unterstützt diese Eigenschaft oder Methode nicht" und

Loop While Forms![frm_angebot]![frm_Angebot_Unter].Recordset.EOF = False

reicht nicht aus!?

Gruß Peter

WalterS
22.10.2001, 20:37
HI!
Mach es nicht über das Form.Recordset sondern über Form.recordsetclone.

Peter Schemmel
22.10.2001, 20:53
Danke Euch beiden!
Es funktioniert sowohl als auch.
Warum es jetzt geht und vorher nicht; keine Ahnung.

Gruß Peter