Abfrage letzter Einträge

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Abfrage letzter Einträge

Re: Abfrage letzter Einträge

von emtewe » Do, 14.06.2007 09:12

Problem gelöst.
Die Spalte braucht einen ALIAS, dann klappts auch mit der Formatierung. Wenn ich im Entwurf das zweite Feld der Datumsspalte leer lasse, dann gibt's in der Ansicht später nur eine Zahl, schreibe ich in das zweite Feld der Spalte einen Titel, der später im SQL Code hinter dem Wort "AS" auftaucht, dann ist die Spalte in der Ansicht auch als Datum formatiert. Ich weiß zwar nicht warum das so ist... aber es funktioniert jetzt.

Gruß
emtewe

Re: Abfrage letzter Einträge

von emtewe » Mi, 13.06.2007 15:24

So, nächstes Problem:

Ich habe nun versucht die gleichen Schritte auf einer MySQL Datenbank zu wiederholen, aber leider taucht dort das ursprüngliche Problem wieder auf. Wenn ich eine Tabellenansicht erstelle, bekomme ich wieder das Problem mit dem Datum welches in eine Zahl umgewandelt wird...

Komischerweise sieht die Tabellenansicht, was das Symbol betrifft, dort auch genauso aus wie eine Tabelle.

Gruß
emtewe

Re: Abfrage letzter Einträge

von emtewe » Di, 12.06.2007 14:35

Danke für den Hinweis, aber die Namen in der Liste beziehen sich auf eindeutige Objekte, d.h. jeder Name steht für genau ein Objekt. Den Objekten können verschiedene Ereignisse zu verschiedenen Terminen zugeordnet sein, und manchmal brauche ich halt eine Liste mit allen letzten Ereignissen für alle Objekte, dafür diese Abfrage.

Es läuft inzwischen auch richtig gut...

Das nächste Problem das auch mich zukommt ist eine Abfrage mit variablen Grenzwerten, dh. ich brauche ein Formular in das ich eine Ober- und Untergrenze eingeben kann, welches mir dann alle dazwischen liegenden Einträge als Tabelle liefert... aber ich schau erstmal wie weit ich selber komme, das ist sicher besser zum Lernen, und wenn ich nicht weiterkomme schau ich hier nochmal vorbei. Prima Forum übrigens!

Gruß
Michael

Re: Abfrage letzter Einträge

von Gert Seler » Di, 12.06.2007 11:49

Hallo emtewe,
Du solltest unbedingt den "Namen" entsprechende "Kundennummern" zuweisen, damit werden spätere Namensgleichheiten z.B. Klaus Zweimal (sen)
und Klaus Zweimal (jun) vermieden.
Die Zahlen beim "Datum" sind richtig, denn das Datum wird ab dem 31-12-1899 aufsteigend hochgezählt.

mfg
Gert

Re: Abfrage letzter Einträge

von emtewe » Mo, 11.06.2007 16:42

Danke, das wars. Mit der Änderung funktionierts wie zuvor beschrieben...

Gruß
Michael

Re: Abfrage letzter Einträge

von berndkli » Mo, 11.06.2007 13:54

Hallo Michael
emtewe hat geschrieben:Ich habe eine Abfrage erstellt nur aus den Spalten Name und Datum,
Du must eine TABELLENANSICHT erstellen.Das findest du unter Tabellen=> Aufgaben =>Ansicht erstellen.
Öffne dann eine Abfrage im Entwurfsmodus, öffne deine Tabelle und die Ansicht "Letzte Eintäge",
klicke in "Letzte Einträge" auf die Datumsspalte und ziehe sie auf die Datumsspalte der Tabelle. Mit der Namensspalte verfährst du genauso.


Gruss Bernd

Re: Abfrage letzter Einträge

von emtewe » Mo, 11.06.2007 10:48

Ich habe das jetzt wie beschrieben probiert:

1. Ich habe eine Abfrage erstellt nur aus den Spalten Name und Datum, und habe mit Gruppieren und Max das ganze nach dem Datum sortiert. Diese Tabelle sieht so aus wie es mir vorgestellt habe, nur muss ich beim Öffnen der Abfrage das Format des Datums neu einstellen, weil dort nur Zahlen stehen. Diese Abfrage habe ich "Letzte Einträge" genannt.

2. Jetzt habe ich eine neue Abfrage im Entwurfsmodus erstellt, habe dort die ursprüngliche Tabelle mit allen Daten, sowie die Abfrage "Letzte Einträge" geöffnet, und habe über "Einfügen - neue Relation" die Spalten "Name - Name" und die Spalten "Datum - MAX (Datum)" verbunden.

...leider bekomme ich jetzt, immer wenn ich speichern möchte oder die Vorschau mit F4 aktiviere, die Meldung "Syntax Error in SQL Expression"

Lasse ich die Verknüpfung über das Datum weg, funktioniert es, allerdings nur mit den hier schon angedeuteten Fehlern, die Verknüpfung nur über den Namen reicht nicht aus.

Kann dies daran liegen dass das Datumsformat in der Abfrage "Letzte Einträge" sich irgendwie durch die MAX-Gruppierung verändert hat?

viele Grüße, und Danke schonmal an alle die sich hier beteiligen
Michael

von berndkli » Mi, 06.06.2007 23:31

Hallo Barlee
@Bernd: Eine Verknüpfung über die Datumsspalte reicht m.E. nicht aus. Das würde dazu führen, dass einige Daten dem falschen Namen zugeordnet werden.
Hast recht. Hab ich falsch gedacht.

Der letzte Satz in meinem Posting von 16:48 muss demnach lauten:
Verknüpfe die Tabellen über die Datum- und Namenspalten.

Gruss Bernd

von Barlee » Mi, 06.06.2007 22:47

Hallo emtewe, bernd(kli),

@emtewe: folgende Abfrage könnte für Dich als Arbeitsgrundlage dienen. Sie ist die Umsetzung von Bernd's Vorschlag.
@Bernd: Eine Verknüpfung über die Datumsspalte reicht m.E. nicht aus. Das würde dazu führen, dass einige Daten dem falschen Namen zugeordnet werden. Bsp.

folgende Ausgangsdaten:
AAA 04.01.01 A1
EEE 04.01.01 E2

führen bei Verknüpfung nur über die Datumsspalte zu folgendem Ergebnis:
EEE 04.01.01 A1
EEE 04.01.01 E2
AAA 04.01.01 A1
AAA 04.01.01 E2

Daher sollte auch der Name einbezogen werden.

Code: Alles auswählen

select
a.Name,
a.Datum,
b.Daten

from

(Select Name, max(Datum) as Datum from EMTEWE group by Name) a,
(Select Name, Daten, max(Datum) as Datum from EMTEWE group by Name, Daten) b

where 

a.Name = b.Name and 
a.Datum = b.Datum
Gruß Barlee

Mit der zweiten Abfrage, das hätte ich auch so gemacht, ...

von NTClient » Mi, 06.06.2007 20:10

... aber weiß eigentlich immer noch niemand, wie ich in einer Abfrage Daten eingeben oder ergänzen kann?
Gruß Bernd!

von emtewe » Mi, 06.06.2007 17:04

Danke, werde ich Freitag probieren...

Gruß
Michael

von berndkli » Mi, 06.06.2007 16:48

Hallo emteve

Erstelle zunächst eine Tabellenansicht mit den Spalten Name und Datum und wende die Funktionen Gruppierung und Max an.
Dann baust du dir eine Abfrage mit den Spalten Name und Datum aus der Tabellenansicht und den übrigen Datenspalten aus der eigentlichen Tabelle.
Verknüpfe die beiden Tabellen über die Datumsspalte.

Gruss Bernd

von emtewe » Mi, 06.06.2007 15:45

So, ich habe jetzt eine Abfrage im Entwurfsmodus erstellt, die Namen werden gruppiert (Funktion Gruppierung) und das Datum steht auf Maximum (Funktion Maximum).

Es funktioniert soweit, nur wie kann ich jetzt weitere Daten anzeigen lassen?

Wenn ich weitere Spalten hinzufüge, dann muss ich die auch gruppieren, und dann können plötzlich wieder mehr Einträge mit einem Namen auftauchen.

Gruß
emtewe

von emtewe » Mi, 06.06.2007 14:25

Hmm, ich kann einen Wert mit dem Format "Datum" irgendwie nicht als Maximum auswählen...

Weder mit dem Abfrage-Assistenten, noch im Entwurfsmodus.

Gruß
emtewe

PS: Habe gerade im Buch "Datenbanken mit OpenOffice.org 2.0" von Thomas Krumbein den Hinweis gefunden (S.203) dass Aggregatsfunktionen nur mit numerischen Werten möglich sind :-(

Abfragefunktion

von NTClient » Mi, 06.06.2007 13:34

Kann man nicht einfach die Tabelle in den Abfrageebtwurf holen und dann
, dann die beiden Spalten "Name" und "Datum" abfragen und zwar mit den Funktionen: Spalte "Name" gruppiert und die Spalte "Datum" mit Maximum?

Gruß Bernd!

Nach oben