Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: tismo am Januar 27, 2023, 16:54:02

Titel: Erklärung eines Codes
Beitrag von: tismo am Januar 27, 2023, 16:54:02
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" ?
Titel: Re: Erklärung eines Codes
Beitrag von: MzKlMu am Januar 27, 2023, 19:50:00
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.
Titel: Re: Erklärung eines Codes
Beitrag von: tismo am Januar 27, 2023, 23:52:43
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) & "*'")
Titel: Re: Erklärung eines Codes
Beitrag von: MzKlMu am Januar 28, 2023, 00:24:45
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 ?
Titel: Re: Erklärung eines Codes
Beitrag von: Beaker s.a. am Januar 28, 2023, 12:13:06
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 ]
Titel: Re: Erklärung eines Codes
Beitrag von: ebs17 am Januar 28, 2023, 12:36:35
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.
Titel: Re: Erklärung eines Codes
Beitrag von: MzKlMu am Januar 28, 2023, 14:04:30
Hallo,
Dann entfallen auch solche Tippfehler wie bei Klaus, -Danke, habe es oben ergänzt.