Avatar billede nomisdk Nybegynder
14. april 2009 - 09:59 Der er 9 kommentarer og
1 løsning

Formular - dato + et år

Jeg har 2 tabeler som ser således ud:

Udløb
Id - Firma - Produkt - Start - Udløb
Fx:
1 - Test A/S - Produkt1 - 14-04-2009 - 14-04-2010


Produkter
Id - Produkt - Varighed
Fx:
1 - Produkt1 - 365
2 - Produkt2 - 730

Når jeg opretter en ny data en Udløb tabelen tager den automatisk Produkter fra min tabel "Produkter", og det fungere fint.

Det som jeg så gerne vil er at den automatisk hvis fx jeg har valgt at opretter med Produkt1 at den så sætter udløb til 1 år frem(fx 14-04-2010) eller hvis jeg sætter den til Produkt2 sætter den udløb til 2 år frem(fx 14-04-2011).

Hvordan klare jeg det?
Avatar billede mugs Novice
14. april 2009 - 10:34 #1
Private Sub Produkt1_BeforeUpdate(Cancel As Integer)
Me.udløb = DateAdd("YYYY", 1, start)
End Sub

Indsæt samme kode i Produkt2
Avatar billede mugs Novice
14. april 2009 - 10:35 #2
I produkt2 skal du rette intervallet fra 1 til 2
Avatar billede nomisdk Nybegynder
14. april 2009 - 10:42 #3
Hvordan/hvor skal jeg indsætte dette?
Avatar billede mugs Novice
14. april 2009 - 10:51 #4
Åbn din formular i designvisning. Højreklik på dit felt > Egenskaber > Hændelser. Sæt markøren på linien ud for "Before update". Tryk på+ de 3 små ... i højre side og du kommer ind i VBA-editoren. Skriv koden hvor markøren blinker.
Avatar billede nomisdk Nybegynder
14. april 2009 - 11:38 #5
Ok, så langt, så godt.


Min Produkt er en drop down ting, så hvordan får jeg den til at automatisk finde ud af om den skal skrive 1 eller 2 - eller 3?

Jeg har ændret lidt i min produkt tabel:

Udløb tabel
Id - Firma - Produkt - Start - Udløb
Fx:
1 - Test A/S - Produkt1 - 14-04-2009 - 14-04-2010


Produkter tabel
Id - Produkt - Varighed
Fx:
1 - Produkt1år - 1
2 - Produkt2år - 2

Så hvordan får jeg den til at trække varighed ind i det vba script? Kan man gøre det på en eller anden variabel måde?
Avatar billede nomisdk Nybegynder
14. april 2009 - 11:49 #6
Lige en lille kommentar, den laver fint nok datoen 1 år frem.

Men det jeg gerne vil er at den trækker om det er 1,2,3,whatever år fra min produkter tabel.
Avatar billede nomisdk Nybegynder
15. april 2009 - 09:19 #7
Ingen bud på hvordan jeg klare det?
Avatar billede mugs Novice
15. april 2009 - 10:47 #8
Jeg forstår ikke problematikken. Kan du prøve at forklare med andre ord.
Avatar billede nomisdk Nybegynder
15. april 2009 - 11:01 #9
Jeg fik løst det på en anden måde, så lukker :)
Avatar billede hugopedersen Nybegynder
15. april 2009 - 12:28 #10
Den forkromede løsning er at oprette en ekstra kolonne der indeholder antal udløbsår og så bruge mugs' Me.udløb = DateAdd("YYYY", 1, start) i en modificeret udgave der slår tallet op i comboboxen Me.udløb = DateAdd("YYYY", Nz(Me.cboProduct.Column(x), 1), start)

( Nz gør at den defaulter til 1 år hvis der ikke står noget i kolonnen)
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