Query geeft verkeerde waarden

Status
Niet open voor verdere reacties.

Lovdingh

Gebruiker
Lid geworden
23 mrt 2012
Berichten
8
Hallo,

Voor mijn stage heb ik een database gemaakt waarin stilstanden van verschillende machines geregistreerd kunnen worden. De database werkt perfect, het opvragen van rapporten echter niet. Ik zal een schets van de database en het probleem geven:
In een formulier kan worden aangegeven wat de voorwaarden van het te creëren rapport moet zijn (alle waarden hiertussen komen in het rapport) Een query zoekt vervolgens de records die aan deze voorwaarden op en weergeeft deze in een rapport. Dit werkt naar behoren voor de criteria begin- en einddatum.
Ook kan in dit formulier aangegeven worden welke processtap (aanvoer, voordrogen, wassen, etc) men wil zien, dit via het volgende querycriterium: Like "*" & [Forms]![F_Rapport]![Processtapveld] & "*" , zodat wanneer er niets ingevuld wordt, alle processtappen weergegeven worden. Hetzelfde geldt voor het aangeven van het apparaat waar de storing zich voordoet. Wanneer een processtap geselecteerd wordt in het formulier, worden direct alle apparaten die binnen deze processtap vallen getoond in een dropdownbox in het formulier, waar de invuller hieruit een keuze uit kan maken of het veld leeg kan laten zodat alle apparaten op het rapport komen.

Nu het probleem: wanneer ik een processtap selecteer, geeft de query een verkeerde of geen processtap terug. Dit verschilt per processtap en is als volgt:
Processtap geeft wassen 1
Aanvoer geeft wassen 2
Voordrogen geeft niets als output
Ontzuren geeft niets als output
Wassen 1 geeft niets als output
Wassen 2 geeft niets als output
Nadrogen geeft niets als output
Filtreren geeft niets als output
Afvoer geeft niets als output

Kan iemand mij hiermee verder helpen? Ik hoor het heel graag!

Lucas
 
Op zich een duidelijk verhaal, tot je bij het probleem komt. Want wat gebeurt daar precies? Je hebt een keuzelijst gemaakt die de processtappen toont. Die werkt, zeg je. Verder heb je een tweede keuzelijst die de machines geeft die bij de betreffende processtap horen. Ook die werkt naar beheoren. Vervolgens geef je als probleem: de processtap query geeft een verkeerde processtap terug? Dat snap ik dan niet meer.... En je voorbeeld is ook niet overdreven verhelderend; wat zijn de getallen bij wassen bijvoorbeeld?
 
Wassen 1 en Wassen 2 zijn de namen van 2 elkaar opvolgende processtappen. Bij drogen hebben ze het voordrogen en nadrogen genoemd, bij wassen dus wassen 1 en wassen 2. Duidelijk vind ik het zelf ook niet maar ik trap hier al tegen genoeg andere schenen aan dus zal ik het gewoon onder die namen in mijn database opnemen.

Ik zal proberen het probleem nog wat duidelijk uiteen te zetten: In het formulier vul ik een begin- en einddatum van het rapport in en kies ik van welke processtap ik een rapport wil zien. De querys die de juiste waarden in deze dropdownboxen moeten weergeven werken, oftewel alles werkt naar behoren totdat ik op het rapport oproep. Het probleem treed op wanneer ik een processtap selecteer waarvan ik de storingen wil zien. Wanneer ik deze enkel een begin- en einddatum invul komt het juiste rapport naar voren. Wanneer ik een processtap selecteer komt er een andere (of geen) processtap terug in het rapport.

Dit volgens onderstaande gegevens:

Processtap geeft Wassen 1
Aanvoer geeft Wassen 2
Voordrogen geeft niets als output
Ontzuren geeft niets als output
Wassen 1 geeft niets als output
Wassen 2 geeft niets als output
Nadrogen geeft niets als output
Filtreren geeft niets als output
Afvoer geeft niets als output

(als hij het goed zou doen zou het er zo uit zien: Aanvoer geeft Aanvoer, etc)

De processtappen staan in de tabel 'processtap' en de hierboven genoemde lijst is de volledige lijst met alle processtappen. Ik hoop dat dit het wat duidelijker maakt.

Gr. Lucas
 
We hebben toch wat meer nodig, en wel de code en/of query waarmee je het rapport opent. Want er zit ergens in die code een onhebbelijkheidje...
 
Beste Michel,

Bijgevoegd is de database (heb hem eerst tot .7z moeten compressen om hem onder de 100 kb te krijgen en daarna gezipt. Hopelijk kan je dit openen).
Ik heb de database redelijk kaal gemaakt, dwz dat bv het invoerformulier weg zijn. Om het probleem te ervaren doe het volgende:
- in F_Rapport met enkel een tijdspanne als zoekcriterium het rapport opvragen (de records komen goed naar voren)
- in F_Rapport met een processtap en data als zoekcriterium het rapport opvragen. Wanneer je dan de processtappen in het rapport vergelijkt met de processtap in F_Rapport zie je dat deze niet overeenkomen (als er uberhaupt al records te zien zijn in het rapport).

NB: een ander probleem dat je tegen kan komen is dat je, wanneer je na het selecteren van een processtap een apparaat wil selecteren, hij altijd de bovenste uit de lijst selecteert, ongeacht welke waarde je aanklikt. Dit is een ander probleem dat ik probeer op te lossen maar voor deze vraag niet relevant (ook omdat niet bekend is of er rapporten per apparaat gemaakt moeten worden, ik wacht nog op uitsluitsel hierover van mijn stagebegeleider).

Ik hoop dat de database enigszins duidelijk is en dat je het probleem zoals ik het ondervind ook ziet.

BVD, groet,

Lucas
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan