PDA

Vollständige Version anzeigen : darstellung eines diagramms


noplastix
25.09.2003, 10:51
hallo leute,

ich hab diagramme die in formularen dargestellt werden. das problem das ich habe ist die beschriftung der x-achse, die sich aus dem inhalt er tabellen ergeben.
der inhalt der tabellespalte heisst:

sehr wichtig
wichtig
neutral
eher unwichtig
sehr unwichtig

wenn ich mir dass als diagramm darstellen lasse beschriftet access mir den achsen abschnitt mit

eher unwichtig
neutral
sehr unwichtig
sehr wichtig
wichtig

bzw.gekehrt. d.h. aufsteigend oder absteigen.

wie kann ich es aber bewerkstelligen, dass die darstellung nach der priorität erfolgt

Hideloop
25.09.2003, 10:58
Hi,

sortiert wird da offenbar nach Alphabet,
setz doch einfach einen anderen zusätzlichen Wert zur Sortierung
ein. Sprich 1-5 oder so.

Loop

noplastix
25.09.2003, 11:07
hi,
ich hatte zu beginn keine alphabetischen sondern numerische inhalte also 1 bis 5. das habe ich aber ersetzt durch sehr wichtig bis sehr unwichtig.
grund für die umwandlung war die nutzerfreundlichkeit....
wie soll dein vorschlag funktionieren? sprich wie bring ich die zahlen zu den wörten in der tabelle?

Hideloop
25.09.2003, 11:12
2 Felder in der Tabelle
1. Schlüssel und gebunden ( bound column = 1 )
2. Sichtbar ( Column eigenschaften / column count = 2 / width 0,1)

noplastix
25.09.2003, 11:14
sorry versteh ich nicht ganz.
wie soll das funktionieren. kannst du mir das in einfachen worten erklären bitte. ich versteh das nicht ganz

Hideloop
25.09.2003, 11:26
*gg* Ok Du kannst ja immer ein anderes Feld auswählen, als
das auf das die Abfrage läuft.

In einer List box zum Beispiel gibts eine Row source die zum Beispiel
Feld1,feld2,feld3 beinhaltet.

Bei Column count wären das 3, bei widths würdest 0,0,1 setzen um nur die
letzte anzuzeigen.

Wenn Du das mit ner Tabelle anrichten möchtest könntest das so tun.
tabelle bla
Field 1 ( 1 / 2 / 3 )
Field 2 ( echo / alpha / Charlie )

Select field2 from bla order by field1

Damit ist sichtbar nur der Text, sortiert aber nach den Zahlen.

Ich hoffe Du verstehst etwa was ich meine und das ist auch
noch richtig so *gggg*

Loop

noplastix
25.09.2003, 11:35
ok versteh ich was du meinst. das problem das ich habe ist:
der tabelleninhalt wurde aus einer excell-tabelle importiert. somit sind die feldinhalte schon vorgegeben. in den tabellen sind ca. 2000 datensätze...
weißt du hierzu eine möglichkeit, da das mit den mehreren felder wohl hier nicht funktioniert. zumindest wenn ich dich da richtig verstanden habe

Hideloop
25.09.2003, 11:43
Öhm jetzt bin ich verwirrt .....

schreib mal irgendwie den Aufbau oder mach nen Screenshot :)

noplastix
25.09.2003, 11:51
aufbau der tabell:

Feldname Felddatentyp

Frage1 Text
Frage2 Text
Frage3 Text
.... ....
Frage20 Text

in den spalten sind dann die daten (sehr wichtig bis sehr unwichtig) hinterlegt.

das dagramm wir deneriert durch

z.b.
ELECT Count(*) AS [Anzahl von Frage 16_5], Count(*) AS Gesamtantworten, [Gesamtantworten]-[Antworten] AS Leerantworten, Count([tbl_kuzu2003].[Frage 16_5]) AS Antworten FROM tbl_kuzu2003 ;

die darstellung des diagramms erfolgt über ein balkendiagramm.

Hideloop
25.09.2003, 12:00
Öhm sorry ich komm echt nimmer mit.

