[space] Skrevet 17. desember 2005 Del Skrevet 17. desember 2005 (endret) Har et lite problem med noen datofelt. Feltene blir hentet fra date-felt i en access database. Der er de lagret med dd.mm.yyyy. Dette fungerer greit så lenge maskinen er satt opp med "Norwegian" under "Standards and Formats". Setter jeg denne til "English (UK)" feiler programmet når dette skjermbildet vises. (Runtime error 13.) Hvordan løser jeg enklest dette? Datofeltet kan også endres av brukeren av programmet, og jeg har en enkel sjekk på feltet. Private Sub txtoppstart_KeyPress(KeyAscii As Integer) Dim strGyldig As String strGyldig = "0123456789./" If KeyAscii > 26 Then If InStr(strGyldig, Chr(KeyAscii)) = 0 Then KeyAscii = 0 Beep End If End If End Sub Jeg har også en sjekk på om datoen er riktig. Private Sub txtoppstart_validate(Cancel As Boolean) Dim blnErDato As Boolean Dim IntSvar As Integer ' Undersøker om datoen er OK. blnErDato = IsDate(txtoppstart) ' Setter inn årstall hvis dette mangler i datoen. If blnErDato And Len(txtoppstart) < 6 Then txttxtoppstart = CDate(txtoppstart.Text) End If ' Avbryter hvis datoen er feil. If Not blnErDato Then IntSvar = MsgBox("Feil dato. Vil du endre nå?", _ vbInformation + vbYesNo, "Test") If IntSvar = vbYes Then ' Merker dataene som er registrert feil. With txtoppstart .SelStart = 0 .SelLength = Len(txtoppstart) End With Cancel = True Else txtoppstart = "" End If End If End Sub edit: Ved nærmere debugging: blnErDato = IsDate(txtoppstart) Denne er FALSE, når txtoppstart er på formen 01.01.2006. Selv om jeg skriver inn på formen 01/01/2006 blir denne gjort om til 01.01.2006 av seg selv for så å feile... Strange... edit igjen: Hvar formatet i property sheeten til feltet som ikke var oppdatert. Dette sto til dd.mm.dd. Så nå fungerer det jo på engelsk, men nå vil vel ikke norske innstillinger fungere? Dette løser jeg kanskje med å bruke no replace funksjon på . eller / ?? Enda en edit: Faktisk løste det seg bare jeg satte formatet på datofeltene til dd/mm/yyyy. Da blir det dd.mm.yyyy på norsk og dd/mm/yyyy på engelsk. Så da har jeg vel egentlig løst det selv. Endret 17. desember 2005 av [space] Lenke til kommentar
kolsson Skrevet 4. mars 2006 Del Skrevet 4. mars 2006 Hei, Før du lagrer dato i Access kan du gjøre slik: Dato=format(now,"dd\/mm\/yyyy"), da er du uavhengig av regioner. MVH/kolsson Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå