Seite 1 von 1
Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 17:00
von F3K Total
Hallo,
folgendes Verhalten von Base, embeddet HSQLDB, kann ich nicht nachvollziehen:
Mit den Daten einer Tabelle möchte ich rechnen, Beispiel:

- Query_View.png (28.41 KiB) 793 mal betrachtet
Nun erhalte ich für das identische SQL-Statement unterschiedliche Ergebnisse, siehe Bild.
In der Abfrage steht eine 0 in der Ansicht bleibt das Feld leer.
Genau dies möchte ich haben um Formularfelder zu füllen/leer darzustellen.
Definiere ich aber den Formularinhalt via SQL, erhalte ich das Verhalten einer Abfrage.
Hat jemand eine Idee, wie ich in einer Abfrage leere Felder erzeugen kann?
Gruß Rik
Re: Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 18:07
von DPunch
Aloha
Das kommt daher, dass die Abfrage in den Standardeinstellungen Formatierungen für Dich vornimmt.
Wenn Du über die Spaltenformatierung (Rechtsklick auf den Spaltenkopf) die führenden Nullen auf 0 stellst, wird auch NULL als NULL dargestellt.
Wenn Du diese Abfrage jetzt so speicherst, kannst Du sie auch in Formularen wie gewünscht verwenden.
Ob es eine Möglichkeit gibt, das nicht mit gespeicherter Abfrage, sondern über Formularinhalt -> SQL so darzustellen? Ich bezweifle es. Aber ich weiss es auch nicht.
Re: Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 19:24
von F3K Total
Hallo,
das speichern der Formatierung klappt bei mir leider nicht, auch nicht beim neu Anlegen einer Abfrage.
Hintergrund der Frage: Ich wollte die Anzahl der Views meiner DB dadurch reduzieren, das ich möglichst oft die "Art des Inhalts" meiner Formulare von "Tabelle" (Ansicht) auf "SQL-Befehl" umstelle. Dies müßte doch der performantere Weg sein?
Gruß Rik
Re: Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 19:37
von DPunch
Aloha
Du hast Recht, die Formatierung wird nicht gespeichert.
Eine solche Abfrage produziert bei mir z.B. in einem Tabellenkontrollfeld trotzdem NULL statt "0" in der entsprechenden Spalte.
Re: Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 19:54
von F3K Total
Hallo DPunch,
bei mir auch, solange ich keine spezielle Formatierung verwende. In meinem Fall möchte ich aber die Einheit [km/h] , habe ich mit folgendem Format-Code definiert
#,##[$ km/h], an den berechneten Wert anhängen, und da ergibt sich dann folgendes Verhalten für ein leeres Feld:

- format.png (5.18 KiB) 759 mal betrachtet
Ich denke, ich muß bei der View bleiben.
Gruß Rik
Re: Abfrage / Ansicht Null ist nicht Null
Verfasst: So, 18.12.2011 20:08
von DPunch
Aloha
F3K Total hat geschrieben:das ich möglichst oft die "Art des Inhalts" meiner Formulare von "Tabelle" (Ansicht) auf "SQL-Befehl" umstelle. Dies müßte doch der performantere Weg sein?
Der performantere Weg inwiefern?
Was die Geschwindigkeit der Abfragen selbst betrifft, wahrscheinlich eher im Gegenteil, da jede direkte SQL-Abfrage mindestens bei der ersten Ausführung (vielleicht auch öfter, je nach DBMS und Caching-Einstellungen) pro Session zuerst analysiert und ein Execution Plan aufgestellt werden muss, während gespeicherte Queries und Views das in der Regel schon hinter sich haben. Hängt aber viel vom verwendeten DBMS ab.
Wenn Du Dich auf die Ladezeiten der DB-Datei beziehst - ja, es ist davon auszugehen, dass das schneller wird, je weniger Objekte initialisiert werden müssen.
Ich weiss nicht, ob Du mit den Einheiten rechnen musst, ansonsten könntest Du schon in der Abfrage per Konkatenation das gewünschte Format herstellen.
Keine saubere Lösung und ich würde sie auch nicht verwenden, aber was anderes fällt mir zu diesem speziellen Base-Problem leider auch nicht ein.