Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensätze in der Abfrage zählen

Begonnen von Optiplex, November 23, 2010, 12:18:01

⏪ vorheriges - nächstes ⏩

Optiplex

Hallo zusammen,
ich habe wieder mal ein Problem, mit dem ich nicht weiterkomme.
Wie formuliere ich diese Abfrage? Ich habe in einer Tabelle1 ein Statusfeld (Typ Long) nun möchte ich die Summe ermitteln in wie vielen Datensätzen im Statusfeld der Status den Wert 3 hat und dieses Ergebnis in die Tabelle2 ins Feld Ergebnis (Typ Long) eintragen. Geht das in einer Abfrage?

rs= OpenRecordset("Select Status .... Where Status = 3")
rs!Ergebnis= ??
rs.Update

Gruß Dieter

lumbumba

#1
Wenn ich mal wieder nix falsch verstanden habe dann sollen alle status 3 gezählt werden?

SELECT Count(Status ) AS AnzahlvonStatus ... GROUP BY Status HAVING (((Status)=3));

Aber evt reicht dir ja auch nur

dim c as long
c = DCount("[Status]", "Name der Tabelle 1", "[Status]=3")

aba ich glaube du meinst das hier:

dim sSQL as string
sSQL = "INSERT INTO Tabelle2 ( ergebnis ) SELECT Count(Status) AS AnzahlvonStatus FROM Tabelle1 " & _
            "GROUP BY Status HAVING (((Status)=3));

docmd.runSQL(sSQL)

---

Optiplex

Genau Lumbumba,

rs= OpenRecordset("SELECT Count(Status ) AS AnzahlvonStatus FROM Tabelle1 GROUP BY Status HAVING (((Status)=3))");

Ist die Syntax so richtig ?
Warum diese 3 Klammern bei HAVING (((Status)=3)) und kann ich Tabelle2 nicht gleich mit öffnen um im Datensatz (Feld ID) ins Feld Ergebnis das AnzahlvonStatus einzutragen?

Viele Fragen ich weis.

Danke und Gruß Dieter

MzKlMu

#3
Hallo,
eigentlich reicht der Vorschlag von lumbumba völlig aus.
Abgewandelt als Steuerelementinhalt:
= DomAnzahl("[Status]"; "Name der Tabelle 1"; "[Status]=3")
In einem Formular z.B.

Das Speichern in der Tabelle ist nicht notwendig, ich halte es sogar für falsch. Denn immer wenn sich was ändert muss Du dafür sorgen, dass das feld in der Tabelle aktuell ist. Und das könnte schief gehen. Dann stimmt die Tabelle nicht. Solche Sachen werden bei Bedarf wie gezeigt berechnet, aber nicht gespeichert.
Gruß Klaus

Optiplex

Danke ihr beiden damit komm ich nun klar.

Gruß Dieter