# Access - Wenn, Dann, Zählen, Berechnen



## Krausesh (18. April 2005)

Sehr geehrte Damen und Herren,

dieses Forum hat mir schon oft geholfen. Meist reichete es einfach nur aus zu suchen und die Lösungen für andere User an die eigenen Erfordernisse anzupassen. Doch diesmal ist es etwas komplizierter, deswegen will ich es hier mein Problem komplett darstellen. 

Ich sitze hier vor einer großen "Accesstabelle" (2500Einträge) in der Firmen und deren Abfallaufkommen erfasst sind. 

Ich möchte nun ermitteln wieviel Tonnen pro Unternehmensstandort durchschnittlich anfallen.

Dazu müßte ich erstmal ermitteln wieviele Standorte ein UN hat. In der Spalte D (Name) steht der Firmenname, in der Spalte E (Standortnr) der Standortname. 
Man müsste also pro Unternehmensname ermittel, wieviele unterschiedliche "Standortnr." es gibt. 
Pyramidable wäre es dann gleich noch, die summierte Anfallsmenge (Spalte Q) pro Unternehmen insgesamt, durch dessen Anzahl unterschiedlicher Standortnr. zu dividieren. 
Allerdings dürfen nur Zeilen ausgewertet werden in denen in der Spalte R(fakt_mengeneinheit_code) der Wert TO steht.

Puh - wer hat den Kot?  

Ich würde mich über komplette Lösungen oder auch Tips sehr freuen.

Grüße


----------



## Thomas Darimont (18. April 2005)

Hallo!

Meinste du mit 


> Ich möchte nun ermitteln wieviel Tonnen pro Unternehmensstandort durchschnittlich anfallen.


...für jedes Unternehmen oder meinst du mit Standorte eher die unternehmensunabhänige Information der geographischen Lage?

```
id	D	StandortNr	R	Q
1	A	1	kg	109
2	A	2	TO	218
3	A	3	TO	200
4	B	1	TO	12
5	B	3	kg	231
6	C	1	TO	123
7	C	2	TO	456
8	C	3	TO	789
9	A	2	TO	37
10	A	2	TO	111
11	B	3	TO	100
12	C	1	TO	1000
```

Würden die Werte Standorte (1,2,3) in die gesamte Durchschnittsberechnung eingehen oder ist beispielsweise der Unternehmensstandort 1 des Unternehmens A != dem Unternehmensstandort 1 des Unternehmens B ?

Gruß Tom


----------



## Slizzzer (18. April 2005)

Hallo!
Hört sich so an, als ob Du alles in einer Tabelle verwaltest?!
Sollte das so sein, dann teile erstmal die Daten vernünftig auf, z.B.:

Tabelle Firmen:
FirmenID
Firmenname
...

Tabelle Standorte:
FirmenID
StandortID
Dtandort
...

Tabelle Abnahmemengen:
StandortID
AbnahmeID
AbnahmeDatum
AbnahmeMenge
...

Jeweils über die ID der "höheren" Tabelle verknüpfen in einer 1:n Beziehung.
Dann kann man das auch vernünftig auswerten.


----------



## Krausesh (19. April 2005)

sorry, dass ich mich erst so spät melde, aber ich habe überhaupt keine email bekommen....

@Thomas: Ich soll herausbekommen wieviel "Müll" im Durchschnitt pro Anfallstelle anfällt. Eine Anfallsstelle kann ein Unternehmen mit nur einem Standort (Hauptfiliale) sein oder auch verschiedene Standorte (andere Filialen) eines anderen Unternehmens. Es würde, meines Erachtens, schon reichen die Abfallmenge eines UN zu addieren und durch die Anzahl seiner Standorte zu teilen. Die Anzahl der Standorte kann man bestimmen, indem man zählt wieviele unterschiedliche Werte(Nr. 1, 2, usw) in der Spalte (Standortnr) pro gleichem Unternehmensnamen existieren. 



zu deinem beispiel

ID Standortnr Name Anfallsmenge Mengencode
1 1 A 100 TO
2 2 A 50 TO
3 1 A 30 TO
4 3 A 40 TO
5 1 B 50 TO
6 2 B 50 TO
7 2 B 50 TO
8 1 C 50 TO
9 1 D 50 TO

ich hoffe ich konnte es Dir nun besser verdeutlichen.

@ Slizzzer: eigentlich liegt sie zur Zeit jungfräulich als datei.xls vor
,-(
natürlich werde ich sie in "Form" bringen, wenn es verlangt wird!

ich bedanke mich bei euch und warte auf Antwort.

grüsse
Krausesh


----------



## Thomas Darimont (19. April 2005)

Hallo!

Siehe Anhang.

Gruß Tom


----------



## Krausesh (19. April 2005)

wow, 

wahnsinn, so hatte ich es mir vorgestellt. Ich werde jetzt versuchen sie zu verstehen und mich dann nochmal melden. 

tausend dank. hätte nie gedacht das ich mich mal für "Müll" bedanken werde. 

herzlichst
Krauses H


----------



## Krausesh (19. April 2005)

Hey Tom,

die abfrage: qryAverageWasteAppearenceForEachCompany ermittelt den Mittelwert der Abfallmenge von einem Unternehmen, mit all dessen Standorten. Nun kann es aber vorkommen kann, dass ein Standort mehrmals genannt wird. Dass wird aber leider nicht berücksichtigt. So wird das Ergebnis verfälscht.
Ich glaube man müßte zählen wieviel unterscheidliche Standortnr es pro Unternehmen gibt, die gesamte Abfallmenge pro Unternehmen damit dividieren.

ansonste ist es so, wie ich es mir vorgestellt hatte. nochmal 1000 Dank

uwe


----------



## Krausesh (20. April 2005)

...oder das Abfallaufkommen eines Unternehmens zu addieren und durch die Anzahl der Nennung aus der Abfrage "qryAverageWasteApperanceForEachCompanyUnloadingPoint" zu dividierenden. Aber wie kann man das anstellen, die Namen sind ja nun nicht mehr gleich, sondern unterscheiden sich dann durch einen Unterstrich und die Standortnummer!

 herzlichst
 uwe


----------



## Krausesh (21. April 2005)

im Excel gibt es eine Funktion, die da wie folgt aussieht:

=SUMME(WENN(HÄUFIGKEIT(A1:A10;A1:A10)>0;1))


(Quelle:excel-inside.de)

Diese Formel ermittelt die Anzahl aller unterschiedlicher Werte. 
Für Access habe ich leider nichts der gleichen gefunden. Und wenn es sowas gibt(muss es ja!), wie schafft man es, nur dann die Häufigkeit der unterschiedlichen Werte zu zählen, wenn in einer anderen Tabelle der gleiche Wert steht. 
Denn Unternehmen können nämlich mehrere Standorte haben, dann werden sie mehrmals aufgezählt unter ihrem gleichen Namen, aber mit einer anderen Standortnr, die wiederum auch öfters gennant werden kann. Desweiteren können verschiedene Unternehmen die gleichen Standortnr.(Nr der Einer Filiale) haben, obwohl es keinen logischen Zusammenhang gibt.


Über eure Hilfe würde ich mich natürlich sehr freuen.

ich bedanke mich im voraus

Krausesh


----------



## Krausesh (23. April 2005)

kann mir keiner helfen?


----------

