Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Anzahl Zeilen im Endlosformular

Begonnen von Wolfgang, Februar 16, 2011, 20:28:41

⏪ vorheriges - nächstes ⏩

Wolfgang

Hallo ihrormulars klugen Köpfe

Wie kann die Anzahl Zeilen eines Endlosformulars ermittelt werden?

Vielen Dank an Alle
Wolfgang


MzKlMu

Hallo,
im Formularfuß ein Feld mit folgendem Steuerelementinhalt:

=Anzahl(*)
Gruß Klaus

Wolfgang

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

Manfred S

Versuch mal in einem ungebundenen Feld und Steuerelementeinhalt:

=Anzahl([Kategorie]) & " "

Den Begriff Kategorie musst Du dem Namen Deines ungebundenen Feldes entsprechend anpassen.

Jonny

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

Manfred S

#5
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.   

Wolfgang

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

Jonny

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

Wolfgang

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

DF6GL

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.


Wolfgang

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

DF6GL

Hallo,

vielleicht reicht auch ein Screenshot des Beziehungsfensters.... (und eine Beschreibung)

Wolfgang

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]

DF6GL

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