Wenn Du die Daten importierst, kannst dann nicht die Prio als Feld´
mit in den Datensatz packen ?

noplastix
25.09.2003, 12:08
ne schlecht, da die daten von einem umfragetoll als csv ´s kommen. die werden dann in excell importiert und dann in access. ich weiß das ist etwas umständlich aber die daten werden dann noch anderweitig verwendet.

wenn ich dich richtig verstanden habe soll ich 2 werte in ein feld eingeben. seh ich das richtig oder soll deine lösung etwa so aussehen:

feldname

frage1_wert
frage1_zahl
frage2_wert
frage2_zahl

also für jede frage zwei spalten die dann in der abfrage ausgeleden werden.

Morli
25.09.2003, 12:40
Du könntest Doch innerhalb der Abfrage mittels der "Schalter"-Funktion (schau mal in der Access-Hilfe nach) eine zusätzliche nummerische Spalte erzeugen, nach der Du dann sortieren kannst.

Morli

Hideloop
25.09.2003, 12:58
Yepp so wie Du es geschrieben hast wars gemeint.
Jeh Frage ein Wert der dann eben die Prio. enthält.

Loop

noplastix
25.09.2003, 13:21
das mit dem schalter hört sich schon sehr gut an. wenn ich die hilfe richtig verstanden habe kann ich für z.b. sehr wichtig die zahl 1 hinterlegen und für sehr unwichtig die zahl 5.
wenn ich das richtig verstanden habe gibt access mir aber dann 1 bzw 5 aus und nicht sehr wicvhtig bzw. sehr unwichtig. oder?

könntest du mir bitte eine beispielabfrage basierend aufSELECT Count(*) AS [Anzahl von Frage 17_9], Count(*) AS Gesamtantworten, [Gesamtantworten]-[Antworten] AS Leerantworten, Count(tbl_kuzu2003.[Frage 17_9]) AS Antworten FROM tbl_kuzu2003 ;
geben, die sen schalter enthällt und nach dem numerischen wert sortiert.
hab dank

Morli
25.09.2003, 13:35
Du hast mich teilweise richtig verstanden! Du mußt aber die Schalter-Funktion in einem neuen Feld der Abfrage aufführen. Die Spalte mit den Textwerten läßt Du so wie sie ist. In einer weiteren Spalte fügst Du die Schalterfunktion ein.

Hier noch ein kleines Beipiel:

SELECT Tabelle2.User1, Switch([User1]="a",5,[User1]="b",4) AS Ausdr1
FROM Tabelle2;

Morli

noplastix
25.09.2003, 13:54
ok. soweit ist das klar. und dann
ORDER BY Ausdr.1...
aber wie sag ichs meinem kinde dass er es nach den zahlen und nicht nach den buchstaben sortieren soll.

ich versteh auch nicht wie du das mit den spalten der abfrage meinst. ich weiß nicht wie ich die beiden abfragen zusammenbringen soll

Morli
25.09.2003, 14:03
Alex,

lade doch mal eine A97 - Version Deiner DB (abgespeckt und gezippt) hier hoch, dann ist das schnell erledigt.

Morli

noplastix
25.09.2003, 14:18
ok,
hab hier mal ne einfache tabelle mit ner graphik erstellt, damit du siehst wie ich es meine

Morli
25.09.2003, 14:24
Nicht erkennbares Datenbankformat!

Ich brauche hier leider A97 sonst kann ich Dir erst heute Abend wieterhelfen.

Morli

noplastix
25.09.2003, 14:28
hi,
hab kein ´97 da. ich komme heute eh nicht mehr dazu was dran zu mache. ich wäre dir aber dankbar wenn du dich heute abend nochmal kurz meinem leidigen thema widmen könntest. tut mir echt sorry das ich dich damit so nerve.... hab dank auf jeden

Morli
25.09.2003, 14:31
Aber Du kannst doch aus A2000 heraus im A97 - Format speichern! Ist glaube ich im Menüpunkt "Extras".

Morli

noplastix
25.09.2003, 14:38
sorry find ich net unter extras. ich werd mal prüfen wo das sonst geht.

