Avatar billede jensen363 Forsker
13. december 2007 - 11:31 Der er 8 kommentarer og
2 løsninger

Lås data efter bestemt dato/periode

I en tabel skal bruger via en indtastningsformular indtaste nogle data på ugebasis, eksempel :

År  Uge  DataA  DataB
2007 01  100    200
2007 02  200    100
2007 03  150    700

o.s.v.

Brugeren skal kun kunne intaste/rette i (indeværende uge -1) alle øvrige uger skal ikke kunne redigeres ( historisk )

Kan det lade sig gøre ?
Avatar billede Slettet bruger
13. december 2007 - 11:44 #1
Brug OnCurrent eventen og lav en if sætning, som låser felterne!~)
Avatar billede terry Ekspert
13. december 2007 - 11:47 #2
How do you find out what the current week is?

If you know what we have then in th eOn Current event you can check if the data can or can not be altered an dset teh forms AllowEdits accordingly
Avatar billede jensen363 Forsker
13. december 2007 - 11:47 #3
Du er godt nok hurtig :-) ... den kom også lige til mig ... men hvordan får jeg omsat dags dato til et ugenr ?

Jeg synes ikke lige dette virker 

DatePart("w";Now())
Avatar billede mugs Novice
13. december 2007 - 11:54 #4
Ikke afprøvet:

Private Sub Form_Current()
Dim VARa As Date
Dim VARb As Byte
VARa = Date
VARb = DatePart("ww", VARa, 1, 0) - 1
If Me.uge = VARb - 1 Then
Me.data1.Locked = True
Me.data2.Locked = True
Else:
Me.data1.Locked = False
Me.data2.Locked = False
End If
End Sub
Avatar billede terry Ekspert
13. december 2007 - 12:03 #5
Dont we also need to take the year into account?

If ([År] = Year(now)) AND Datepart("ww",Now(),vbMonday, vbFirstFourDays) = [Uge]-1 THen

Me.AllowEdits = True

Else

Me.AllowEdits = False

End if
Avatar billede terry Ekspert
13. december 2007 - 12:04 #6
it isnt tested :o)
Avatar billede jensen363 Forsker
13. december 2007 - 12:10 #7
Endte op med denne :

Private Sub Form_Current()

If Me.Uge < Me.AktuelUge - 1 Then
           
Data1.Enabled = False
Data2.Enabled = False
             
MsgBox ("Du kan ikke redigere i allerede rapporterede uger")
   
End If

End Sub
Avatar billede terry Ekspert
13. december 2007 - 12:17 #8
But this will fail if År isnt the same as current year!

If Me.Uge < Me.AktuelUge - 1 Then
Avatar billede mugs Novice
13. december 2007 - 12:21 #9
Neturligvis skal året med.
Avatar billede jensen363 Forsker
13. december 2007 - 12:30 #10
Jeg bruger princippielt ikke året i formularen, idet der udelukkende indberettes for eet år ad gangen .... men jeg kan godt se problemet når der i uge 1 2008 skal indberettes for uge 52 i 2007 :-)
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