Dubbele waarden voorkomen

  • Onderwerp starter Onderwerp starter jk87
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jk87

Gebruiker
Lid geworden
7 aug 2008
Berichten
20
Validatieregel schrijven die afhankelijk is van meerdere kolommen

Hallo allemaal,

Ik ben bezig met een systeem waarin afspraken worden geregistreerd. Nu moet hier alleen een controle in komen zodat er geen dubbele afspraken worden gemaakt. Dat wil dus zeggen dat zowel klant 1 als werknemer A op maandag om 10:00 uur maar één keer mag worden ingevoerd. Mijn vraag is hoe bouw ik deze controle in?

Alvast bedankt voor jullie hulp!

PS: Het zou helemaal geweldig zijn als het ook niet mogelijk is om een afspraak bij deze werknemer/klant in te kunnen voeren tot 2 uur na een ingeplande afspraak. Dus als werknemer A om 10:00 uur bij klant 1 is, dat er bij zowel klant 1 als de werknemer A pas om 12:00 uur een nieuwe afspraak kan worden gepland.
 
Laatst bewerkt:
Afhankelijk hoe de tabel er precies uit ziet maar je kunt er een sleutel op gooien die je uniek maakt
 
De afspraak is uniek door een AfspraakID, wat ik nu als sleutel heb ingesteld. Ik kan bij validatieregel wel een expressie maken, maar ik weet niet goed hoe ik die moet formuleren. Het probleem is eigenlijk hoe ik dubbele waarden uitsluit die in strijd zijn met één van meerdere kolommen. Moet ik dan mijn sleutel anders instellen? Die staat nu op AutoNummering.
 
Je kan dit ook op tabelniveau oplossen:
ga naar je tabel in de ontwerpmodus > klik op indexen > maak een nieuwe index aan en geef deze een naam.
ga vervolgens naar de volgende regel (of voeg er 1 toe) maar zorg dat er geen naam in de kolom naam staat (is dus leeg), voeg nu je 2e veld toe. Herhaal dit met het aantal velden dat je wil gebruiken (max = 10)
Stel bij de indexeigenschappen in Uniek = Ja
Verwijder eventueel en desgewenst andere indexen in deze tabel.
 
Hallo Floor,

Bedankt voor je post! Ik heb het even geprobeert maar ik krijg steeds de foutmelding dat de wijziging in de indexen dubbele waarden op zou leveren. Ik heb 4 kolommen geselecteerd; Klantnummer, StudentId, DatumAfspraak en TijdAfspraak. Ook als ik slechts twee van deze kolommen in mijn index zet, levert het dubbele waarden op. Access moet die 4 kolommen eigenlijk als 1 kolom zien en dan de eventuele dubbele waarden weigeren. Zie jij hier een oplossing voor?

Alvast bedankt!

Gr,

Jarno
 
Dit zou moeten werken, ik gebruik hem zelf ook. Wellicht staan er al dubbele waarden in.
Maak een kopie van je tabel (en voor de zekerheid van je database), wis de inhoud van de originele en voeg vervolgens de data vanuit de gekopieerde tabel toe aan de originele tabel. Het probleem zou dan opgelost moeten zijn. Anders even een kopietje posten (kijk ik wel pas morgen naar)
 
Hallo Floor,

Je hebt helemaal gelijk, alleen het was even een behoorlijk gepuzzel met dubbele waarden. Ik heb onlangs een nieuw bestand gebouwd en daarin zijn oude onvolledige gegevens geïmporteerd. Dit bracht wat aanpassingswerk met zich mee. Maar ik heb het nu goed, ik heb twee indexen ingesteld eentje met Klantnummer; Datumafspraak; Tijdafspraak en eentje met StudentId; Datumafspraak; Tijdafspraak. Op deze manier kan zowel een klant als een student maar één afspraak per tijdstip hebben. Ik had niet gedacht dat de oplossing zo simpel kon zijn, mijn dank is groot!!

Groeten,

Jarno
 
Graag gedaan. Fijn om te horen dat het gelukt is. Ik moet je eerlijk bekennen dat ik deze mogelijkheid pas een paar dagen ken maar wel inmiddels flink gebruik. Ik herinnerde me dat er een vraag over dit onderwerp op dit forum openstond.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan