von pmoegenb » Fr, 10.02.2006 09:32
Hallo rso,
ich musste zunächst eine Test-DB aufbauen. Eigentlich müsste folgender Code funktionieren:
Code: Alles auswählen
select "Vorname","Nachname", "Gruppe", "Reader", "Betrag1","Betrag2","Betrag1" + "Betrag2" as Summe
from "Test"
Where "Betrag1" >= 11
Tut er aber nicht. D.h., die Abfrage läuft fehlerfrei durch, liefert aber über für das berechnende Feld
Summe kein Ergebnis. Ob hier noch ein Bug von Base vorliegt, kann ich nicht beurteilen.
Die Berechnung wird also bei der
Select-Klausel und nicht in der
Where-Klausel durchgeführt.
Wenn Du SQL-Befehle direkt eingibst musst Du Dich auf den SQL-Syntax beschränken, der z. B. keine deutschen Wörter kennt. Deutsche Wörter können lediglich an den sogenannten Frontends (MS-Access, Base) angegeben werden, die dann in SQL übersetzen.
Welche Angaben an den Frontends möglich sind, ist recht unterschiedlich. So werden z. B. Feldnamen bei MS-Acces als
[Feldname] und bei Base als
'"Feldname" angegeben.
Die Direkteingabe von SQL-Befehlen ist also, sofern man mit unterschiedlichen Datenbanken arbeitet, wesentlich einfacher, da man sich mit der Ausnahme der Spalten- und Tabellenname an den SQL-Standard halten kann.
Gruß
Peter
Hallo rso,
ich musste zunächst eine Test-DB aufbauen. Eigentlich müsste folgender Code funktionieren:
[code]select "Vorname","Nachname", "Gruppe", "Reader", "Betrag1","Betrag2","Betrag1" + "Betrag2" as Summe
from "Test"
Where "Betrag1" >= 11[/code]
Tut er aber nicht. D.h., die Abfrage läuft fehlerfrei durch, liefert aber über für das berechnende Feld [b]Summe[/b] kein Ergebnis. Ob hier noch ein Bug von Base vorliegt, kann ich nicht beurteilen.
Die Berechnung wird also bei der [b]Select[/b]-Klausel und nicht in der [b]Where[/b]-Klausel durchgeführt.
Wenn Du SQL-Befehle direkt eingibst musst Du Dich auf den SQL-Syntax beschränken, der z. B. keine deutschen Wörter kennt. Deutsche Wörter können lediglich an den sogenannten Frontends (MS-Access, Base) angegeben werden, die dann in SQL übersetzen.
Welche Angaben an den Frontends möglich sind, ist recht unterschiedlich. So werden z. B. Feldnamen bei MS-Acces als [b][Feldname][/b] und bei Base als [b]'"Feldname"[/b] angegeben.
Die Direkteingabe von SQL-Befehlen ist also, sofern man mit unterschiedlichen Datenbanken arbeitet, wesentlich einfacher, da man sich mit der Ausnahme der Spalten- und Tabellenname an den SQL-Standard halten kann.
Gruß
Peter