Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Alter in PrivotChart darstellen
Gehe zu Seite 1, 2  Weiter
zurück: Uhrzeit ohne Doppelpunkt weiter: Filtern im Endlosformular Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Feb 2008, 13:56
Rufname:

Alter in PrivotChart darstellen - Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo
ich habe wieder mal ein kleines Problem.
Ich habe eine Datenbank mit Vereinsmitgliedern erstellt.
Nun möchte ich die Altersstruktur des Vereins mittels einer PrivotChart darstellen.
Dazu habe ich in der Entwurfsansicht das Alter meiner Mitglieder tagesgenau berechnet und dieses Feld dann in die PrivotChart Ansicht rein gezogen.
Problem ist nun dass die Datenbank mir die Alter meiner Mitglieder addiert, d.h. ich habe 3 16-jährige mitglieder.
In der entsprechenden Säule meines Säulendiagramms steht daher der wert 48.
Hier sollen allerdings eine 3 stehen.
Wie kann ich das aufschlüssseln?
Da Oansa
Access / VBA Professional


Verfasst am:
02. Feb 2008, 14:25
Rufname:


AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo,


Mach doch sowas:
Code:
SELECT   Alter, Count([Alter]) AS Anzahl
FROM     DeinerTabelle
GROUP BY Alter
ORDER BY Alter
Das ist eigentlich alles. Hoffe es hilft.

Klaus
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Feb 2008, 19:25
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

danke schön
ist schon mal nicht schlecht.
leider berechne ich das alter allerdings erst in der PrivotChart und kann den code so also nicht verwenden da in der tabelle ja nur das geburtsdatum steht.
wo muss ich den code eigentlich eingeben
beim laden des formulars?
Da Oansa
Access / VBA Professional


Verfasst am:
02. Feb 2008, 20:05
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo,

die Frage ist: wie berechnest Du das Alter?

Angenommen Du hast eine Funktion deklariert, die das für Dich bewerkstelligt, und die lautet z.B.
Code:
Public Function Alter(byval GebDatum As Date) As Integer
Dann kannst Du in der Abfrage wie folgt vorgehen:
Code:
SELECT   Alter(CDate(GebDatum)) AS [Alter], Count(Alter(CDate(GebDatum))) AS [Anzahl]
FROM     DeinerTabelle
GROUP BY Alter(CDate(GebDatum))
Müsste so klappen.

Klaus
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Feb 2008, 20:49
Rufname:


AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

ich hab ein textfeld mit folgender funktion eingefügt:
Code:
=(DatDiff("jjjj";[Geboren];Datum())+(Format(Datum();"mmtt")<Format([Geboren];"mmtt")))
ich wollte das alter tagesgenau, da die anderen funktionen ungenauigkeiten von mehren tagen aufweißen.
bei älteren mitgliedern in der datenbank die über 80 Jahre alt waren hatte ich teilweise sogar ein Jahr differenz zwischen tatsächlichem und errechnetem Alter.
Da ich das Alter auf diese weise berechnet habe komme mit mit deinem code leider nicht weiter.
danke trotzdem.

In der Entwurfsansicht steht nur das Feld "Geboren" und ein Textfeld mit oben stehendem Code. Mit VBA habe hier noch gar nichts errechnet.
Hat jemand noch eine Idee?
Nachtrag: gildemeister am 03. Feb 2008 um 17:49 hat folgendes geschrieben:
Könnte jemand von euch sie die sache noch mal anschauen?
Da Oansa
Access / VBA Professional


Verfasst am:
03. Feb 2008, 19:04
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo Gildemeister,

leider arbeite ich nicht mit den Assistenten. Ich weiß also nicht, was die für ein SQL erzuegt haben - druck doch das SQL Statement mal hier ab.

Du kannst meine Abfrage aber trotzdem verwenden: ersetze einfach meinen Ausdruck
Code:
Alter(CDate(GebDatum))
durch Deinen Ausdruck
Code:
(DatDiff("jjjj";[Geboren];Datum())+(Format(Datum();"mmtt")<Format([Geboren];"mmtt")))

Zitat:
Mit VBA habe hier noch gar nichts errechnet.
Doch - die Funktionen DatDiff , Datum() und Format werden auch vom VBA Interpreter ausgeführt. Wink

Gruß

