Procentuele toename berekenen in een kruistabel

Status
Niet open voor verdere reacties.
Met DLookup wil je een (bestaande) waarde ophalen. Daarvoor gebruik je meestal een tabel. De op te zoeken waarde bepaal je met het criterium. Dat mag een veld zijn dat je via een query uitfiltert. De op te zoeken waarde blijft nog steeds een (uniek) record uit je tabel.
 
Code:
Groei: DLookUp("[Item Charge Base Amount]";"[Purch_Rcpt_Line]";"[Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")/DLookUp("[Item Charge Base Amount]";"[Purch_Rcpt_Line]";" Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")

Nu eens zo gedaan, maar nu geeft hij: "The Microsoft Jets Database Engine cannot find the input table or query 'Purch_Rcpt_Line'. Make sure it exists and that its name is spelled correctly".

De tabel bestaat en hij is ook goed gespeld. Volgens mij probeert access mij opzettelijk te verwarren. :shocked:
 
Misschien is het handiger als je een gestripte versie van de db mailt.... Dit kan nog wel een tijdje gaan duren zo ;)
 
Ik heb die ene code nog eens geprobeerd en lichtelijk aangepast:

Code:
Groei: DLookUp("[SomVanItem Charge Base Amount]";"[Qry Etienne Inkoopcijfers Huidig Jaar]";"[Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")/DLookUp("[SomVanItem Charge Base Amount]";"[Qry Etienne Inkoopcijfers Vorig Jaar]";" Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")

Maar ipv miepen dat hij Item Charge Base Amount niet kan vinden zegt hij nu weer dat er een Syntax error (missing operator is in [Buy-from Vendor No_].

Ik ga eens even kijken of ik een gestripte versie kan maken..
 
Ik heb in ieder geval ontdekt waarom hij de tabel niet zag, er stonden 2 miniscule spaces achter de underscores die ik niet had meegenomen. Dat veranderd, geeft hij nog altijd de Syntax Error bij [Buy-from Vendor No_]
 
Probeer je tabelnamen en veldnamen zo 'schoon' mogelijk te houden, want je loopt dus uren te zoeken naar dat soort problemen ;) Zelf vermijd ik spaties zoveel mogelijk, vanwege dit soort dingen.
Bedoel je deze syntax error?
Syntax error (missing operator) in query expression '[Qry Etienne Inkoopcijfers Huidig Jaar]![Buy-from Vendor No_]='
?

Het kan nog zijn dat er een verkeerd teken in het veld staat, zoals een quootje. Zelf zou ik zoveel mogelijk proberen te matchen met numerieke velden, want die zijn beter in de hand te houden.
 
Ik heb de database niet zelf in elkaar gezet dus ik heb er helaas weinig vat op. Het zal dus wel zoeken geblazen zijn bij iedere iets complexere query die ik ga maken.

Het is inderdaad die error, alleen geeft hij alleen maar [Buy-from Vendor No_] en niet dat voorgaande.

Waar zal ik de gestripte versie heen sturen?
 
De fout zat 'm in dit stuk:

Code:
Groei: DLookUp("[SomVanItem Charge Base Amount]";"[Qry Etienne Inkoopcijfers Huidig Jaar]";"[Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")/DLookUp("[SomVanItem Charge Base Amount]";"[Qry Etienne Inkoopcijfers Vorig Jaar]";"[B][COLOR=red][[/COLOR][/B]Buy-from Vendor No_]='" & [Buy-from Vendor No_] & "'")

Er ontbrak een rechte haak. Iets waar je makkelijk overheen leest...
 
Nu gaat hij in ieder geval door maar stopt bij een melding: "Division by Zero"

Vervolgens laat hij me nog alle jaartallen zien en overal staat #Naam?

Hoe krijg ik het zo dat hij alleen maar 2009 en 2010 laat zien?
 
Je gebruikt een deling; als in de noemer niks staat, dan deel je door 0 en dat mag uiteraard niet. Je kunt dat ondervangen met een IIF, die eerst controleert of de noemer niet leeg is.

Code:
Groei: IIf(DLookUp("[Item Charge Base Amount]";"[Purch_ Rcpt_ Line]";"[Buy-from Vendor No_] ='" & [Buy-from Vendor No_] & "'") Is Null;0;DLookUp("[Item Charge Base Amount]";"[Purch_ Rcpt_ Line]";"[Buy-from Vendor No_] ='" & [Buy-from Vendor No_] & "'")/DLookUp("[Item Charge Base Amount]";"[Purch_ Rcpt_ Line]";"[Buy-from Vendor No_] ='" & [Buy-from Vendor No_] & "'"))[CODE]
[/CODE]
 
Hoeveel records gebruik je? Ik heb in jouw db weinig kunnen doen, omdat je een gekoppelde tabel had meegestuurd. Die heb ik moeten vervangen door een lokale tabel, maar daar zitten uiteraard weinig records in... Dus bij mij doet-ie het gewoon.
 
Veel records schat ik zo. Hij kijkt door alle geboekte inkooporders van alle jaren die in ons ERP-programma staan en dat zijn er nogal wat.

Moet ik misschien eerst een "hulptabel" maken met alleen de gegevens die ik nodig heb?
 
Probeer eerst eens een filter op jaartal, dat zal ook wel schelen. Met Year([Datumveld]) maak je een extra getalveld, en met criterium 2009 OR 2010 krijg je de filtering.
 
Blijft Overflow helaas :(

En ook nog Division by zero, zelfs met die code.

Ik snap er niets meer van.
 
Laatst bewerkt:
Ik heb het nu anders proberen op te lossen door een query te maken waarbij ik uit de queries van de inkoopcijfers van vorig jaar en van dit jaar de cijfers haal en naast elkaar zet. Deze kolommen heten Vorig Jaar en Huidig Jaar. Als ik echter doe :
Code:
Groei: ([Huidig Jaar]-[Vorig Jaar]/[Vorig Jaar]*100)

Vraagt hij naar de parameter waarde van Huidig Jaar (en ik neem aan ook Vorig Jaar als ik doorklik).

Doe ik het echter door eerst te verwijzen naar de queries met: [Qry Etienne Inkoopcijfers Huidig Jaar]![SomVanItem Charge Base Amount] , dan geeft hij me weer een overflow.

Dacht ik even slim te zijn :o
 
HA! Het is eindelijk gelukt. Ik heb het toch met een gewone query voor elkaar gekregen. Na een beetje klooien met de formule geeft hij eindelijk de procentjes weer.

Heel erg bedankt voor de hulp, ik dacht even dat ik door begon te draaien :p

:thumb::thumb::thumb:
 
Waar zat nu de fout?
 
ik vermoed in het feit dat ik het veld op Group By had staan ipv Expressie. Anders in de relaties tussen de tabel en de query. Ik had namelijk de tabel Purch_Rcpt_Line gekoppeld aan Qry inkopen vorig jaar, en apart aan huidig jaar. Ik heb vorig en huidig jaar erna ook nog aan elkaar gekoppeld.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan