Verschillende records binnen een query vergelijken

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Ik vraag mij af of het mogelijk is om binnen een query records met elkaar te kunnen vergelijken?
In het voorbeeld zie je dat de datum, gelijk is en het recept ook, nu zou er alleen een melding moeten komen omdat de eindtijd van de 1e record later is dan de begin tijd van de 2e...

:d
 

Bijlagen

Je kunt een query maken via de wizard.
Kies vervolgens uit de lijst de optie "Wizard Niet-gerelateerde records".
Rest wijst zich vanzelf.
Desnoods even zelf het ontwerp van ge query aanpassen naar jouw wensen.

Tardis
 
Beste Tardis,

Dat had ik inmiddels al geprobeerd maar snap even niet hoe ik de eindtijd van de 1 record kan vergelijken met de begintijd van de 2e wanneer de kast hetzelfde is...en dan een melding kan creëren.
Zou je een klein voorbeeldje kunnen posten, alvast bedankt Ronald:thumb:
 
Leg eens uit wat je bedoelt met:
nu zou er alleen een melding moeten komen omdat de eindtijd van de 1e record later is dan de begin tijd van de 2e...
 
Nu is het zo dat ik bij record 2 alles kan invullen, doordat de tijd van aanvang van record 2 vroeger is dan de eindtijd van record 1, (zie ook de datum)
Dit zou betekenen dat in dit geval de kast dubbel bezet zou zijn wat dus onmogelijk zou zijn in de praktijk.
Hij zou moeten kijken naar de datum / kastnummer en het totaal aantal uren dat de kast bezet is en dan bepalen of de nieuwe aanvangstijd mogelijk is.

Hopelijk ben ik zo nog wat duidelijker.

Alvast bedankt voor de moeite. :thumb:
Ronald
 
Laatst bewerkt:
Je maakt het jezelf niet gemakkelijk; wat je (denk ik) wil is dat je geen tijd kunt selecteren die vóór de eindtijd ligt van het vorige record. Ik weet niet of dat op tabelniveau kan, omdat je een vorige record nodig hebt in de controle. Hetzelfde geldt (vermoed ik) voor een simpele query. Ik zou de check doen op een formulier omdat je daar simpel een tweede recordset kunt laten draaien die de begintijd kan opzoeken op basis van het vorige record.
Overigens heb je een (in mijn ogen) iets te ingewikkelde manier om een datum te bepalen gebruikt, met de IIF. Volgens mij doet deze formule het namelijk altijd goed:
Code:
Expr2: [Datum]+[Aanvang]+[TotaalTijd]
Overigens heb ik het veld TotaalTijd in een query qRecepten gemaakt, waar alle tijden bij elkaar worden opgeteld. Deze query vervangt in de eigenlijke query de tabel tblrecepten. Ook weer voor het gemak...
 
Ik neem aan dat je je gegevens invoert via een formulier.
Zo ja, dan heb je VBA code nodig die je in Voor Bijwerken gebeurtenis zet van de control ("veld) in je formulier waar je de starttijd invult.
In je VBA code kun je dan de functie DCount gebruiken om te bepalen of de tijd en datum op of voor de datum en eindtijd vallen van een reeds eerder ingevoerd record.
Zo ja, dan annuleer je de invoer.

Ik kan je een voorbeeld geven maar ik ben niet zo'n voorstander van voorkauwen.
Daar leer je niks van.
Probeer het aan de hand van mijn voorzet eerst eens zelf.

Op het forum zijn vaker soortgelijke vragen gesteld.
De zoekfunktie kan je ook verder op weg helpen.

Tardis
 
Ik ben inderdaad een beetje met je voorbeeld aan het stoeien geweest. Overigens zou ik zelf de opzet van tardis niet gebruiken, ik ben niet zo'n liefhebber van DLookups en DCounts; ik zou een recordset genereren waar de juiste eindtijd uitrolt, en die als ondergrens gebruiken voor de eerstvolgende tijd. En dus, zoals ik al aangaf, op een formulier.
 
Laatst bewerkt:
Zou iemand mij met een voorbeeld vooruit kunnen helpen, ik ben al een tijd aan het zoeken en puzzelen maar kom er helaas niet uit...:o
 
Heb je al een formulier gemaakt? Dat zit namelijk niet in je voorbeeldje.
 
OK, nog een (lastige) vraag.... Je kunt op zich vrij makkelijk bepalen wat de eerstvolgende begintijd is voor een bepaalde kast. Dat zal ik ook wel even in je formulier inbouwen, als je daar zelf niet uitkomt. Wat een stuk lastiger is, is het volgende vraagstuk: stel dat je op dag 12 de volgende tijdsblokken hebt voor kast 1:
03:00-06:30
09:00-10:15
14:00-16:30
Dan is het dus niet zo moeilijk om te constateren dat de kast weer kan worden ingepland vanaf dag 12, 16:30. Echter, op dag 12 heb je nog gaten in de planning zitten: 6:30-9:00 zit niks, en 10:15-14:00 zit ook nog niks. Wil je die gaten ook nog op kunnen vullen? Want dat is dus een stuk lastiger...
 
Michel,
Goeie vraag maar die tijd zou niet meer in te halen zijn en deze blokken blijven derhalve dan ook leeg.
 
Maakt het een stuk makkelijker :)
Je wilt dus dat de eerst beschikbare tijd wordt ingevuld nadat er een kast is geselecteerd? Althans: het lijkt mij onzin om eerst een tijd in te vullen, als je nog niet weet welke kast...
 
Dat is de bedoelling maar zou als het nodig zou zijn wel graag de tijd willen aanpassen.

Voorbeeld: als de eerstvolgende mogelijkheid 16:00 uur is maar dat het er pas een uur later ingaat.
 
Lijkt mij wel logisch :) Je vult de waarde vast in, meer doe je eigenlijk niet.
 
Ben er mee bezig geweest, maar 't is nog niet helemaal klaar. Zal hem vanavond mee naar huis nemen, want dat was ik gisteren vergeten. En dan doe je zo weinig...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan