Hallo,
folgendes Verhalten von Base, embeddet HSQLDB, kann ich nicht nachvollziehen:
Mit den Daten einer Tabelle möchte ich rechnen, Beispiel:
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
Abfrage / Ansicht Null ist nicht Null
Moderator: Moderatoren
Abfrage / Ansicht Null ist nicht Null
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Abfrage / Ansicht Null ist nicht Null
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.
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
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
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
Zuletzt geändert von F3K Total am So, 18.12.2011 19:37, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Abfrage / Ansicht Null ist nicht Null
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.
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
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: Ich denke, ich muß bei der View bleiben.
Gruß Rik
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: Ich denke, ich muß bei der View bleiben.
Gruß Rik
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Abfrage / Ansicht Null ist nicht Null
Aloha
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.
Der performantere Weg inwiefern?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?
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.