Neuigkeiten:

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

Mobiles Hauptmenü

Erklärung eines Codes

Begonnen von tismo, Januar 27, 2023, 16:54:02

⏪ vorheriges - nächstes ⏩

tismo

Hallo zusammen,

zunächst ersteinmal ein Dankeschön an alle, die sich hier engagieren und versuchen Lösungen für kleinere und größere Probleme zu finden. Ihr seid toll.

Nun hab ich auch (mal wieder) eine Frage:

in meiner Anwendung steht in einem ungebundenen Steuerelement als Standartwert folgener Wert.

=DomAnzahl("*";"Daten";"[Kasse] like '" & Rechts(Jahr(Datum());2) & "*'")
Dieser Wert bewirkt, dass alle Datensätze aus dem laufenden Jahr gezählt werden.
Da ich diesen Wert nicht selber entwickelt habe, würde ich gerne wissen, was die einzelnen Begriffe zu bedeuten haben.

Ich gehe davon aus : "*" alles aus Tabelle "Daten" im Steuerelement "Kasse"
beim Rest bin ich mir nicht sicher  :(

Wie müsste der Code ergänzt werden, damit alles wie vorher gezählt wird, allerdings zusätzlich mit der Auswahl des Betriebes "XY" aus Tabelle "Daten" im Steuerelment "Unternehmen" ?

MzKlMu

Hallo,
DomAnzahl entspricht der Funktion DCount. Schreibe im VBA Editor DCount und drücke F1. Das ist die Hilfe. Das sollte immer die 1. Anlaufstelle sein. Die Hilfe wird immer unterschätzt oder vergessen.
Du kommst zu folgender Seite:
https://learn.microsoft.com/de-de/office/vba/api/access.application.dcount?f1url=%3FappId%3DDev11IDEF1%26l%3Dde-DE%26k%3Dk(vbaac10.chm12536)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue

Sehr ausführlich beschrieben, mit Beispielen.
Wenn Du dann noch Fragen hast, bitte melden.
Gruß Klaus

tismo

Hallo Klaus,

danke für den Link, kriege trotzdem nicht das gewünschjte Ergebnis, dass ein Wert aus 2 Bedingungen gebildet wertden soll.

Zahl bilden aus
"*";"Daten";"[Kasse]wenn Name = "XY aus Tabelle "Daten im Steuerelement "Unternehmen"

=DomAnzahl("*";"Daten";"[Kasse] & "XY";"Daten";"[Unternehmen]like'" & Rechts(Jahr(Datum());2) & "*'")

MzKlMu

#3
Hallo,
versuche es mal so:
=DomAnzahl("*";"Daten";"[Kasse] like '" & Rechts(Jahr(Datum());2) & "*' And [Unternehmen] = 'xy'")Achte auf die Unterscheidung bzw. Anwendung von Hochkomma (') und Anführungszeichen (").
Was hat denn eigentlich die Kasse mit dem Jahr zu tun ?
Gruß Klaus

Beaker s.a.

Hallo,
Das sieht leider nach einem suboptimalen Datenmodell aus.
Wenn ich in einer Tabelle die Kassen mehrerer Mandanten abbilden
will braucht es einen Fremdschlüssel auf eben diese; - nix mit "XY"
oder sowas.
Was soll das Gefrickel mit dem Datum? Wird da in [Kasse] tatsächlich
eine zweistellige Jahreszahl gespeichert?  :o Und dann noch als Text.
Und selbst wenn braucht es da kein Suchmuster weil ein fester Wert
zurückkommt
...; "Kasse = '" & Rechts(Jahr(Datum());2) & "' And ...Besser wäre allerdings ein komplettes Datum in dem Feld
...; "Jahr(Kasse) = Jahr(Datum()) And ...
gruss ekkehard

P.S. Die eckigen Klammern brauchst du bei diesen Feldnamen nicht
(keine Sonderzeichen). Dann entfallen auch solche Tippfehler wie
bei Klaus, - da fehlt die letzte ]
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

ebs17

ZitatDa ich diesen Wert nicht selber entwickelt habe, würde ich gerne wissen, was die einzelnen Begriffe zu bedeuten haben.
Einfach lesen.
=DomAnzahl("*";"Daten";"[Kasse] like '" & Rechts(Jahr(Datum());2) & "*'")Zähle die Datensätze aus Daten, wo im (schlimmen, schlimmen) Feld Kasse etwas drinsteht wie rechte zwei Zeichen des Jahres von heute und eventuell noch etwas anderes.

Wenn sich das anhört, als würde man seinem Baby die Windel mit der Kneifzange anlegen, dann teile ich diesen Eindruck.
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
Dann entfallen auch solche Tippfehler wie bei Klaus, -Danke, habe es oben ergänzt.
Gruß Klaus