PDA

Vollständige Version anzeigen : For...Next-Schleife in einer Abfrage?


itegge
15.02.2001, 13:14
Ich habe aus einer Abfrage ein Formular erstellt. Nun möchte ich in diesem Formular per Button die Ja/Nein-Felder aller Datensätze auf einmal auf Ja stellen.
Frage: Kann ich eine For...Next schleife benutzen und wenn ja, auf was beziehe ich mich.(wie spreche ich die Felder an?)

Karl-Heinz
15.02.2001, 13:41
Hallo itegge,
einfach einen Schaltfläche anlegen und
beim Klicken eine [Ereignisprozedur] anlegen
ja/Nein = -1 'ja
ja/Nein = 0 'nein

Karl-Heinz

itegge
15.02.2001, 13:53
Das reicht leider nicht, dann habe ich nur den 1. Datensatz auf ja gesetzt.

thomas
15.02.2001, 14:41
Hallo itegge!

Ich hab' das Beispiel mal aus meinem Code herauskopiert und ein wenig abgeändert. Es sollte eigentlich funktionieren... Versuch's mal...

Private Sub Btn_Berechnen_Click()
Dim cnn As ADODB.Connection 'Current Connection
Dim rst As ADODB.Recordset 'Recordset

'den aktuellen Datensatz speichern
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Set cnn = CurrentProject.Connection

'Öffnen des Recordses
Set rst = New ADODB.Recordset
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic

rstAbrechnung.Open "SELECT * FROM ...", cnn, , , adCmdText
Do While Not rst.EOF
rst!feldname = True
rst.MoveNext
Loop

'gehn' wir mal wieder auf den ersten Datensatz zurück...
rstAbrechnung.MoveFirst

'Schliessen des Recordset und alles neu anzeigen
rst.Update
rst.Close
Requery
End Sub

Mike
15.02.2001, 15:36
erstell doch einfach eine Aktualisierungsabfrage, die dein Ja/Nein-Feld kpl. einstellt. Diese Abfrage rufst du dann mit deinem Button auf.
Mike

itegge
15.02.2001, 15:38
Tja Thomas, das funzt leider nicht.
Trotzdem Danke.

thomas
15.02.2001, 16:10
Hallo itegge!

Wo gibt's denn da die Schwierigkeiten?
Ich hab diesen Code (ungekürzte Fassung... http://www.microsyskramer.de/ubb/wink.gif ) dazu benutzt, um nach einer Berechnung ein Feld "berechnet" auf ja zu setzten...

Der SQL-Code im ersten Teil rst.open sollte dem der Abfrage entsprechen und die zwei Zeilen mit "rstAbrechnung" solltest Du in "rst" ändern und in VB unter Extras->Verweise sollte MS ActiveX Data Objects angeklickt sein.

Das ist mir so beim Überfliegen des Textes noch auf- bzw. eingefallen... Vielleicht versuchts Du es noch mal...

Thomas

itegge
16.02.2001, 07:32
Hi Thomas,
vielen Dank für deine Hilfe, aber es klappt leider nicht. rst.Open habe ich gestern schon geändert und genau da bleibt er hängen. Schade, Deine Lösung wäre mir lieber gewesen, nun muss ich wohl doch eine Aktualisierungsabfrage machen. Schönen Tag noch.