login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Syntaxisfout (komma) in query-expressie (Opgelost)

Offline Diesel - 12/12/2007 22:40 (laatste wijziging 12/12/2007 22:42)
Avatar van DieselNieuw lid Hallo,

Ik probeer aan de hand van 2 tabellen gegevens op te halen met deze query:

  1. SELECT tbl_users.UserCity, tbl_users.UserCountry, tbl_users.UserStreet
  2. FROM tbl_users, tbl_calc
  3. WHERE tbl_users.UserId = tbl_calc.CalcUserId
  4. AND tbl_calc.CalcTotaal
  5. BETWEEN (" & MinQuota & ") AND (" & MaxQuota & ") :links:


De bedoeling is dus om alle adressen van de gebruikers bij wie het CalcTotaal tussen de Min en Maxquota ligt uit de databank te halen.

Nu, wanneer hij de query moet uitvoeren, geeft hij deze mooie fout:

Citaat:
Syntaxisfout (komma) in query-expressie tbl_calc.CalcUserId = tbl_users.UserId AND tbl_calc.CalcTotaal BETWEEN 22,975 AND 323,892.


Ik vermoed dat dit iets te maken heeft met de komma's in de getallen, maar daar ben ik alles behalve zeker van.

MinQuota en MaxQuota worden gedifigneerd als zijnde Double (en zo staat de CalcTotaal-kollom ook geconfigureerd binnen de AccessDB).

Alvast bedankt!

4 antwoorden

Gesponsorde links
Offline Abbas - 12/12/2007 23:44
Avatar van Abbas Gouden medaille

Crew .NET
Inderdaad, ik denk ook dat het iets met die getallen heeft te maken. Kan je niet eens proberen de getallen met een punt te schrijven in plaats van met een komma, ik denk dat het zo moet.
Offline Diesel - 13/12/2007 00:02 (laatste wijziging 13/12/2007 00:06)
Avatar van Diesel Nieuw lid Is er misschien een manier om de komma's te vervangen door punten? Zoals je dat bij php kan, zeggen dat een bepaald karakter vervangen moet worden of iets dergelijks?

De getallen die ik nu krijg zijn het resultaat van een berekening die ik uitvoer met getallen uit de databank.

Ik zal even ter wijze van testing zelf getallen invullen in plaats van de variabelen.

Thx

EDIT:
Ja, dat is dus wel degelijk het probleem. Nu is mijn vraag dus, hoe kan ik dit best oplossen? Hoe kan ik de komma's in de variabelen vervangen door punten?
Offline Abbas - 13/12/2007 02:38 (laatste wijziging 13/12/2007 02:39)
Avatar van Abbas Gouden medaille

Crew .NET
Je zet je getal om naar een string en dan gebruik je de Replace() functie en dan terug naar een double:

  1. <%
  2.  
  3. Dim stringGetal, doubleGetal
  4. doubleGetal = 123,45
  5. stringGetal = FormatNumber(doubleGetal)
  6. stringGetal = Replace(stringGetal, ",", ".")
  7. doubleGetal = CDbl(stringGetal)
  8.  
  9. %>

Dit zou moeten kunnen werken! 
Offline Diesel - 13/12/2007 09:02
Avatar van Diesel Nieuw lid Amai, schitterend!
You saved my day 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s