Aus 4 macht 1
Moderator: Moderatoren
Aus 4 macht 1
Folgendes
Ich habe eine Tabelle mit 4 Feldern, sie sich in meinem Fall auf Personen beziehen. Zusätzlich ein Feld für Notizen.
Sinn der Sache: Im Notizfeld notiere Ich ein Ereignis, an dem bis zu 4 Personen teilnehmen können (die ich für jedes Feld einzeln
per Kombinationsfeld aus etwa 20 Personen auswähle).
Das ganze sieht dann etwa so aus:
|Person1| |Person2| |Person3| |Person4| |Notiz|
Jetzt möchte ich eine Abfrage für einen Bericht starten, die mir alle Ereignisse anzeigt, an der eine bestimmte Person teilgenommem hat,
egal ob sie nun an Position Person1, Person2, Person3 oder Person4 steht. Sprich alle Ereignisse auflisten an denen unter anderem z.B. Thomas
teilgenommen hat, aber keine raussuchen an denen er nicht teilgenommen hat.
Wäre schön, wenn mir jemand bei der Formulierung der Abfrage behilflich sein könnte.
Tuete
Ich habe eine Tabelle mit 4 Feldern, sie sich in meinem Fall auf Personen beziehen. Zusätzlich ein Feld für Notizen.
Sinn der Sache: Im Notizfeld notiere Ich ein Ereignis, an dem bis zu 4 Personen teilnehmen können (die ich für jedes Feld einzeln
per Kombinationsfeld aus etwa 20 Personen auswähle).
Das ganze sieht dann etwa so aus:
|Person1| |Person2| |Person3| |Person4| |Notiz|
Jetzt möchte ich eine Abfrage für einen Bericht starten, die mir alle Ereignisse anzeigt, an der eine bestimmte Person teilgenommem hat,
egal ob sie nun an Position Person1, Person2, Person3 oder Person4 steht. Sprich alle Ereignisse auflisten an denen unter anderem z.B. Thomas
teilgenommen hat, aber keine raussuchen an denen er nicht teilgenommen hat.
Wäre schön, wenn mir jemand bei der Formulierung der Abfrage behilflich sein könnte.
Tuete
Re: Aus 4 macht 1
Hallo tuete,
am einfachsten ist etwas in dieser Art:
Du wirst dann nach dem Namen der zu suchenden Person gefragt. Möchtest Du diese Angabe nicht machen, dann ersetze :Name durch den entsprechenden Namen der Person.
Gruß Barlee
am einfachsten ist etwas in dieser Art:
Code: Alles auswählen
select Notiz from [Deine_Tabelle]
where
Pers1=:Name or
Pers2=:Name or
Pers3=:Name or
Pers4=:Name
Gruß Barlee
Re: Aus 4 macht 1
Supi
Geht auf jeden Fall in die richtige Richtung und funktioniert auch. Leider fragt mich OO dann nach vier Einträgen, d.h. muss ich denn gleichen Namen viermal eintragen damit ich wirklich alle Einträge bekomme.
Ich möchte aber praktischerweise nur einmal den Namen eingeben müssen.
Tuete
Geht auf jeden Fall in die richtige Richtung und funktioniert auch. Leider fragt mich OO dann nach vier Einträgen, d.h. muss ich denn gleichen Namen viermal eintragen damit ich wirklich alle Einträge bekomme.
Ich möchte aber praktischerweise nur einmal den Namen eingeben müssen.
Tuete
Re: Aus 4 macht 1
Hi tuete,
welche OOo Version benutzt Du?
Gebe ich diese Abfrage ein, dann wird nur einmal nach dem Parameter von "Name" gefragt. Ist ja auch logisch, da nur ein Parameter definiert wurde ...
Gruß Barlee
welche OOo Version benutzt Du?
Gebe ich diese Abfrage ein, dann wird nur einmal nach dem Parameter von "Name" gefragt. Ist ja auch logisch, da nur ein Parameter definiert wurde ...
Gruß Barlee
Re: Aus 4 macht 1
Ich hab 2.3!
Vielleicht hab ich Deinen Code nur falsch im Editor umgesetzt.
Hier mal meins
In diesm Fall werden werden natürlich alle anderen Felder mit ausgegeben, nicht nur die Notiz.
Tuete
Vielleicht hab ich Deinen Code nur falsch im Editor umgesetzt.
Hier mal meins
In diesm Fall werden werden natürlich alle anderen Felder mit ausgegeben, nicht nur die Notiz.
Tuete
Re: Aus 4 macht 1
Hallo Tuete,
das von Dir beschriebene Verhalten kann ich nicht nachvollziehen: Die Variable wird nur einmal abgefragt (OOo 2.3)
Gruß Barlee
das von Dir beschriebene Verhalten kann ich nicht nachvollziehen: Die Variable wird nur einmal abgefragt (OOo 2.3)
Gruß Barlee
Re: Aus 4 macht 1
Gut, mein Fehler!
Wenn ich die Abfrage starte wird tatsächlich nur einmal nach dem Namen gefragt. Wenn ich aber einen Bericht erstellen lasse, der auf dieser Abfrage beruht, wird 4mal nach dem Namen gefragt
Tuete
Wenn ich die Abfrage starte wird tatsächlich nur einmal nach dem Namen gefragt. Wenn ich aber einen Bericht erstellen lasse, der auf dieser Abfrage beruht, wird 4mal nach dem Namen gefragt

Tuete
Re: Aus 4 macht 1
Hallo tuete,
ja, ist im Bericht reproduzierbar. Scheint ein Bug zu sein. Evtl. könntest Du hierfür einen Bugreport aufmachen?
Um doch zum erwünschten Ergebnis zu kommen, kannst Du folgendermaßen vorgehen. Die Namen aller 4 Personen werden mittels "CONCAT" zu einer Zeichenkette zusammengezogen. Anschließend fragst Du nach einem Bestandteil dieser Zeichenkette mit dem LIKE Operator ab.
Im Dialogfenster musst Du dann allerdings nicht nur z.B. tuete eingeben, sondern %tuete%.
Vielleicht eine Alternative.
Schönes Wochenende!
Gruß Barlee
ja, ist im Bericht reproduzierbar. Scheint ein Bug zu sein. Evtl. könntest Du hierfür einen Bugreport aufmachen?
Um doch zum erwünschten Ergebnis zu kommen, kannst Du folgendermaßen vorgehen. Die Namen aller 4 Personen werden mittels "CONCAT" zu einer Zeichenkette zusammengezogen. Anschließend fragst Du nach einem Bestandteil dieser Zeichenkette mit dem LIKE Operator ab.
Code: Alles auswählen
SELECT "Notiz"
FROM "Tab_Personen"
WHERE
( concat("Pers1", concat("Pers2",concat( "Pers3", "Pers4"))) like :Name )
Vielleicht eine Alternative.
Schönes Wochenende!
Gruß Barlee
Re: Aus 4 macht 1
Hat perfekt geklappt, Danke!
Tuete
Tuete