11. november 2004 - 09:32Der er
5 kommentarer og 1 løsning
Indsæt dato fra kalender-objekt.
Hejsa
Jeg har lavet en lille database, hvor man skal have mulighed for, at indsætte en dato, som bla. skal kunne vælge ud fra kalender-objektet.
Kalender objektet er lavet i en anden formular, som jeg kalder for Kalender. I min oprindelig formular, som jeg kalder for Journal. Har jeg 2 felter, en Fra-dato og en Til-dato. Jeg ønsker, at man kan trykke på en knap, kaldet "Kalender” hvorefter Kalender-formularen kommer frem og man så kan vælge en dato her på.
Det er ikke noget problem, at få vist Kalender-formularen, men jeg kan ikke finde ud af, at få sendt nogle informationer med over til denne formular således, at man ved et klik på kalender-objektet får indsat datoen i det korrekte felt. (Fra-dato eller Til-dato alt efter hvor man stod da man trykkede på knappen)
Princippet er, at man lukker eller skjuler kalenderen, og derefter skriver til det aktuelle felt (dvs det felt, som havde fokus før kalenderen blev åbnet:
Private Sub cmdVælg_Click() On Error Resume Next Me.Visible = False Screen.ActiveControl = Me!Kalender DoCmd.Close acForm, Me.Name End Sub
Det giver dog nok nogle problemer, hvis du bruger en knap til at åbne kalenderen. På denne knap, skal du så sørge for at flytte focus tilbage til det forrige felt, inden du åbner kalenderen. f.eks. således:
private sub cmdKalender_Click() Screen.Previouscontrol.setfocus docmd.Openform "Kalender" end sub
Man bruger punktum foran egenskaber og metoder, mens man bør bruge ! foran objekter.
Dvs hvis du skal referere til en tekstboks på me, skal du skrive:
Me!tekstboks
Hvis du skal referere til en egenskab på formularen, skriver du f.eks.:
Me.Visible = False
Metoder er kommandoer som knytter sig til objektet. Og disse skal have punktum mellem:
Me.Requery
Access tillader fejlagtigt, at man bruger punktum foran objekter på formular-niveau: Me.tekstboks
Men i andre situationer vil du få en fejl. F.eks. hvis det var et recordset. Dette vil give en fejl, selvom det i princippet er det samme som sker:
rs.Felt1
Når man benytter den rigtige syntaks, så kan Access også hurtigere behandle sætningen, da den lettere ved om den skal kigge blandt egenskaber/metoder eller om den skal kigge blandt tilgængelige ojekter.
Så derfor bør man altid benytte den rigtige syntaks.
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.