[Delphi7/dBase] kan query niet uitvoeren

Pagina: 1
Acties:

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Voor een programma moet ik een dBase database uitlezen. Het gaat om het uitlezen van de weekomzet van een winkel en deze opslitsen per productgroep. Daarna wordt er netjes een rapport van gemaakt.

Maar nu werd er gevraagd of het ook mogelijk was dit te doen per dag. Natuurlijk kan dat, query een dag ipv een week laten selecteren en tellen maar. Maar nu is het vreemdste, het lukt niet om een een query uit te voeren op deze database omdat ik altijd de foutmelding "General SQL error" uit de BDE krijg zodra in ik een WHERE statement in de SQL opneem.

De config is als volgt.
Session
SessionName = 'omzetSession'

Database1 = TDatabase
AliasName = 'odbc_omzet'
DatabaseName = 'Omzet'
SessionName = 'omzetSession'

Query1 = TQuery
SessionName = 'omzetSession'
SQL.Text = 'select * from omzet where bon_datum = '04-04-2005'

De alias odbc_omzet is via ODBC geconfigureert en is gemaakt met de Microsft dBase driver (*.dbf) en verwijst naar de map waar alle tabellen in staan. Ik heb ergens wel een site gevonden met SQL icm dBase die zetten rechte haken ('[' en ']') om de te selecteren velden. Dat werkt (bijna uiteraard) ook niet. Als ik de query verander in "select * from omzet where bon_datum like '04-04-2005'" krijg ik wel resultaten maar op zie manier kan ik geen week selecteren. Het is erg vreemd dat ik niet gewoon 'bon_datum = ..' kan gebruiken. Ik vrees dat dit echt de domste vraag is die ik ooit heb moeten stellen maar ik zie het even niet meer.

www.fendt.com | Nikon D7100 | PS5


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Misschien is het datumformaat niet wat verwacht wordt? Gebruik anders eens parameters (TQuery.Params) en kijk of het dan beter gaat.

We adore chaos because we like to restore order - M.C. Escher


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 07-05 21:57

Delphi32

Heading for the gates of Eden

En als je nou van die datum een parameter maakt, en die vervolgens vult met je gewenste datum?
Ik denk/weet zeker dat je nl niet de nederlandse datumformaten mag gebruiken in SQL :) Een parameter is een handige manier om je niet meer om het formaat te bekommeren.

Edit: wat ^^ zegt dus ;)

[ Voor 6% gewijzigd door Delphi32 op 22-04-2005 08:40 . Reden: Parallel typing, LL! ]


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
In de eerste opzet waren het ook parameters (toen nog alleen de weekomzet berekent moest worden) maar dat werkte niet meer. Toen ben ik gaan proberen met andere dingen. Ik kan de query "select * from omzet where bon_datum like '04-04-2005'" zonder problemen in SQL Explorer uitvoeren maar met een where krijg ik de foutmelding.

www.fendt.com | Nikon D7100 | PS5