Avatar billede hekla Nybegynder
09. februar 2003 - 02:27 Der er 6 kommentarer og
2 løsninger

Lukke underformular og overføre felter

Jeg har et datofelt(Date) og en kalender(FrmCalendar) hvorfra datoen skal hentes. Jeg har kalenderen indsat som underformular til den formular(Form1), hvor datofeltet er.

Det giver to problemer:
1. At åbne og lukke kalenderen. Skal det gøres med open/close eller med Visible = true/false? Og hvordan er koden til det?

2. Jeg skal have overført datoen til datofeltet. I kalenderen står datoen i tre felter: Date, Month og Year. Hvordan gør man det?
Avatar billede terry Ekspert
09. februar 2003 - 10:01 #1
hekla, try doing this differently. Place your calendar on another form. Have a public date field in a module. Now you can place a small button beside your date field. You can use the button wizard to do this and it must open the new form containing your calendar. Now you need to change the code which opens the form, so that it opens it in dialog mode. This stops you doing things on other forms until you close the form. Now when you choose a date on the calendar you set the public date field to the selected date and when you return to the form which opened the calendar you now put the public data field in th edate field on the form.
What is good about this is you can use this calendar form anywhere in your program.
Avatar billede hekla Nybegynder
09. februar 2003 - 13:29 #2
terry> Jeg vil kigge nærmere på den metode, du foreslår. Årsagen til, at jeg gerne vil have kalenderen som underformular, er, at programmet kører på computere med forskellige skærmopløsninger, og det betyder at formularerne kan flytte sig i forhold til hinanden, specielt fordi nogle af formularerne bliver resizede efter skærmopløsningen (ShrinkerStretcher fra www.peterssoftware.com).

Ang. overførslen af feltet havde jeg tænkt mig noget a la:

Me.Visible = False
Screen.ActiveControl = Me!day & "-" & month & "-" & year
DoCmd.Close acForm, Me.Name

men jeg kan ikke få det til at virke.
Avatar billede terry Ekspert
09. februar 2003 - 13:44 #3
if you make a form for the calendar then you can choose to always open it in the center of the screen.

I think you rproblem with your code is that the calendar is on a sub form so you need to reference this

Me.TheObjectContainingTheSubForm.Form.NameOfFieldOnSubForm
Avatar billede terry Ekspert
11. februar 2003 - 11:05 #4
hi hekla, hows it going here?
Avatar billede hekla Nybegynder
11. februar 2003 - 14:16 #5
Der mangler stadig svar på den ene halvdel af spørgsmålet, nemlig problemet med at åbne/lukke underformularen. Ideen med kalenderen på en underformular dur ikke, hvis jeg ikke kan åbne/lukke underformularen.
I så fald er jeg nødt til at lægge kalenderen på en formular for sig selv, og det ved jeg godt hvordan man gør, jvf min kommentar 09/02-2003 13:29:13
Avatar billede hekla Nybegynder
17. februar 2003 - 17:17 #6
Jeg har ikke fået svar på det, som jeg spurgte om, men du har gjort en indsats terry, og jeg kan bruge lidt af det, du er kommet med, så du får 10p.

Lukker spørgsmålet.
Avatar billede terry Ekspert
17. februar 2003 - 20:50 #7
thanks for the points hekla, reason why I didnt give an answer to BOTH questions was because I gavce a solution where you had the calendar on another form which gets closed.
You dont close a sub form but hide it
Me.TheSubFormObject.Visible = False
NOTE: This is the name of the object containing the sub form NOT the name of the sub form
Avatar billede hekla Nybegynder
17. februar 2003 - 23:56 #8
Så lykkedes det endelig. Den kom til at se sådan her ud:

Me.Parent!date = Me.Day & "-" & Me.Month & "-" & Me.Year
Me.Parent.SetFocus
Me.Parent!date.SetFocus
Me.Parent!Kalender.Visible = False

Tak for hjælpen!
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