Verkettung von Textfeldern bei einer Abfrage

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Hallo zusammen,

ich bin jetzt schon länger am Suchen und komm nicht wirklich weiter. Folgendes Problem: Ich hab eine Access-Datenbank mit 5 Tabellen zur Bundesliga. In einer Tabelle sind Tore_Heim und Tore_Gast gespeichert. Jetzt ist es in Access kein Problem, die beiden Felder zu verketten, damit beim späteren Bericht als Spaltenüberschrift "Ergebnis" und dann einfach z. B. "3:2" erscheint. Die Eingabe lautet bei Access: Ergebnis: Spiel.[Tore_Heim] & ":" & Spiel.[Tore_Gast]
Die Abfrage funktioniert bei Access problemlos mit dem "&"-Operator.
Wie lautet die Eingabe in BASE? Ich hab im Forum auch schon || als Operator entdeckt, bekomm aber auch hiermit nur Fehlermeldungen. Any ideas? Gruß Hermann
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von RobertG »

Hallo Hermann,
Hermie66 hat geschrieben: Access: Ergebnis: Spiel.[Tore_Heim] & ":" & Spiel.[Tore_Gast]
Wie lautet die Eingabe in BASE? Ich hab im Forum auch schon || als Operator entdeckt, bekomm aber auch hiermit nur Fehlermeldungen.
Da liegt dann vermutlich der Fehler im Detail.
In Base hast Du " als Begrenzer für Felder und Tabellen. Es müsste also lauten

Code: Alles auswählen

"Spiel"."Tore_Heim"||':'||"Spiel"."Tore_Gast" AS "Ergebnis"
Gruß

Robert
Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Hallo Robert,

danke erst mal für die schnelle Antwort, ich komm leider erst jetzt dazu, die Sache zu testen. Mein Base stresst immer noch mit den || herum. Konkret erhalt ich die folgende Meldung: SQL-Status: 3075
Fehler-Code: -2147217900
Ungültige Verwendung von senkrechten Strichen in Abfrageausdruck '`Spiel`.`Tore_Heim` || ':' || `Spiel`.`Tore_Gast`'.

Auch wenn ich nur die beiden Felder verkette, mag Base die Striche nicht (`Spiel`.`Tore_Heim` || `Spiel`.`Tore_Gast`). Übersehe ich da was?

Gruß,

Hermann
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von RobertG »

Hallo Hermann,
Hermie66 hat geschrieben: `Spiel`.`Tore_Heim` || ':' || `Spiel`.`Tore_Gast`
Wenn ich den Code sehe habe ich die Befürchtung, dass Du eine Information nicht weitergegeben hast, die dabei von Bedeutung ist. Das sieht nicht danach aus, dass Du mit der internen HSQLDB arbeitest, sondern mit einer externen Datenbank. Der Code ist abhängig von der Datenbank, mit der Du arbeitest. Base ist dann nur das "Frontend".
Es könnte sich dabei z.B. um eine MySQL-Datenbank handeln. Wenn dies der Fall ist, dann könnte der folgende Code hin hauen:

Code: Alles auswählen

CONCAT (`Spiel`.`Tore_Heim` , ':' , `Spiel`.`Tore_Gast`) AS `Ergebnis` 
Gruß

Robert
Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Bundesliga.zip
(99.46 KiB) 73-mal heruntergeladen
Hallo Robert,

ich arbeite mit einer Access 2000 Datei, bei der ich davon ausging, dass die MySQL verwendet. leider haut der Code nicht hin und ich erhalte die Fehlermeldung:
SQL-Status: 3085
Fehler-Code: -2147217900
Undefinierte Funktion 'CONCAT' in Ausdruck.

Ich häng die mdb und Base-datei mal an, vllt geht dann was...

Gruß, Hermann
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von F3K Total »

Nun,
so geht's, wenn du den direkten SQL-Mode
sql_direkt.png
sql_direkt.png (1.14 KiB) 2386 mal betrachtet
einschaltest:

Code: Alles auswählen

SELECT DISTINCT `Liga`.`Liga_Name`, `Spiel`.`Spieltag`, `Spiel`.`Datum`, `Verein_Heim`.`Name_Heim`, `Verein_Gast`.`Name_Gast`, `Spiel`.`Tore_Heim`&':'&`Spiel`.`Tore_Gast` as `Tore` FROM `Spiel`, `Verein_Gast`, `Verein_Heim`, `Liga`, `Spieler` WHERE `Spiel`.`Gast` = `Verein_Gast`.`V_ID_Gast` AND `Verein_Heim`.`Liga_Heim` = `Liga`.`Liga_Nr` AND `Spiel`.`Heim` = `Verein_Heim`.`V_ID_Heim` AND `Spieler`.`Vereins_ID` = `Verein_Heim`.`V_ID_Heim` AND `Liga`.`Liga_Name` = 'Bundesliga' 
Denke, die "group by" Geschichte ist hier fehl am Platz.

Es ist auch möglich Base mit der eingebetteten HSQLDB zu verwenden, habe mal die Tabellen importiert, siehe Anhang.
Dann funzt dies, auch ohne direkten SQL-Mode:

Code: Alles auswählen

SELECT DISTINCT "Liga"."Liga_Name", "Spiel"."Spieltag", "Spiel"."Datum", "Verein_Heim"."Name_Heim", "Verein_Gast"."Name_Gast", "Spiel"."Tore_Heim" || ':' || "Spiel"."Tore_Gast" AS "Tore" FROM "Spiel", "Verein_Gast", "Verein_Heim", "Liga", "Spieler" WHERE "Spiel"."Gast" = "Verein_Gast"."V_ID_Gast" AND "Verein_Heim"."Liga_Heim" = "Liga"."Liga_Nr" AND "Spiel"."Heim" = "Verein_Heim"."V_ID_Heim" AND "Spieler"."Vereins_ID" = "Verein_Heim"."V_ID_Heim" AND "Liga"."Liga_Name" = 'Bundesliga'

Gruß R
Dateianhänge
Bundesliga_in_Base.odb
(183.04 KiB) 93-mal heruntergeladen
Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Super - Tausend Dank! Mit direkter SQL-Eingabe hab ich die Sache schon erfolgreich probiert. Bei der BASE-Datei muss ich noch mein JRE-Problem lösen, dann kann ich deine Datei auch ausprobieren. Ich meld mich dann wieder.

Gruß, Hermann
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von F3K Total »

Hi,
welche OO-Version und welche Java Version hast Du?
OO benötigt eine 32-Bit Java Version, ausserdem Microsoft Visual C++ 2010 Redistributable Package falls Java 1.7.xx verwendet wird.
Gruß R
Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Hallo R,

ich verwende OO 3.4.1 (Build 9593) und hab die neueste JRE 7.25 auf meinem 64-bit-Rechner. Ich hab schon gelesen, dass die JRE 6 mit OO sauber läuft. Wollte grad bei Oracle die letzte 6er Version herunterladen und mal installieren.

Gruß Hermann
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von F3K Total »

Hallo,
ich verwende 1.7.25 32-BIT, läuft, wie gesagt mit der richtigen Visual C++ Version problemlos und ist up to date.
Schau mal in der Systemsteuerung unter Programme nach.
Ich mußte Visual C++ noch von Hand nachinstallieren, weiß nicht, ob es inzwischen mit AOO 3.4.1 schon geliefert wurde.
Gruß R
Hermie66
Beiträge: 6
Registriert: Sa, 13.07.2013 16:09

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von Hermie66 »

Hallo,
ich hab jetzt die 6er Version installiert und Base zeigt mir alles an wie es sein soll :-) Bin begeistert, wie es klappt. Was ist denn der konkrete Vorteil, wenn die Tabellen importiert werden, bzw. wie geh ich da vor? Ich erhalte öfter Access-Vorlagen und verbinde die dann mit Base. Offensichtlich ist das nicht so der Hit. Sollt ich mein Vorgehen ändern?
Visual C++ ist übrigens auch da, aber jetzt bleib ich mal bei JRE 6, wenn schon mal alles läuft...

Gruß, Hermann
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Verkettung von Textfeldern bei einer Abfrage

Beitrag von F3K Total »

Hi,
Hermie66 hat geschrieben:Sollt ich mein Vorgehen ändern?
Ich würde sagen, wenn Du nur gucken willst, Nein!
Wenn Du oft und viele Eingaben machst, vielleicht schon eher.
Gruß R
Antworten