i forlængelse af Mugs: Læg Mugs kode i AfterUpdate / Efter opdatering i "feltnavn" og skriv sådan her: If me.feltnavn <#01-01-2010# then Msgbox "din tekst" End If Og et godt råd i øvrigt: Hold dig langt væk fra at lægge feltegenskaber, standardværdier, valideringsregler, formater, inputmasker m.m. i tabeldesign. Læg det i formular og rapportdesignet. Eneste undtagelser: standardværdi: 0 i talfelter og standardværdi: Date() i dato-felter, hvis du vil registrere datoen for oprettelse på en post.
Jeg er enig i at lægge det i AfterUpdate. Årsagen til jeg gik videre med spørgsmålet var at der ikke testes for det SKAL være en dato. <#01-01-2010# virker kun for f.eks 01-01- 2008 men ikke xxxx eller 1234
Jeg skal have noget mere eller andet end <#01-01-2010#
Private Sub Kommandoknap2_Click() If Me.datofelt < #1/1/2010# Then If MsgBox("Validerer dato, dato er mindre end 01-01-2010", vbOKCancel) = vbCancel Then Me.datofelt = Null End If Else Exit Sub End If End Sub
På en FORM har jeg et inputfeld der IKKE er databundet Inputtet SKAL være en dato på format dd-mm-åååå Jeg skal senere i programmet indsætte datoen i en tabel
Jeg skal altså frafiltrere fejlinput som f.eks 123 eller abc og kun acceptere datoer større end 01-01-2010
Jeg ved det - det er netop det der gør det problematisk :-) Det er et tekstfeld uden formatering og som jeg skriver er det af mange årsager ikke muligt at formatere det her.
Det kan være vi helt skal glemme tekstfeldet og fange fejlen i afterupdate med vba koder der frafiltrerer og kun accepterer datoer på formen dd-mm-åååå
If Me.datofelt < #1/1/2010# Then .... er ok, men det er ikke nok Rene tal og bogstaver skal også væk
Når jeg læser din sidste kommentar, kan jeg godt se, at jeg har været lidt på afveje. Jeg tror ikke det er så indviklet endda. Jeg har nulstillet hjernen og kommet frem til denne kode, prøv at arbejde lidt videre og vend så tilbage:
Private Sub Kommandoknap5_Click() If IsDate(Me.Tekst3) Then MsgBox " dato" Else MsgBox " ikke gyldig dato" End If End Sub
Også IsDate har jeg prøvet før. Her kan jeg få dit "dato men ikke "ikke gyldig dato" "ikke gyldig dato" overroeles af systemets: " Den indtastede værdi passer ikke ......" Herfra kan jeg ikke manurerer
Nu kan jeg se jeg før ikke har svaret korrekt Jeg har godt nok et feld combobox der ikke er databundet men alligevel er det da jeg bruger: .RowSource = SQL altså alligevel databunden
efterfulgt af en true, når advarslerne skal slåes til igen. Husk altid at tilkoble advarslerne igen, ellers forbliver de frakoblede i hele applikationen
Just to make something clear. If you are expecting a date in format dd-mm-yyyy then you risk trying to insert the wrong date into the table.
Dates have to be in either mm-dd-yyyy pr yyyy-mm-dd format
In example: You enter into your text field 01-06-2015 and you believe this is 1st june 2015. Well actually it will end up in the dB as 6th January 2015.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.