Avatar billede brix66 Nybegynder
01. februar 2003 - 20:29 Der er 20 kommentarer og
2 løsninger

Tomme poster uden dato og tid og ugyldig dato trods ledig.

Godaften E.
Jeg har en subfrm på en frm. I subfrm kan man indtaste dato og tid, betinget af at dato og tid er oprettet i en liste på frm. På dato og tidspunkt felterne har jeg følgende:
Private Sub Dato_BeforeUpdate(Cancel As Integer)
    If IsNull(DLookup("dato", "tbldato", "dato = #" & Me.Dato & "#")) Then
        MsgBox "Du har tastet ugyldig dato"
        Cancel = True
        Me.Dato.Undo
    End If
End Sub
På klient 1 får jeg ikke lov til at taste d. 01-04-2003. Jeg får beskeden om at dato er ugyldig, på trods af at tiden fremstår som ledig. (Jeg formoder ikke at xp har styr på aprilsnar.) Desuden oprettes der tomme poster på KlientID 1 (det er den jeg tester på)hvis tiden er ugyldig. Desuden er der i tblaftale en masse tomme felter.
Er der nogen der kan hjælpe en quinde i tidsnød? Helst en XP bruger hvis db skal tilsendes. På forhånd tusind tak.
/Brix
Avatar billede nih Novice
01. februar 2003 - 22:41 #1
Private Sub Dato_BeforeUpdate(Cancel As Integer)
    If IsNull(DLookup("dato", "tbldato", "dato = #" & format(Me.Dato, "yyyy-mm-dd hh:nn:ss") & "#")) Then
        MsgBox "Du har tastet ugyldig dato"
        Cancel = True
        Me.Dato.Undo
    End If
End Sub

prøv at formatere datoen til yyyy-mm-dd

Niels
Avatar billede brix66 Nybegynder
01. februar 2003 - 22:46 #2
Hvorfor tror du det?
Jeg tror ikke det har noget med det at gøre for jeg kan jo godt tilføje den 02-04-2003.
/Brix
Avatar billede nih Novice
01. februar 2003 - 22:49 #3
Fordi SQL læser din parameter som 4. feb 2003 og her har du garanteret en ledig tid.

du skal enten bruge formattet yyyy-mm-dd eller mm-dd-yy

Niels
Avatar billede brix66 Nybegynder
01. februar 2003 - 22:51 #4
Hvorfor bliver 02-04-2003 så accepteret?
Avatar billede nih Novice
01. februar 2003 - 22:53 #5
Prøv at lave en foresp på en tabel med datoer og sæt kriteriet til #02-04-2003#.
I SQL-visning  har Access oversat din dato til #04-02-2003#.

Når du angiver kriteriere direkte i SQL via VBA skal du bruge JET's dato formater,

Niels
Avatar billede brix66 Nybegynder
01. februar 2003 - 22:54 #6
Øjeblik, jeg syntes at have fundet en anden fejl.
/Brix
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:01 #7
Jeg opretter en Q med en tbl med dato felt. I kriterier sætter jeg som du siger (og her kopieret fra min test q) #02-04-2003#. Når jeg kører Q får jeg resultatet (og igen kopieret fra test q) 02-04-2003. Betyder det så det du siger med datoformatet?
/Brix
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:02 #8
P.S. den første ledige tid jeg har er 31. marts 2003, så den 04-02-2003 er IKKE ledig.
Avatar billede nih Novice
01. februar 2003 - 23:04 #9
JA - men din forespørgsel kan du se i SQL visning - Her vil du se at Access internt har byttet om på dag og måned.
Avatar billede nih Novice
01. februar 2003 - 23:09 #10
Har du prøvet med min kode ?????
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:12 #11
Gør jeg lige...
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:18 #12
Virker!!! Jeg har kun kopieret din kode og sat den ind på hændelsen på mit datofelt. Og det virker faktisk. Skal jeg ikke gøre mere så?
Kan du hjælpe med den anden del af mit ?.
Avatar billede nih Novice
01. februar 2003 - 23:20 #13
Jeg forstår ikke ?, oprtettes der tomme poster når du anvender dlookup
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:21 #14
Det er svært at forklare når du ikke har set db. Men jeg forsøger.... Nej, kan jeg ikke sende den til dig? Har du XP?
Avatar billede nih Novice
01. februar 2003 - 23:22 #15
nope :(
Avatar billede nih Novice
01. februar 2003 - 23:25 #16
Kan det være fordi du på din subform indtaster nye data mens din mainform står på en ny post.
HVIS du gør det vil der automatisk oprettes en post på mainform.
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:29 #17
På min mainfrm står der en klient med klientens tilhørende data. Subfrm er sat ind med tomme felter, lige klar til at taste dato og tid ind.
Avatar billede brix66 Nybegynder
01. februar 2003 - 23:33 #18
Min mainfrm er baseret på tblklienter. Min subfrm er baseret på tblaftaler. I tblaftaler er de tomme poster listet. Det må være når man går ind og opretter en ny aftale at de tomme opstår. Men hvor skal jeg rette det?
Avatar billede brix66 Nybegynder
02. februar 2003 - 00:16 #19
For at løse problemet på mit andet ? har jeg oprettet en Q der sletter dato/tid hvor de er Is null. Dernæst oprettet en macro der kører Q, ved åbning af frm. Så har jeg i funktioner/indstillinger/Rediger/søg fjernet flueben i handlingsforespørgsler. På den måde får bruger ikke vist at Macro kører. Og på den måde får jeg fjernet mine tomme poster. Det er dog ikke en optimal løsning, men den kan bruges.
Hvis der er andre der har nogle andre forslag er de hjertens velkommen.
Tak for hjælpen Niels.
/Brix
Avatar billede brix66 Nybegynder
02. februar 2003 - 00:28 #20
Jeg håber det er i orden at vi "deler" lidt -  jeg kan se at du ikke "sulter", og jeg har kun 80. Og jeg har jo også selv svaret på ? 2.
Hvis ikke du finder det i orden siger du til.
Tusind tak for i aften.
P.S. Hvor er alle henne? Eller gider de bare ikke i dag?
/Brix
Avatar billede nih Novice
02. februar 2003 - 10:53 #21
Det er helt iorden, jeg har pts nok.

prøv at gemme din db i acc 2000 og send den til mig.

nih@mail1.stofanet.dk
Avatar billede brix66 Nybegynder
02. februar 2003 - 12:35 #22
Besked åbenbart ikke nået igennem - prøver igen.
Konverteret og sendt...
/Brix
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester