[Access] Query controleren?

Pagina: 1
Acties:

  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Ik heb een query gemaakt die vanuit VB naar Access wordt geschopt, maar Access accepteert 'm niet. :(

code:
1
2
3
4
5
6
7
8
9
    Query = "SELECT Client.voornaam, Client.tussenvoegsel, Client.achternaam,  
              Client.clnr, Dier.naam, Dier.diernr, " & _
              "Dier.beginkoeling, Dier.eindkoeling, Dier.prijskoelingperdag, 
            Dier.destructiekosten, Dier.crematiekosten " & _
            "FROM Client JOIN Dier ON Client.clnr = Dier.clnr " & _
            "WHERE (Dier.beginkoeling <= #" & DatumMJ2 & "# AND Dier.eindkoeling 
            >= #" & DatumMJ1 & "#) AND (Dier.prijskoelingperdag > 0 " & _
             "OR Dier.destructiekosten > 0 OR Dier.crematiekosten > 0) " & _
            "ORDER BY Client.clnr;"

Dit zou alle gegevens nodig voor een factuur over een dier gekoppeld aan een client terug moeten sturen voor het tijdsbestek tussen DatumMJ1 en 2 bij kosten boven 0...

Nu wil ik kijken waar ie er problemen mee heeft, hoe doe ik dat? Kan ik die query ergens testen zodat ik een uitgebreid foutenrapport krijg?

[ Voor 11% gewijzigd door Benadski op 24-04-2003 17:01 ]


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Die query roep je die in Access aan via VBA code? Of doe je dat in een query ontwerp en heb je hem daar neergeplakt ?

Als je dat laatste gedaan hebt dab zou ik die &_ eens weg halen.

Verwijderd

Benadski schreef op 24 april 2003 @ 17:00:
Ik heb een query gemaakt die vanuit VB naar Access wordt geschopt, maar Access accepteert 'm niet. :(
Wat bedoel je daarmee? Krijg je een foutmelding (en zo ja, hoe luidt die)? Zijn de resultaten onverwacht (en zo ja, hoe)?
Dit zou alle gegevens nodig voor een factuur over een dier gekoppeld aan een client terug moeten sturen voor het tijdsbestek tussen DatumMJ1 en 2 bij kosten boven 0...
Wat staat er in DatumMJ1 en DatumMJ2?
Nu wil ik kijken waar ie er problemen mee heeft, hoe doe ik dat? Kan ik die query ergens testen zodat ik een uitgebreid foutenrapport krijg?
Print eens de hele variabele Query uit en draai hem binnen de Access database zelf door een nieuwe query aan te maken in SQL weergave, en jouw query hiernaartoe te copyen.

  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Query is een string, daar staat de hele query in en die & _ betekent string gaat verder op de volgende regel (hier klopt dat niet helemaal, maar anders wordt de layout helemaal gaar).

Ik heb in mijn code on error goto errorhandler staan dus ik krijg mijn zelf getypte foutmelding terug. Heb ik niet veel aan... Uitzetten helpt ook niet, geen waardevolle error-info. De fout krijg ik alleen als de query niet goed is. Struktureel heb ik m gechecked, haakjes enzo moeten goed zijn, geen typefouten gemaakt etc.

Aan de DatumMJ1 en 2 kan het niet liggen, die zijn in de vorige query (deze moet die vervangen) ook op deze manier gebruikt, de vorige query gaf alleen niet de juiste records terug (dubbele gegevens etc.).

Hoe doe ik dat precies in Access? Ik weet het alleen via VB te doen... Ik heb die db niet gemaakt namelijk. Ik weet alleen hoe alles gekoppeld is. Ik ben een beetje n00b afentoe, ik weet het. :z

Verwijderd

Benadski schreef op 24 april 2003 @ 20:01:
[...]
Ik heb in mijn code on error goto errorhandler staan dus ik krijg mijn zelf getypte foutmelding terug. Heb ik niet veel aan... Uitzetten helpt ook niet, geen waardevolle error-info.
Uhm .... let me be the judge of that. ;) Errors zijn er om informatie te bieden. Post desnoods ook je code eromheen, zodat ik de context beter begrijp, incl. waarom de errormelding misschien onduidelijk is.
De fout krijg ik alleen als de query niet goed is.
Uhm ... bedoel je dat met een andere query je geen fout krijgt, dus dat het wel aan de query zelf moet liggen?
Aan de DatumMJ1 en 2 kan het niet liggen, die zijn in de vorige query (deze moet die vervangen) ook op deze manier gebruikt, de vorige query gaf alleen niet de juiste records terug (dubbele gegevens etc.).
En je gebruikte die ook voor dezelfde kolommen?
Hoe doe ik dat precies in Access? Ik weet het alleen via VB te doen... Ik heb die db niet gemaakt namelijk. Ik weet alleen hoe alles gekoppeld is. Ik ben een beetje n00b afentoe, ik weet het. :z
Je moet natuurlijk de Access database file hebben en Access geinstalleerd hebben. Dubbelklik op de .mdb file, ga naar de Query objecten (in lijst met o.a. Tabellen, Raporten, Modules, etc, of de Engelse versie daarvan), en kies voor 'Nieuw'. Kies dan 'Ontwerpweergave'. Aan de linkerkant van de buttonbar staat 'SQL', kies dat en post je SQL statement erin. Druk om het uitroepteken in dezelfde balk om de query te runnen.

PS: Dat had je zelf ook met wat gepruts kunnen bedenken. Eigen inspanning is de beste manier om te leren. ;)

  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Verwijderd schreef op 24 april 2003 @ 20:17:
[...]

Uhm .... let me be the judge of that. ;) Errors zijn er om informatie te bieden. Post desnoods ook je code eromheen, zodat ik de context beter begrijp, incl. waarom de errormelding misschien onduidelijk is.

[...]

Uhm ... bedoel je dat met een andere query je geen fout krijgt, dus dat het wel aan de query zelf moet liggen?

[...]

En je gebruikte die ook voor dezelfde kolommen?

[...]

Je moet natuurlijk de Access database file hebben en Access geinstalleerd hebben. Dubbelklik op de .mdb file, ga naar de Query objecten (in lijst met o.a. Tabellen, Raporten, Modules, etc, of de Engelse versie daarvan), en kies voor 'Nieuw'. Kies dan 'Ontwerpweergave'. Aan de linkerkant van de buttonbar staat 'SQL', kies dat en post je SQL statement erin. Druk om het uitroepteken in dezelfde balk om de query te runnen.

PS: Dat had je zelf ook met wat gepruts kunnen bedenken. Eigen inspanning is de beste manier om te leren. ;)
Yep, de query zelf moet fout zijn andere doet ie wel goed, die datums gebruik ik inderdaad ook voor dezelfde kolommen (copy paste, zo is het gegaan).

De rest van de code kan ik nu niet laten zien want die heb ik hier niet, komt morgen wel, je wilt trouwens niet alle code zien, die is zo onderhand meer dan 200 A3-tjes vol... :D

Hmm, ok ga ik eens proberen in Access, bedankt voor de hulp! Als ik dan een error krijg die ik niet snap post ik m ook wel ff. Die error in VB was zoiets van: Error on line xxx, met knopjes End en Debug geloof ik (of kreeg ik die nou ergens anders :| ).

EDIT: Oja, DatumMJ1 is een datum, de eerste van een bepaalde maand in een bepaald jaar, datumMJ2 is een maand later.

[ Voor 7% gewijzigd door Benadski op 24-04-2003 21:30 ]


  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Verwijderd schreef op 24 april 2003 @ 20:17:
Uhm .... let me be the judge of that. ;) Errors zijn er om informatie te bieden. Post desnoods ook je code eromheen, zodat ik de context beter begrijp, incl. waarom de errormelding misschien onduidelijk is.
Sorry, je hebt gelijk, de errorinfo was wél informatief en het is nu ook opgelost, Access kent JOIN niet, hier heb ik INNER JOIN van gemaakt en nu werkt het goed! :)
Pagina: 1