Klaus
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Feb 2008, 19:36
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Außer dass ich irgendwo noch nen syntaxfehler drin hab den ich aber leider nicht finde müsste das dann so stimmen oder?
Code:
SELECT   [Name], Vorname, ID, Geboren,
         (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Alter],
         Count(DatDiff("jjjj";[Geboren];Datum())+
               (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Anzahl]
FROM     tbl01_Name
GROUP BY (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt")))
Da Oansa
Access / VBA Professional


Verfasst am:
03. Feb 2008, 19:57
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo,

jaaaa, wer select ohne Aggregatfunktion sagt, muss auch Group By sagen, oder die Felder aus dem Select entfernen:
Code:
SELECT   (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Alter],
         Count(DatDiff("jjjj";[Geboren];Datum())+
               (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Anzahl]
FROM     tbl01_Name
GROUP BY (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt")))
Für diesen Fall musst Du Name, Vorname, GebDatum und ID weglassen, das hat gar keinen Sinn - Du willst ja wissen, wieviele Personen welchen Alters in der Tabelle stehen - da könnne individuelle Informationen ja nicht mehr drinstehen!

Also den Select um die Felder [Name], Vorname, ID, Geboren erleichtern, dann klappt es!

Klaus
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Feb 2008, 20:02
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hups so ein blöder fehler
Peinlich, peinlich Embarassed
Allerdings steck da irgenwo immer noch ein syntayfehler
Code:
SELECT   (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Alter],
         Count(DatDiff("jjjj";[Geboren];Datum())+
               (Format(Datum();"mmtt")<Format([Geboren];"mmtt"))) AS [Anzahl]
FROM     tbl01_Name
GROUP BY (DatDiff("jjjj";[Geboren];Datum())+
          (Format(Datum();"mmtt")<Format([Geboren];"mmtt")))

Er markiert mir den strich-punkt gleich nach datDiff("jjjj";... nach SELECT
Was mach ich falsch?
Danke noch mal für die mühe die du dir machst.
Ich glaub ich bin ein schwerer fall.
Da Oansa
Access / VBA Professional


Verfasst am:
03. Feb 2008, 20:38
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo,

also, Du bist ja kurz vor dem Ziel. Eine wichtige Sache vielleicht am Rande: Eventuell ist Dir schon aufgefallen, dass Funktionsnamen im Entwurfsbereich der Abfrage in Deutsch stehen, wenn Du sie aber in SQL ansiehst, dann stehen die da in Englisch. Das ist auch das Problem in Deiner Abfrage.

Ich gehe also mal von der SQL Ansicht aus, und da musst Du in Deiner Abfrage die Semikola durch Kommata ersetzen (deshalb steht da auch der Cursor). Und die Funktionen müssen in Englisch stehen (also DateDiff, Date(), Count())

Ich denke, jetzt bekommst Du es alleine gebacken?

Klaus
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Feb 2008, 20:55
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Jetzt bringt er die meldung
"ungültiger prozeduraufruf"
Code:
SELECT   (DateDiff("jjjj",[Geboren],Date())+
          (Format(Date(),"mmtt")<Format([Geboren],"mmtt")))  AS [Alter],
         Count(DateDiff("jjjj",[Geboren],Date())+
               (Format(Date(),"mmtt")<Format([Geboren],"mmtt"))) AS [Anzahl]
FROM     tbl01_Name
GROUP BY (DateDiff("jjjj",[Geboren],Date())+
          (Format(Date(),"mmtt")<Format([Geboren],"mmtt")))

Der Code müsste aber so doch stimmen oder?
Da Oansa
Access / VBA Professional


Verfasst am:
03. Feb 2008, 21:01
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Ja, das ganz ist etwas zäh, aber wir kommen hin Smile

Du hast korrekterweise jetzt englische Funktionsnamen verwendet. Der erste Parameter der DateDiff Funktion lautet bei Dir "jjjj" - hm im englischen heißt es year ergo? -> "yyyy"

(Du denkst aber auch an Month Day - gell

Und noch ein Versuch Wink

Klaus

P.S: Kleiner Tip: schreib im Abfrageentwurf erst die deutsche Version der Funktion - Acess übersetzt die dann korrekt ins Englische!
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
04. Feb 2008, 15:16
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

gildemeister am 03. Feb 2008 um 20:19 hat folgendes geschrieben:
es funktioniert!!!!
danke für deine hilfe!
echt spitzenmäßig.
sorry, hab mich ja ganz schön blöd angestellt!

Ich muss jetzt noch mal nach hacken.
Ich habe leider noch ein problem
Zwar wird mein diagramm jetzt schön dargestellt, aber leider ist die ansicht etwas verfälscht, da ich teilweise keine mitglieder durgehenden alters habe. d.h ich habe 3 16jährige und 5 18jährige Mitglieder aber keinen 17 jahrigen. wie kann ich die abfrage so umbauen, dass mir die anzahl aller mitglieder für den bereich zwischen 16 und 95 jahren angezeigt wird?
Da Oansa
Access / VBA Professional


Verfasst am:
04. Feb 2008, 15:33
Rufname:

AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

Hallo,

ja, eine gute Frage.

Folgender Trick fällt mir ein:

Wenn Du ein Ergebnis hast, das so aussieht:

15 x 3
16 x 1
17 x 4
19 x 4

usw.

Nun baust Du Dir eine Tabelle (TAlter), in der alle Alter in einer einzigen Spalte enthalten sind. Also:

1
2
3
.
.
99

Nun verknüpfst Du diese Tabelle mit dem Ergebnis der Abfrage und machst abermals einen LEFT JOIN und zwar ausgehend von TAlter hin zum Abfrageergebnis (Pfeilspitze auf Abfrageergebnis).

Damit werden alle Felder der Spalte Alter angezeigt.

Für die Anzahl schreibst Du in das Feld den Ausdruck:
Code:
IIf([Abfrage].Alter > 0; [Abfrage].Alter; 0)
Dann steht bei jedem Alter in Wert - entweder 0, weil es das Alter nicht gibt, oder das Alter aus der Abfrage.

Gruß

Klaus

P.S. sieht sehr kompliziert aus. Weiß jemand, wie das einfacher hinzubekommen ist? Ich meine mich zu erinnern, dass es sowas wie einen Zähler gibt, den man in Abfragen einbauen kann. TOP?
gildemeister
Im Profil kannst Du frei den Rang ändern


Verfasst am:
04. Feb 2008, 15:57
Rufname:


AW: Alter in PrivotChart darstellen - AW: Alter in PrivotChart darstellen

Nach oben
       Version: Office 2007

danke schon mal
so ne tabelle mit dem alter habe ich schon gemacht.
mit dem left join komme ich allerdings nicht so klar.
wie du weißt bin ich nicht grade ein access crack.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Access Auswahlwahlabfrege: Datum ohne . (Punkte) darstellen 4 olamuell 1007 31. Aug 2010, 17:55
Gast Access Auswahlwahlabfrege: Datum ohne . (Punkte) darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Wie Beziehungen überischtlicher darstellen/Beziehungsfenster 12 djacme 2149 15. Jan 2010, 17:06
tk6 Wie Beziehungen überischtlicher darstellen/Beziehungsfenster
Keine neuen Beiträge Access Tabellen & Abfragen: SELECT-Abfrage plus ALTER TABLE zusammenfassen? 1 barongsay1 1511 13. Jul 2009, 11:43
DBKlempner SELECT-Abfrage plus ALTER TABLE zusammenfassen?
Keine neuen Beiträge Access Tabellen & Abfragen: Gruppierung einer Tabelle nebeneinader darstellen 1 Imo-Parceval 289 11. Jun 2009, 16:04
derArb Gruppierung einer Tabelle nebeneinader darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle aktualisieren aus alter DB mit Kontrollabfrage 0 yankee128 304 25. Feb 2009, 22:38
yankee128 Tabelle aktualisieren aus alter DB mit Kontrollabfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Zahl als Text - immer 11-stellig darstellen 9 Stelio 1422 16. Jan 2009, 15:15
Stelio Zahl als Text - immer 11-stellig darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Alter von Mitgliedern 1 wagnerhirrli 293 15. Dez 2008, 20:56
KlausMz Alter von Mitgliedern
Keine neuen Beiträge Access Tabellen & Abfragen: keine nullstellen im oberflächendiagramm darstellen 0 habicht 282 15. Dez 2008, 13:21
habicht keine nullstellen im oberflächendiagramm darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Geburtstage - Alter - und sowas=) 3 toffi 895 24. Apr 2008, 14:17
toffi Geburtstage - Alter - und sowas=)
Keine neuen Beiträge Access Tabellen & Abfragen: Ergebniss einer SQL Abfrage in Excel darstellen 0 Hinshman 498 28. Feb 2008, 12:26
Hinshman Ergebniss einer SQL Abfrage in Excel darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich folgenden Sachverhalt darstellen? 8 0liver 1103 13. Dez 2007, 15:22
Stefffano Wie kann ich folgenden Sachverhalt darstellen?
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen in einem Diagramm darstellen 2 Stümper 1218 11. Sep 2007, 21:17
Stümper Mehrere Abfragen in einem Diagramm darstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Frontpage Forum