Avatar billede tni Juniormester
07. januar 2003 - 21:50 Der er 12 kommentarer og
1 løsning

Funktion som indsætter dags dato

Heg vil gerne have en funktion som ved dobbeltklik indsætter dd.

Jeg ved godt at jeg kan skrive me.xxx=date

men kunne man ikke lave en funktion som hed et eller andet sådan at hvis man nu ønskede dd+6 så var det på alle

mvh Torben
Avatar billede mugs Novice
07. januar 2003 - 21:53 #1
Me.feltnavn = Date + 6
Avatar billede mugs Novice
07. januar 2003 - 21:54 #2
Men hvad mener du på alle? Hvis du mener flere felter, så hedder det:

Me.feltnavn1 = Date + 6
Me.feltnavn2 = Date + 6
o.s.v
Avatar billede nih Novice
07. januar 2003 - 22:03 #3
Hej Mugs :)

Function OmEnUge () as date
  OmEnUge = date + 7
End Function

Niels
Avatar billede mugs Novice
07. januar 2003 - 22:04 #4
Du kan jo også lave en gruppeboks med alternativknapper. Hver knap returnerer en numerisk værdi til tabellen. Så i boksens OnClick event kan lave en Select Case, hvor Ramme1 er navnet på selve boksen:

Select Case Ramme1
Case Is 1
Me.felt1 = Date
Case Is 2
Me.felt1 I Date + 2
Case Is 3
Me.felt1 = Date + 3
o.s.v
End Select
Avatar billede mugs Novice
07. januar 2003 - 22:08 #5
Hej Niels - Godt at se du stadig er her et eller andet sted :o)

Ja - Der er mange måder at gøre tingene på. Men når spøgeren har formuleret sig som det er gjort forstår jeg det sådan, at der skal være flere valgmuligheder.
Avatar billede nih Novice
07. januar 2003 - 22:28 #6
Så kunne man lave den sådan her:

Function OmXDage(x As Integer) As Date

    OmXDage = Date + x
   
    On Error Resume Next
    Screen.ActiveControl = OmXDage
   
End Function

Og i egenskabsarket for den control der skal have dobbeltklikket skrive:  =OmXDage(6)

Jeg tror mere der søges efter hvordan en function strikkes sammen

Niels
Avatar billede mugs Novice
07. januar 2003 - 22:38 #7
Eller sådan:

x = InputBox(Prompt:="Indtast antal dage.", Title:="Antal dage", Default:="")
Me.feltnavn = Date + x

(Ikke afprøvet)

Jeg vil ikke udelukke sidste linie i din kommentar.

/ Mogens
Avatar billede terry Ekspert
08. januar 2003 - 09:07 #8
tni>It would be nice if you commented the answers and comments so far!
They way I look at it, you should give us some more information. You say that you want the days date set in a field when you double click. THEN you say you want to add for example 6 days (på alle)!

På alle hvad?

If you want to add a variable number of days to the current date then you will also need some way of telling how many days you want to add and this could be for example a text field for entering a number or a combo conm where you could select from.

Then you could use (for example) Niels'function Function OmXDage()
(I would remove Screen.ActiveControl = OmXDage from the function, then the fucntion can be used for other purposes.)



In the double click event (of some field) you would use

screen.activecontrol = OmXDage(me.FieldOrCombo)

where me.FieldOrCombo is either a text field or combo for entering/selecting the number of days.
Avatar billede terry Ekspert
08. januar 2003 - 09:08 #9
They way  = the way
Avatar billede terry Ekspert
12. januar 2003 - 17:25 #10
tni>how about commenting here, we cant help you otherwise, and we may never help you again if you dont!
Avatar billede nih Novice
12. januar 2003 - 20:16 #11
Hi Terry.

Du bryder dig ikke om mine to sidste linjer:
    On Error Resume Next
    Screen.ActiveControl = OmXDage

Hvorfor ????
Det gør funktionen nem at bruge direkte i egenskabs arket - istedet for at oprette en VBA procedure for hvert element der skal bruge funktionen.

Niels
Avatar billede terry Ekspert
12. januar 2003 - 20:59 #12
Hi Niels,
well its just a matter of taste. I could imagine that this function could be used for a number of reasons, for example in a query, so it would be pointless having this in the function
Screen.ActiveControl = OmXDage

when all that I want is to return the value.
and I dont need to have a VBA procedure for each control, thats why I use

screen.activecontrol = OmXDage(me.FieldOrCombo)

If I need to set the current control and if it was in a query I could use

InAWeek:OmXDage(7)

or something like that.

I think it makes the function more flexible, but as I said its a matter of taste.

mvh
Terry
Avatar billede tni Juniormester
13. januar 2003 - 09:58 #13
Det var den her jeg skulle bruge. Undskyld men jeg har ikke været ved pc på det sidste.

screen.activecontrol =date

mvh TNI
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