collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 29
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13993
  • stats Beiträge insgesamt: 66765
  • stats Themen insgesamt: 9002
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Zählen im Formular  (Gelesen 1481 mal)

Offline ReneB

  • Newbie
  • Beiträge: 20
Zählen im Formular
« am: Februar 06, 2018, 21:31:49 »
Hallo und Guten Abend,

hoffe mir kann wieder mal geholfen werden. Ich habe ein Suchformular (geteiltes Formular) basierend auf einer Abfrage. Es geht um Kundenaufträge, welche hier nach verschiedenen Kriterien gefiltert werden können. Die Aufträge beinhalten eine Auftrags-Nr., welche aber mehrfach vorkommen kann. Hier komme ich zu meinem Problem. Ich möchte die Aufträge gern zählen und über ein Textfeld ausgeben, weiß aber nicht, wie ich jede Nr. nur einmal zählen kann. Die Gesamtzahl kann ich ja über = Anzahl(*) anzeigen lassen. Hat jemand einen Tipp für mich?

Danke im Voraus.
Rene
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23363
Re: Zählen im Formular
« Antwort #1 am: Februar 07, 2018, 08:54:36 »
Hallo,

eine mögliche Lösung:

erstelle eine gespeicherte Abfrage ("abf_AufAnzahl)":

Select * as Auftrg from abf_DeineAbfrage group by [AuftragsNr]
In einem Textfeld in dessen Steuerelementinhalt kommt zu stehen:

=Dcount("*";"abf_AufAnzahl";.Filter)

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1812
Re: Zählen im Formular
« Antwort #2 am: Februar 07, 2018, 13:14:20 »
Ich würde mir allerdings noch die Mühe machen und die Feldliste auf das eine,
zu gruppierende Feld einschränken  ;)
Select [AuftragsNr] As Auftrag from abf_DeineAbfrage group by [AuftragsNr]
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #3 am: Februar 07, 2018, 13:37:40 »
Hallo,

danke für die schnelle Antwort. Mit deinem String gruppiert er das Feld AuftragsNr so das jede Nr. nur einmal erscheint. Sieht alles gut aus. Abfrage habe ich gespeichert und als Steuerelement über DCount an das Textfeld übergeben. Allerdings zeigt das Textfeld erst Null an und wenn ich einen Filter setze zeigt es immer die volle Anzahl an Datensätzen, egal wie ich die Filter setze. Daß Filterkriterium in DCount scheint keine Wirkung zu haben. Hast du noch eine Idee?

Danke sehr.

Rene
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23363
Re: Zählen im Formular
« Antwort #4 am: Februar 07, 2018, 13:47:00 »
Hallo,

ich würde das Sternchen verwenden, weil sonst der Filter m. E.  ins Leere läuft.

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1812
Re: Zählen im Formular
« Antwort #5 am: Februar 07, 2018, 14:00:10 »
Hallo Franz,
Dann funzt aber die ganze Abfrage nicht, - Fehlermeldung: Mit '*'
ausgewählte Felder können nicht gruppiert werden.
Könnte man den Filter nicht besser gleich in die "abf_DeineAbfrage"
einbauen?
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23363
Re: Zählen im Formular
« Antwort #6 am: Februar 07, 2018, 17:51:41 »
Hallo Ekkehard,

das stimmt nun auch wieder... :(

Ich wollte halt das erneute Zusammensetzen der Filterbedingung  sparen.

Bevor wir das aber nun in eine Funktion auslagern, könnten lediglich die nur für den Filter in Frage kommenden Felder in die Abfrage-Select-Liste aufgenommen werden...

PS: Ist ja nun auch wieder Quatsch...


Also dann die zugrunde liegende Tabelle benutzen (allerdings kenne ich ja nicht Tabellenaufbau)

Select [AuftragsNr] As Auftrag from tbl_Auftraege group by [AuftragsNr]

und auf evtl. Where-Conditions achten.

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #7 am: Februar 07, 2018, 19:43:55 »
Abend schön,

uuuppps jetzt wird es glaub ich kompliziert.Könnt Ihr vielicht grob umreissen, was noch möglich ist? Select [AuftragsNr] As Auftrag from tbl_Auftraege group by [AuftragsNr] ist das ein Teil von einer Funktion? Sowas hab ich schon mal versucht, bin aber gescheitert.

Danke für Eure Mühen.
Rene
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1258
Re: Zählen im Formular
« Antwort #8 am: Februar 07, 2018, 21:18:35 »
Weil der antiquarische SQL-Dialekt der Access-Engine keinSELECT Count(DISTINCT Feldname) FROM ...unterstützt, kann man sich einer Funktion wie z. Bsp. ECount von Allen Browne bedienen.
Grüße von der (⌒▽⌒)
 

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #9 am: Februar 08, 2018, 11:13:55 »
Hallo Lachtaube,

die Funktion habe ich eingebaut, aber auch hier fehlt der Kontext zum Filterereignis. Das Textfeld zeigt die Anzahl aller Datensätze bereinigt ohne Dubletten. Die Filterfunktion hat aber keinen Einfluss auf die Anzahl der Datensätze.
Veileicht hat ja jemand noch eine Idee. Ich danke trotzdem schonmal für die schnelle und kompetente Hilfe.

Bis dahin

Rene
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1258
Re: Zählen im Formular
« Antwort #10 am: Februar 08, 2018, 11:27:06 »
Wenn das Formular gefiltert wird, muss der selbe Filterausdruck natürlich auch auf die Funktion angewendet werden, damit die Berechnung auf gleicher Datenbasis beruht.
Grüße von der (⌒▽⌒)
 

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #11 am: Februar 08, 2018, 20:15:32 »
Hallo,

Ok ich versuch mal, ob ich da was hinbekomme.

Danke für die Hilfe.

Rene
 

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #12 am: Februar 13, 2018, 11:10:05 »
Hallo,

Habe es leider nicht hinbekommen. Danke Euch trotzdem für die schnelle und unkomplizierte Hilfe.

Grüsse Rene
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1258
Re: Zählen im Formular
« Antwort #13 am: Februar 13, 2018, 11:59:40 »
Hi Rene,

Du könntest ja ein Minimal-Beispiel mit einigen anonymisierten Daten hochladen (und ggf. Bedienungsanleitung), um sich die Sache vor Ort ansehen zu können.
Grüße von der (⌒▽⌒)
 

Offline ReneB

  • Newbie
  • Beiträge: 20
Re: Zählen im Formular
« Antwort #14 am: März 02, 2018, 13:31:55 »
Hallo nochmal,

nun ich habe es doch noch hinbekommen. Habe eine Abfrage mit den beiden Suchfeldern Datum von und Datum bis aus meinem Formular als Kriterium gebaut. Jedesmal wenn ich diese im Suchformular fülle, zählt er jetzt ordentlich ohne Dubletten. Damit die Abfrage nicht ins Leere läuft, wenn die Suchfelder nicht gefüllt sind, lasse ich diese beiden Felder beim öffnen des Formulars mit dem kleinsten und dem größten Datum füllen, so zählt er mir auch gleich alle Datensätze in der Datenbank. Ist vielleicht nicht die cleverste Lösung, funktioniert aber soweit alles.

Danke an Alle.

Rene