Hallo Michael,
> 
> ich versuche mich gerade mal wieder an Formularen zur Abfrage unseres
> Buchungssystems. Ich klinke mich dabei über einen ODBC-Treiber an eine
> Oracle-Datenbank, um die "Datenmasken" zu bauen, die in unserem System
> fehlen und von Hersteller nicht nachgerüstet werden.
> 
> Nach diversen erfolgreichen Basteleien komme ich mit den derzeitigen
> Teil einfach nicht weiter:
> 
> Ich habe eine Tabelle "NumberHistory" mit drei Spalten:
> 
>       Kundennummer: Nummer des Kunden
>       Auftragsnummer: Nummer des Auftrags
>       Erledigt: Datum/Uhrzeit, wann der Auftrag erledigt wurde
> 
> Nun möchte ich ein Formular bauen, mit dem alle Aufträge gesucht werden
> können, die _am_gleichen_Tag_ erledigt wurden.

Wenn ich das richtig verstehe (vor allem die Vergangenheitsform), dann geht es 
hier nicht um eine Eingabe sondern um vorhandene Daten, die recherchiert 
werden können.
Ich würde mit Haupt- und Unterformular arbeiten. Beide Formulare beruhen auf 
der gleichen Abfrage. Eine Spalte muss ergänzt werden, nämlich die, die aus 
Datum/Uhrzeit per Abfrage ein Datum macht. Wie der Befehl hierfür bei Oracle 
lautet müsste ich auch im Netz nachsehen. Für MySQL würde ich es schlicht mit
DATE_FORMAT(date,'%d.%m.%Y')
erledigen.
Die Verknüpfung von Hauptformular zu Subformular wäre dann eben dieses Datum.
> 
> Das Subformular und das Hauptformular sind über die Kundennummer
> verknüpft.

Natürlich kannst Du als zusätzliche 2. Verknüpfung auch die Kundennummer mit 
einbeziehen.

> Ich hatte nun versucht, bei den Formulareigenschaften des Subformulars
> in die Felder "Verknüpfen von/nach" Ausdrücke der Art
> "to_char(FINDATE;'YYYYMMDD')" unterzubringen. Leider ist dieser Ansatz
> entweder falsch, oder ich bekomme die Syntax nicht hin (Mein Wissen über
> solche Umwandlungen besteht aus den dürftigen Überresten einer MS-Query
> Schulung vor ca. 10 Jahren...).

Die Abfragetechniken zu Datumswerten sind von Datenbank sehr verschieden. 
Vermutlich gibt es auch bei Oracle entsprechende Möglichkeiten, die Uhrzeit 
einfach zur Seite zu legen und nur das Datum selbst vergleichend zu 
betrachten. Wenn ich im Netz nachsehe scheint
to_char(FINDATE,'YYYYMMDD')
vermutlich zum Erfolg zu führen. Beachte, dass da kein Semikolon zwischen 
steht sondern ein Komma.
Quelle für mich:
http://www.nussbaecher.com/schule/oracle_datum.pdf

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an