noplastix
25.09.2003, 14:50
hab die lösung gefunden.
lösungsweg (http://www.access-home.de/htm/tis/tisga021.htm)

hier nochmal die datenbank als "vorherige version"

noplastix
25.09.2003, 14:52
zu schnell.....

Morli
25.09.2003, 14:53
Schön das Du die Lösung gefunden hast, aber wo ist die DB?

Naja, ich habe mal versucht den String so zusammen zubauen:

SELECT Count(*) AS [Anzahl von Frage 16_5], Count(*) AS Gesamtantworten, [Gesamtantworten]-[Antworten] AS Leerantworten, Count([tbl_kuzu2003].[Frage 16_5]) AS Antworten, Switch([tbl_kuzu2003].[Frage 16_5]="sehr wichtig",1,[tbl_kuzu2003].[Frage 16_5]="wichtig",2,[tbl_kuzu2003].[Frage 16_5]="neutral",3,[tbl_kuzu2003].[Frage 16_5]="eher unwichtig",4,[tbl_kuzu2003].[Frage 16_5]="sehr unwichtig",5) As [Wichtung] FROM tbl_kuzu2003 order by [Wichtung];

Dabei bin ich davon ausgegangen, das [tbl_kuzu2003].[Frage 16_5] den entsprechenden Text mit der Wichtung enthält.

Morli

Morli
25.09.2003, 14:59
Oder für dein Beispiel:

SELECT tbl_antworten.frage1, Count(*) AS Anzahl, Switch([Frage1]="sehr gut",1,[Frage1]="gut",2,[Frage1]="befriedigend",3,[Frage1]="ausreichend",4) AS Ausdr1
FROM tbl_antworten
GROUP BY tbl_antworten.frage1, Switch([Frage1]="sehr gut",1,[Frage1]="gut",2,[Frage1]="befriedigend",3,[Frage1]="ausreichend",4)
HAVING (((tbl_antworten.frage1) Is Not Null))
ORDER BY Switch([Frage1]="sehr gut",1,[Frage1]="gut",2,[Frage1]="befriedigend",3,[Frage1]="ausreichend",4);

Morli

noplastix
26.09.2003, 07:32
guten morgen,

hab das jetzt mal ausprobiert. bei meiner db erhalte ich einen syntaxfehler, den werde ich aber schon finden hier der code:SELECT tbl_kuzu2003.[Frage 16_1],
Count(*) AS Anzahl, Switch([Frage 16_1]="sehr wichtig",1,[Frage 16_1]="wichtig",2,[Frage 16_1]="neutral",3,[Frage 16_1]="eher unwichtig",4,[Frage 16_1]=“sehr unwichtig“,5) AS Ausdr1
FROM tbl_kuzu2003
GROUP BY tbl_kuzu2003.[Frage 16_1], Switch([Frage 16_1]="sehr wichtig",1,[Frage 16_1]="wichtig",2,[Frage 16_1]="neutral",3,[Frage 16_1]="eher unwichtig",4,[Frage 16_1]=“sehr unwichtig“,5)
HAVING (((tbl_kuzu2003.[Frage 16_1]) Is Not Null))
ORDER Switch([Frage 16_1]="sehr wichtig",1,[Frage 16_1]="wichtig",2,[Frage 16_1]="neutral",3,[Frage 16_1]="eher unwichtig",4,[Frage 16_1]=“sehr unwichtig“,5);


das order by funktioniert aber nicht richtig. d.h. die sortierung erfolgt weiterhin nicht.
hier nochmal das beispiel mit der eingefügten switch funktion (´97er version zumindest denk ich)

Morli
26.09.2003, 07:44
Hi noplastix,

korrigiere mal den Schreibfehler in Deiner Tabelle, dann funktioniert auch die Sortierung. Du hast dort nämlich "befiedigend" geschrieben. Da der Schalter aber nach "befr iedigend" sucht, klappt das halt nicht!

Morli

noplastix
26.09.2003, 08:01
ohohoh morgenstund hat brett vorm aug. zum glück sehen vier augen mehr als zwei. hab dank etz gehts.
den anderen fehler find ich auch noch.