Hallo ihrormulars klugen Köpfe
Wie kann die Anzahl Zeilen eines Endlosformulars ermittelt werden?
Vielen Dank an Alle
Wolfgang
Hallo,
im Formularfuß ein Feld mit folgendem Steuerelementinhalt:
=Anzahl(*)
Hallo
funktioniert leider nicht richtig
Bei der Eingabe wird der Wert nicht verändert
Beim Wechsel von Entwurfsansicht auf Formularsicht wurd der Wert von Anz berichtigt.
was mach ich noch falsch
danke
Wolfgang
Versuch mal in einem ungebundenen Feld und Steuerelementeinhalt:
=Anzahl([Kategorie]) & " "
Den Begriff Kategorie musst Du dem Namen Deines ungebundenen Feldes entsprechend anpassen.
Hallo,
die Berechnung mit Anzahl egal was du zählst erfolgt immer erst wenn die Datensatzherkunft aktualisiert wird.
Deshalb auch zweimal umschalten und das Ergebnis stimmt.
Willst du sofort nach verlassen vom DS den neuen Wert haben gehe im Entwurf vom Formular bei den
Eigenschaften auf Ereignis. Beim Ereignis "Nach Aktualisierten" kopiere diese VBA-Zeile:
DoCmd.Requery
Dadurch wird der Zähler aktiviert.
Gruß
Johann
Wo ist das Problem?
Ein Eingabeformular wird geöffnet - die bislang eingegebene Anzahl an Datensätze wird angezeigt - dann ein neuer Datzensatz hinzugefügt - das Formular geschlossen und die Eingabe dabei gespeichert.
Beim erneuten Öffnen des Formulars wird dann die Anzahl der vorhandenen Datensätze ohne weiteren Code doch angezeigt. Wozu die unmittelbare Anzeige der Hochzählung im Laufe der Eingabe? Das hat doch überhaupt keinen Nutzen. Und wieso "...Beim Wechsel von Entwurfsansicht auf Formularsicht..."?
Und selbst bei Eingabe mehrerer Datensätze im Endlosformular hintereinander - ohne zwischenzeitlich das Formular zu schliessen - erfolgt die Darstellung der Hochzählung unmittelbar.
Hallo Manfred
Nach der Eingabe aller Ausgaben der verschiedenen Teilnehmer sollen diese Daten in die Tabelle Kassabuch eingetragen werden.
Jede Zeile soll als DS abgespeichert werden.
Wie weis ich denn sonst wieviel Datensätze gebucht werden sollen??
l gr. Wolfgang
Hallo,
mit meine Methode klappt das Zählen zwar aber was bedeutet "eintragen im Kassenbuch".
Ich denke, dass du da vom Ansatz her deine DB sagen wir mal seltsam aufgebaut hast.
Über den Zähler würde ich das nie machen da Anzahl(/) immer die Gesamtanzahl aller Datensätze der Tabelle angibt.
Gruß
Johann
Hallo Johann
Die Tabelle Kassabuch
r.AddNew
r!Name = Cmb0 = Kombifeld mit den Teilnehmern
r!Datum = Datum
r!BetragAus = Betrag
r!BelegNr = BelegNr
r!Bemerkung = Bemerkung
r.Update
Formular KassabuchAus als Endlosformular
Mehrere Teilnehmer eingeben
und dann über "Datensätze buchen"
in die Tabelle Kassabuch eintragen.
Wolfgang
Hallo,
muss Jonny beipflichten
(außer zu Anzahl(*): Anzahl(*) liefert die akt. in einem Form-Recordset vorhandene DS-Anzahl )
seltsam und umständlich..
Wenn eh schon eine Tabelle als Datenherkunft für "KassabuchAus " existiert, wozu dann noch eine weitere Tabelle, in der die DS dupliziert werden?
Beschreib mal denTabellenaufbau und das, was Du mit der DB machen willst.
Hallo Franz
Würde dir gern den entsprechenden Teil der accdb senden doch gezipte Datei hat 422 kb und rar wird nicht zugelassen
Liebe Grüße aus Reutte
Wolfgang
Hallo,
vielleicht reicht auch ein Screenshot des Beziehungsfensters.... (und eine Beschreibung)
Hallo Franz
Endlos.jpg = Formular
Die dort eingetragenen Werte sollen mit "Datensätze buchen"
in die Tabelle Kassabuch eingetragen werden.
...............................
...............................
r.AddNew
r!IDN = Cmb0.Column(0)
r!Name = Cmb0
r!Datum = Datum
r!Text = TextE
r!BetragAus = Betrag
r!BelegNr = BelegNr
r!Bemerkung = Bemerkung
r.Update
...........
...........
Liebe Grüße Wolfgang
[Anhang gelöscht durch Administrator]
Hallo,
wir drehen uns im Kreis...
Ich vermute jetzt mal, dass es sich beim Eingabeform um ein ungebundenes Einzelform handelt.
Dann können in die Tabelle die Eingabewerte ähnlich so übertragen werden:
Sub btnÜbertragen_Click()
Dim r as Dao.Recordset
Set r= Openrecordset ("tblKassabuch",dbOpenDynaset)
r.AddNew
r!IDN = Me!Cmb0
r![Name] = Me!Cmb0.Column(1) ' warum den Namen mit übertragen??
r!Datum =Me![Datum]
r!Text = Me!TextE
r!BetragAus =Me! Betrag
r!BelegNr = Me!BelegNr
r!Bemerkung =Me! Bemerkung
r.Update
r. close
set r=Nothing
' hier evtl alle Textfelder auf NULL setzen.
End Sub