(gelöst) Duplikate werden nicht angezeigt

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: (gelöst) Duplikate werden nicht angezeigt

Re: Duplikate werden nicht angezeigt

von Noebian » Fr, 13.04.2012 17:49

um die Sache hier abzuschließen: man bekommt die Klausel über ein simples Makro in den Griff - ganz einfach, wenn man es weiß :-)
vermutlich ist sie auf einem ähnlichen Weg auch hinein gekommen.

Code: Alles auswählen

sub test
oDoc = ThisDatabaseDocument.FormDocuments.getByName( "frm_Einladungsliste" ).open 
oForm = oDoc.DrawPage.Forms.GetByIndex(0) 
oForm.Groupby=""
end sub 
herzlichen Dank an alle!

Re: Duplikate werden nicht angezeigt

von Noebian » Di, 10.04.2012 20:59

Durch die freundliche Hilfe von Robert hat sich herausgestellt, dass mit dem Formular ein "Group by" Statement verknüpft ist. Dies wurde sichtbar, als ich das isolierte Formular (dh kopiert und in eine neue Datenbank verfrachtet) mit einer Tabelle als Datenquelle verknüpft habe. Dann kam folgende Fehlermeldung: Not in aggregate function or group by clause... in Statement [SELECT * FROM "tbl_personendaten" GROUP by "Nachname" ORDER BY "Nachname"].
Robert hat dann die *.odb-Datei entpackt und am Quelltext geschraubt um die Klausel wieder loszuwerden. Wir haben keinen Weg gefunden, sie über die normale Oberfläche zugänglich zu machen.
Hat jemand eine Erklärung dafür, wie soetwas entstehen und vermieden bzw. behoben werden kann?

Re: Duplikate werden nicht angezeigt

von Noebian » Sa, 07.04.2012 20:14

Wenn Du meinst, dass das was bringt ohne Daten - danke schön! Ist unterwegs.

Re: Duplikate werden nicht angezeigt

von Noebian » Sa, 07.04.2012 19:56

HI,
das Formular ist so kontruiert, dass es ein Main-Formular gibt, welches ein Tabellenfeld enthält. Hier werden die Ergebnisse einer Abfrage angezeigt. Dann gibt es mehrere Subformulare, die mit dem Main-Formular verknüpft sind und direkt auf Tabellen zugreifen.
Wie schon gesagt: die Abfrage liefert die gewünschten Ergebnisse, die werden aber vom Tabellenfeld nicht richtig dargestellt. Es kann eigentlich keine Unterschiede im Handling zu den Rufnamen geben, es sind auch keine Makros am Start - außer den Sortierungen, die per Makro vorgenommen werden (dafür gibt es einzelne Buttons). Aber die aktuellen Filter und Sortierungen werden im Eigenschaftsdialog des Feldes ja angezeigt, sind also nachvollziehbar!
Ich habe jetzt mal spaßeshalber ein neues Unterformular eingefügt und als Datenquelle die gleiche Abfrage genommen wie im Main-Formular: siehe da, das dort eingefügte Tabellenfeld zeigt auch die doppelt vorhandenen Nachnamen an.
Ich kann mir die Sache beim besten Willen nicht erklären, vielleicht gibt es einen ganz blöden Grund dafür. Im Moment weiß ich mir nicht anders zu helfen als ein neues Formular zu erstellen. :?

Re: Duplikate werden nicht angezeigt

von F3K Total » Fr, 06.04.2012 07:35

Hallo DPunch,
da hast Du Recht, ich hatte mit von der Eintragung im Formular irreführen lassen:
S.png
S.png (1.44 KiB) 2657 mal betrachtet
Gruß R

Re: Duplikate werden nicht angezeigt

von DPunch » Fr, 06.04.2012 02:17

Servus
F3K Total hat geschrieben:ohne das ich es geprüft habe, sieht dein Makro komisch aus
Nein, .Order ist ein String und kann daher selbstverständlich nicht mehr als Anführungszeichen am Anfang und am Ende verarbeiten.
Gegen die ursprüngliche Schreibweise ist nichts einzuwenden.

Zum Thema:
kannst Du eine Beispieldatei hochladen, in der das Verhalten nachvollziehbar ist?

Re: Duplikate werden nicht angezeigt

von Noebian » Fr, 06.04.2012 00:15

Hi R,
"Nachname, Rufname" funktioniert,
während "Nachname", "Rufname" die Fehlermeldung "Unerwartetes Symbol: ,"
hervor ruft.

Re: Duplikate werden nicht angezeigt

von F3K Total » Do, 05.04.2012 23:39

Hi,
ohne das ich es geprüft habe, sieht dein Makro komisch aus:

Code: Alles auswählen

   oForm.ApplyFilter = true   
   oForm.Filter = ""
   oForm.order = "Nachname, Rufname"
   oForm.reload[/quote]
würde ich mal ändern in

Code: Alles auswählen

   oForm.Filter = ""
   oForm.order = "Nachname", "Rufname"
   oForm.reload
wobei du auf die Gänsefüßchen um Nachname und Rufname achten solltest.

Gruß R

Re: Duplikate werden nicht angezeigt

von Noebian » Do, 05.04.2012 22:56

Ja, es werden per Makro verschiedene Filter gesetzt - aber die aktuellen Filter werden ja immer auch bei den Formulareigenschaften angezeigt.
Es ist (laut Formulareigenschaften) aktuell kein Filter gesetzt, die Abfrage liefert die richtigen Ergebnisse und das Formular zeigt sich nicht an. Ich komme einfach nicht dahinter...
Übrigens tritt der gleiche Effekt auch auf, wenn ich als Datenquelle eine Tabelle nehme: das Formular filtert die Duplikate aus. Es muss also am Formular liegen.

NACHTRAG
Das Formular beinhaltet Nachnamen, Rufnamen, Alter. Duplikate bei Alter und Rufnamen treten auf - nur nicht beim Nachnamen.

Re: Duplikate werden nicht angezeigt

von Noebian » Mi, 04.04.2012 17:47

Nochmal anders gefragt: was müsste ich tun, um diesen Effekt (Keine Duplikate bei den Nachnamen) bewusst hervorzurufen? Kann man das irgendwo einstellen?

Re: Duplikate werden nicht angezeigt

von Noebian » Mi, 04.04.2012 17:11

Du meinst die Abfrage im SQL-Format? Die funktioniert ja wie sie soll.
Oder meinst du den Filter? Ich habe für das Formular verschiedene Sortierungen definiert, zB so

Code: Alles auswählen

Sub nach_Nachname_sortieren

oDoc=ThisComponent
oForm = oDoc.DrawPage.Forms.getByName("MainForm")

	oForm.ApplyFilter = true	
	oForm.Filter = ""
	oForm.order = "Nachname, Rufname"
	oForm.reload

end sub

Re: Duplikate werden nicht angezeigt

von pmoegenb » Mi, 04.04.2012 16:51

Dann lass mal den SQL-Befehl sehen, der dahinter steckt.

(gelöst) Duplikate werden nicht angezeigt

von Noebian » Mi, 04.04.2012 16:04

Hallo, vielleicht kann mir einer weiterhelfen.
Ich habe ein Formular, das sich ganz merkwürdig benimmt. Es soll Personen anzeigen; die Datenquelle ist eine Abfrage.
Merkwürdigerweise wird aber dann, wenn mehrere Personen mit dem gleichen Nachnamen existieren, nur die erste angezeigt.
Das ist in einem Land mit vielen Petersens und Hansens ziemlich schlecht :-)
- in der Abfrage sind die betreffenden Personen enthalten
- wenn ich ein neues Formular mit der gleichen Datenquelle erstelle, werden die Datensätze korrekt angezeigt
ergo muss der Fehler im Formular selbst liegen - ich habe aber keinen Plan, wo ich noch suchen soll...

Nach oben