Seite 1 von 2

Abfrage von ja/nein-Feldern

Verfasst: Di, 25.10.2005 10:19
von zillo
Hallo!

Ich experimentiere immer noch mit Base (OOo2.0.rc3)!

Nun habe ich das Problem, dass ich bei Abfragen von ja/nein-Feldern kein vernünftiges Ergebnis bzw. Fehlermeldungen erhalte!

Ich habe eine einfache Tabelle mit ID, Name und bezahlt (als ja/nein-Feld) angelegt. Diese Tabelle wurde gefüllt und anschl. eine Abfrage (wer hat bezahlt!) erstellt.
Gebe ich den Syntax "IST NICHT LEER" an, erhalte ich das Ergebnis, dass mir alle Namen angezeigt werden. Mir ist klar, dass diese Abfrage nur die Ergebnisse ausblendet, wo die Kästchen grau unterlegt sind.
Die Hilfe in OpenOffice brachte mir auch nichts!

Wer kann mir die richtigen Abfragekriterien nennen, um z.B. alle Namen aufzulisten, die bereits bezahlt haben?

Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken!

Danke

Verfasst: Di, 25.10.2005 10:56
von pmoegenb
Hallo Zillo,

normaler Weise steht in einem Boolean-Feld (Ja/Nein) ein Wert drin der wie folgt sein könnte (ist von DB zu DB unterschiedlich):

Ja = true oder t oder 1
Nein = false oder f oder 0

Vielleicht hilft dir das weiter.


Gruß

Peter

Verfasst: Di, 25.10.2005 11:24
von zillo
Erstmal schönen Dank für die schnelle Antwort!

Gebe ich eine Ziffer (0 oder 1) ein, erhalte ich die Meldung, dass das Feld mit Integer nicht verglichen werden kann!

Gebe ich z.B. false ein, bekomme ich "Syntaxfehler im SQL-Ausdruck"!
Bei JA oder Nein erhalte ich "Das angegebene Kriterium kann nicht mit dem Feld verglichen werden"!
Ein t oder f ergibt ein Syntax error!

Noch ein Tipp?

Verfasst: Mi, 26.10.2005 20:07
von SteffenOOo
Hallo!

also es geht wirklich nur mit 1 oder 0 (bzw. nichts). Das Format ist aber keine Zahl sondern ein normales Zeichen und muß so ausgewertet werden. Also in der select Anweisung mit "1"

MFG Steffen

Verfasst: Mi, 26.10.2005 21:30
von zillo
Hallo Steffen!

Wie ich bereits geschrieben habe, bin ich bezüglich Datenbanken absolut frisch dabei und kämpfe mich gerade durch OOo Base. Ich glaube, dass dies ein guter Einstieg ist.
Mit MySql habe ich mich noch gar nicht beschäftigt (Zeitfaktor!!!) - komme aber wohl nicht drumrum!
Ich versuche gerade Dein Lösungsvorschlag bez. des ja/nein-Feldes umzusetzen und werde mich später noch um das Problem bez. Relationen kümmern (schonmal Dank für die Antwort; habe es aber erst nur überflogen)!

Es möchte mir nicht gelingen eine Abfrage ohne entsprechende Fehlermeldungen (siehe vorheriges Posting) durchzuführen!

Darum hier meine Schritte:
1. Tabelle ist angelegt (Id=Primär/Name/bezahlt=ja/nein)
2. Tabelle gefüllt (probeweise Kästchen angekreuzt bzw. deaktiviert)
3. Abfrage erstellt; aus der einzigen Tabelle die Felder Name und bezahlt ausgewählt und per Drag and Drop herunter gezogen!

4. nur im Feld "Kriterium", und hier nur unter dem Feld "bezahlt", gebe ich die Ziffer 1 (oder 0) ein und erhalte wieder eine Fehlermeldung (in diesem Fall dann "Feld kann nicht mit Integer verglichen werden!")

Habe keine Ahnung!

Gruß

Zillo

Verfasst: Mi, 26.10.2005 21:58
von SteffenOOo
Hallo,

also ich habe mal das ganze nachgestellt - habe als ein Feld eingerichtet mit dem Feldtyp Ja/nein - nach dem Speichern wird daraus "Tiny Integer".

Formular erstellt (kann man Häckchen machen oder nicht) und Abfrage, bezahlt mit Abfrage Kriterium = 1,0 - alles funktioniert !!!!

Welche Grundlage der Datenbank verwendest denn du? Ich nehme Mysql, gehen aber auch andere - zum Nachstellen müßte ich wissen, was du nimmst.

MFG Steffen

Verfasst: Mi, 26.10.2005 22:45
von zillo
Die Datenbank die ich benutze ist die in OOo integrierte Datenbank Base.

Ich erstelle sie über NEU-Datenbank und mit Anmeldung!

Bei mir bleibt in der Tabelle als Feldtyp "ja/nein" - also ändert sich nicht!

Kann mir immer noch kein Reim darauf machen!

JA/Nein Problem

Verfasst: Do, 27.10.2005 19:54
von SteffenOOo
Hi!

also habe s auspribiert. Die HSQL Datenbank (davon reden wir) bringt False oder nichts (kannst du nachvollziehen, wenn du die Daten in Calc importierst. Die Abfrage funktioniert aber auch bei mir nicht - da kann ich dir nicht helfen.

Vorschlag zur Güte einfach ein Textfeld als Typ angeben und im Formular das entsehende textfeld in ein Eingabefeld in JA/Nein Feld ändern das schreibt nähmlich 1 oder O. Das müßte gehen.

MFG Steffen

Re: JA/Nein Problem

Verfasst: Fr, 28.10.2005 10:17
von Harryburli
SteffenOOo hat geschrieben:Hi!

also habe s auspribiert. Die HSQL Datenbank (davon reden wir) bringt False oder nichts (kannst du nachvollziehen, wenn du die Daten in Calc importierst. Die Abfrage funktioniert aber auch bei mir nicht - da kann ich dir nicht helfen.

Vorschlag zur Güte einfach ein Textfeld als Typ angeben und im Formular das entsehende textfeld in ein Eingabefeld in JA/Nein Feld ändern das schreibt nähmlich 1 oder O. Das müßte gehen.

MFG Steffen
Ich habe dass gleiche Problem, aber diese nicht ganz saubere Lösung funktioniert!
Vielen Dank!

Verfasst: Fr, 28.10.2005 14:15
von zillo
Ich habe das Ganze mal so nachvollzogen:

Habe die JA/NEIN-Felder per Hand in ein "TinyInteger"-Feld umgewandelt!
Danach konnte ich die Abfrage durchführen! Konnte sogar die entsprechenden Felder wieder in ein Ja/Nein-Feld umwandeln, was die vorhandene Abfrage entsprechend verändert, aber nicht funktionsunfähig, machte!
Nur wenn ich dann wieder eine komplett neue Abfrage erstelle bzw. die vorhandene Abfrage modifiziere, bekomme ich wieder entsprechende Fehlermeldungen.

Also werde ich mich wohl mit diesem Umweg behelfen müssen.

Wenn ich die OOo-Hilfe zu Rate ziehe, steht dort ja beschrieben, wie Ja/Nein-Felder abzufragen sind. Also müßte es ja auch funktionieren!
Handelt es sich um ein Fehler in OOo-Base?

Ich denke schon, dass es ein Fehler ist!

Verfasst: Fr, 28.10.2005 17:56
von Harryburli
Hallo,
ich habe noch eine RC Version.

ist dieser Fehler auch in der Version 2.0 vorhanden?
Wenn ja sollte man es vielleicht an das OOo Projekt melden?

Liebe Grüße
Harryburli

Verfasst: Fr, 28.10.2005 19:12
von zillo
So - habe soeben Version 2.0 runtergeladen!

Problem bleibt bestehen.

Aber ein neues ist hinzugekommen: durch die Änderung des Feldtyps von JA/NEIN-Feld auf Tiny Integer erhöht sich die Dateigröße um einiges.

Habe spaßhalber mehrere JA/NEIN-Felder angelegt und diese anschließend in Tiny Integer umgewandelt und habe eine wesentlich größere Datei bzw. Datenbank erhalten, ohne dass neue Daten hinzugefügt wurden!

Größer werdende Datenbank

Verfasst: Fr, 28.10.2005 20:34
von SteffenOOo
Hallo!

also mit dem größer werden - das verstehe ich noch nicht ganz.
Ich verwende Mysql. Dort wird ebenfalls eine Datei angelegt wie bei der OpenOffice internen Datenbank. Die Größe dieser Datei ändert sich nur! durch zusätzliche Abragen, Formulare, Typen Änderungen,... - nicht aber durch neue Dateien ! Logisch, da diese in die Mysql Datenbak geschrieben werden.
Die Datei die OpenBase also anleget ist nur eine "programmierte Schnittstelle", die zwischen OpenOffice und Datenbank Mysql "vermittelt".
Deshalb steigt die Dateigröße nicht mit der Eingabe zusätzlicher Dateien.

Sie "enthält" offenbar alle Formulare, Abfragen,... - das war in der Vorgängerversion anders. Da gab es für jede Abfrage, Vorlage, Bericht eine eigene Datei - diese ließ sich auch extra öffnen - nun scheint das alles in dieser einen Datei integriert zu sein.
Bin ich da auf dem Holzweg?

Wie ist das nun mit der internen HSQL Datenbank, die OpenBase verwendet? Werden dort wirklich auch die Daten in eben diese Datei geschrieben? Dann müßte sie mit jedem Datensatz größer werden - Sie erscheint mir dann aber zu unsicher, wenn ebenfalls alle Formulare, Abfragen,.... mit gespeichert werden.

Bin ich da auf dem Holzweg?

Verfasst: Sa, 29.10.2005 15:18
von zillo
Also - ich habe mal eine neue Datenbank mit ca. 20 Ja/Nein-Felder erstellt (1 Tabelle und Formular). Habe dann 15 Datensätze mit Bildern eingegeben. Und anschließend noch eine Abfrage erstellt (mit dem altbekannten Folgen der Fehlermeldungen). Das ganze hatte eine Größe von 1,8MB. Anschließend habe ich alle JA/NEIN-Felder in Tiny Integer umgewandelt. Konnte natürlich eine funktionierende Abfrage erstellen. Bei der nächsten Speicherung war die Datenbank dann über 40MB groß, ohne dass weitere Daten hinzugefügt wurden.

Habe keine Ahnung über die Speichergewohnheit von OOo-Base. Habe allerdings das Ganze unter WinXP durchgeführt. Da ich hauptsächlich Linux (Suse9.3) benutze, müßte ich mal überprüfen, ob dieses Verhalten auch darunter festzustellen ist!

Verfasst: Do, 12.01.2006 09:09
von Bigo
Hallo,

im Abfrage-Assistenten von Base wird bei Ja/Nein-Feldern als Kriterium WAHR und FALSCH benutzt.

Sollte es dann immer noch nicht gehen (andere Fehlermeldung) wirst du ein ähnliches Problem haben wie ich ;)