• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum controleren in meerdere kolommen

Status
Niet open voor verdere reacties.

Bas1980

Gebruiker
Lid geworden
15 dec 2013
Berichten
64
All,

Ik heb een database met vele namen en cursussen er in. Nu wil ik dat, wanneer ik iets uitleen aan een persoon, deze persoon gecontroleerd gaat worden op eventueel verlopen cursussen.

Voorbeeld: Rij 2 staat de naam van de persoon en in kolom 6, 7, 8 en 9 staan de datums welke gecontroleerd dienen te worden. Als 1 van deze data is verstreken of binnen nu en 30 dagen gaan verstrijken wil ik graag een melding hebben dat er een cursus is verlopen. Hoeft niet van iedere kolom (6,7,8 of 9) een melding te zijn. Alleen 1 melding welke zegt dat er een cursus is verlopen.

Ik heb de volgende code geprobeerd maar die werkt niet:

Code:
If CDate(Txtdatum.Value) > Cnaam.Column(6, 7, 8, 9) Then msg = msg
End If
If msg <> "" Then MsgBox msg & vbLf & "Check PSL!", vbCritical, "Verlopen poortvideo"

Hoe kan ik dit juist krijgen?

Groet,

Bas
 
Plaats een voorbeeld document.

In ieder geval kan in de drie regels code die je plaatste de End If er uit.
 
Ik kan zo snel even geen vb bestand plaatsen aangezien deze vol staat met confidential information. Zal eerst een backup moeten maken hiervan en het bestand leeg moeten halen. Hoop dat je enigszins uit de voeten kunt met deze code.


Code:
Private Sub Cnaam_AfterUpdate()
eName = Cnaam
If Me.Cnaam = "" Then
Me.Cnaam.SetFocus
MsgBox "Voer een naam in bij het vakje 'Uitgeleend aan: of vul in: Zie opmerkingen", vbExclamation, "Invoer vereist!"
Exit Sub
If CDate(Txtdatum.Value) > Cnaam.Column(6, 7, 8, 9) Then msg = msg
If msg <> "" Then MsgBox msg & vbLf & "Check PSL!", vbCritical, "Verlopen poortvideo"
End Sub

Het gaat dus gewoon om de naam welke gecontroleerd dient te worden. Ename = Cnaam is de naam van de ingevoerde persoon. Deze naam komt voor in de database en de kolommen 6,7,8 en 9 welke overeenkomen met de naam moeten dan alleen gecontroleerd worden.

Groet,

Bas
 
Laatst bewerkt:
Bekijk bijlage Sleutelkast leeg.xlsm

Hierbij het bestand. Heb even een kopie gemaakt en leeg gehaald.
Wanneer je naar Visual Basic gaat gaat het om:

Het formulier: Gasdetector uitlenen en dan de code onder het kopje: Private_Sub Cnaam_afterupdate

Hier staat in het groen de code om elke cursus apart te controleren en bij verlopen cursus van elke cursus een msgbox te geven. Alle cursussen die verlopen zijn moeten of in 1 msgbox komen te staan of 1 melding geven met de mededeling: Check PSL.

Hoop dat jullie me er mee kunnen helpen.

Groetjes Bas.
 
Plaats een voorbeeldbestand dat de kern van het probleem weergeeft. 1 tab met de betreffende tabel met wat fictieve data en het formulier waar je problemen mee hebt is voldoende als voorbeeldbestand. Het ziet er ook niet naar uit dat je veel met de eerder aangereikte suggesties gedaan hebt. (geen inspringspunten, onoverzichtelijke module structuur, het wegschrijven van gegevens vanuit een userform naar een tabel, etc)

De meeste helpers zijn best bereid om jou een duwtje in de goede richting te geven maar onderhand is deze hele applicatie door de helpers tot stand gekomen en dat lijkt mij niet de bedoeling van dit forum. (Tenzij de NAM hoofdsponsor van deze site wordt natuurlijk);)
 
VenA, in principe valt dat best mee. Er staat veel code die ik zelf heb moeten bedenken cq zoeken. Sommige dingen vraag ik inderdaad en dat is hoofdzakelijk de controlerende werking die ik moest vragen.

Helaas is de NAM geen hoofdsponsor :) maar nu is dit programma ook niet hoofdzakelijk voor NAM doeleinden bedoeld. Dat is gewoon de achtergrond :cool:

Bovenstaand probleem heb ik inmiddels zelf uit kunnen puzzelen en is hiermee opgelost.
 
Laatst bewerkt:
Of het nu Shell of NAM is maakt niet zoveel uit toch?:cool: Mooi dat je het zelf opgelost hebt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan