[gelöst] Bei einer Abfrage Länge eines Feldes überprüfen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

OBuntO
Beiträge: 3
Registriert: Do, 22.07.2010 07:18

[gelöst] Bei einer Abfrage Länge eines Feldes überprüfen

Beitrag von OBuntO »

Hallo, mein erster Post hier. Ich habe Probleme mit einer Abfrage. Ich habe eine Tabelle mit Artikelnummern in denen 6 stellige 7 stellige und 8 stellige sowie 4 stellige jeweils anzeigen zu welchem Lieferanten sie gehören. Wie bekomme ich es jetzt hin
das in der Abfrage nur Artikelnummern angezeigt werden mit einer Länge von 6 ?

Weiterhin würde ich gerne wissen besteht die Möglichkeit Makro Funktionen im Kriterium anzuwenden ? Und wenn ja wie ?


Ich hoffe ich konnte klar machen was ich meine.


Vielen Dank. :D

EDIT:
Ich benutze OO 3.2 unter WIndows. HSQLDB. Der Feldtyp ist TEXT da auch mal Buchstaben drin stehen können und 11 Zeichen insgesamt zugelassen.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Bei einer Abfrage Länge eines Feldes überprüfen

Beitrag von komma4 »

Willkommen im Forum.
OBuntO hat geschrieben:das in der Abfrage nur Artikelnummern angezeigt werden mit einer Länge von 6 ?

Ergänze Deine Abfrage um eine entsprechende Bedingung

Code: Alles auswählen

 WHERE  LENGTH( "Tabelle1"."ArtNr") = 6

OBuntO hat geschrieben: besteht die Möglichkeit Makro Funktionen im Kriterium anzuwenden ?
Nein.

Du kannst aber die Funktionen der Datenbank nutzen (sofern sie vom Treiber unterstützt sind [das sind nicht alle])
http://www.hsqldb.org/doc/2.0/guide/index.html
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
OBuntO
Beiträge: 3
Registriert: Do, 22.07.2010 07:18

Re: Bei einer Abfrage Länge eines Feldes überprüfen

Beitrag von OBuntO »

Vielen Dank für die Antwort. Wie man ja an meinem Namen sehen kann bin ich eigentlich Linux User.
Bei der Arbeit wird halt noch Windows benutzt. Aber ich denke mal das die Abfrage keinen Unterschied macht wo sie läuft.
Ist ja die hauseigene SQL Engine. Sehe ich das richtig ?

Danke.

EDIT:
Meldung.png
Meldung.png (95.96 KiB) 407 mal betrachtet
Ok. Also unter Ubuntu 10.04 OO 3.2 kennt er das Where nicht ??? Probiere ich mal unter Windows morgen bei der Arbeit.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Bei einer Abfrage Länge eines Feldes überprüfen

Beitrag von komma4 »

Schalte mal um auf SQL-Ansicht...

bei mir in der Design-Ansicht steht in der letzten Spalte LENGTH( "Tabelle1"."ArtNr") - nix mit Kriterium und WHERE
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
OBuntO
Beiträge: 3
Registriert: Do, 22.07.2010 07:18

Re: Bei einer Abfrage Länge eines Feldes überprüfen

Beitrag von OBuntO »

Das hat geholfen. Ich muß den Befehl im reiner SQL Sprache eingeben dann funktioniert es auch. OpenOffice zeigt
auch farblich (grün) an daß er die Funktion kennt. Ich habe es etwas anders angegeben aber es funktioniert.

Code: Alles auswählen

SELECT "Artikelnummer", "Warengruppe", "Artikelbezeichnung", "Katalogseite", "Einkaufspreis", "Verkaufspreis" FROM "Artikel" WHERE LENGTH( "Artikelnummer" ) = 6
Danke für die Hilfe. :D
Antworten