26. juli 2002 - 21:40Der er
18 kommentarer og 1 løsning
4 terminer - gruppeboks bestemmer de 3
I en formular har jeg indtastet nogle biler, de biler kan have fra 1 til 4 terminer. Felterne i min formular hedder 1termin, 2termin osv. Man kan i felterne vælge hvilken måned det skal være, og værdien der gemmes er månedes tal (ex. juni = 6)
Jeg har nu lavet en gruppeboks, hvor kan vælge hvor mange terminer der er, (betales det helårlig, halvårlig eller hver kvartal) Helårlig giver værdien 1 halvårlig 2 og kvartal 3
Jeg vil så slette 2-4 termin, så man kun kan vælge antal terminer og hvornår første termin er. Den skal så selv regne ud hvad der skal stå i 2-4 termin. Ex. 1 der er valg helårlig: 1 termin er sat til juni (der gemmes et 6 tal) 2-4 termin skal være tomme Ex. 2 der er valg halvårlig 1 termin er sat til august (der gemmes et 8) 2 termin bliver automatisk gemt med 2 (februar) Ex. 3 der er valg kvartal 1 termin er sat til januar (der gemmes 1) 2 termin gemmes med 4 3 termin gemmes med 7 4 termin gemmes med 10
Kan det lade sig gøre? og hvordan?
Det skal også gælde for de biler der er tastet ind. Er der 4 terminer skal kvartal være valg osv.
Nyt modul: Function getTermin(resTerminer As Variant, _ antal As Integer, _ startMnd As Integer) As Boolean
getTermin = False If Not startMnd >= 1 Then Exit Function
Select Case antal Case 1: If Not startMnd <= 12 Then Exit Function resTerminer = Array(startMnd, Null, Null, Null) Case 2: If Not startMnd <= 6 Then Exit Function resTerminer = Array(startMnd, startMnd + 6, Null, Null) Case 4: If Not startMnd <= 3 Then Exit Function resTerminer = Array(startMnd, startMnd + 3, startMnd + 6, startMnd + 9) Case Else: getTermin = False End Select
getTermin = True End Function
og så på din form aktivere vha en knap
Private Sub Kommandoknap19_Click() Dim maaneder As Variant
If Not getTermin(maaneder, rmAntalTerminer, cmboMnd) Then MsgBox "WRONG" Exit Sub End If
Niels a question! I am sure that earlier today there was about 2000 points (at least 1000) between Thomas and I, but now there is only about 250! I just cant explain it, Thomas hasnt been active for a couple of weeks now! Do you have any ideas?
Hmm, kan få det til at virke, er der noget bestemt jeg skal skifte ud med mine felter/variabler?
Jeg havde forestillet mig noget ala, If IsNull(Me.[2 Termin]) Then Me.Ramme141 = 1 End If If Not IsNull(Me.[2 Termin]) And IsNull(Me.[3 Termin]) Then Me.Ramme141 = 2 End If If Not IsNull(Me.[3 Termin]) Then Me.Ramme141 = 3 End If
til at bestemme hvor det skal stå ved de poster der er sat ind, men ved bare ikke helt hvor koden skal sættes ind, eller om den virker.
lav en function mere i dit modul: Function set_Mnd_1termin(t1, _ t2, _ t3, _ t4, _ startMnd As Integer, _ AntalTermin As Integer) As Boolean
set_Mnd_1termin = False If IsNull(t1) Then Exit Function If IsNull(t2) And IsNull(t3) And IsNull(t4) Then startMnd = t1 AntalTermin = 1 End If If (Not IsNull(t2)) And IsNull(t3) And IsNull(t4) Then startMnd = t1 AntalTermin = 2 End If If Not IsNull(t2) And Not IsNull(t3) And Not IsNull(t4) Then startMnd = t1 AntalTermin = 4 End If End Function
Har imellem tiden sat dette ind på VedAktuelt: Private Sub Form_Current() If IsNull(Me.[2 Termin]) Then Me.Ramme141 = 1 End If If Not IsNull(Me.[2 Termin]) And IsNull(Me.[3 Termin]) Then Me.Ramme141 = 2 End If If Not IsNull(Me.[3 Termin]) Then Me.Ramme141 = 3 End If End Sub
og dette ved VedTimerudløb og sat timer til 1 Private Sub Form_Timer() Dim iTerm1 As Integer, iTerm2 As Integer, iTerm3 As Integer, iTerm4 As Integer
If Me.Ramme141 = 1 Then Me.[2 Termin] = "" Me.[3 Termin] = "" Me.[4 Termin] = "" End If If Me.Ramme141 = 2 Then iTerm1 = Me.[1 Termin] iTerm2 = (iTerm1 + 6) If iTerm2 > 12 Then iTerm2 = iTerm2 - 12 End If Me.[2 Termin] = iTerm2 Me.[3 Termin] = "" Me.[4 Termin] = "" End If If Me.Ramme141 = 3 Then iTerm1 = Me.[1 Termin] iTerm2 = (iTerm1 + 3) If iTerm2 > 12 Then iTerm2 = iTerm2 - 12 End If iTerm3 = (iTerm1 + 6) If iTerm3 > 12 Then iTerm3 = iTerm3 - 12 End If iTerm4 = (iTerm1 + 9) If iTerm4 > 12 Then iTerm4 = iTerm4 - 12 End If Me.[2 Termin] = iTerm2 Me.[3 Termin] = iTerm3 Me.[4 Termin] = iTerm4 End If
End Sub
Vidste ikke helt hvor jeg eller kunne sætte det, de steder jeg prøvede virkede ikke. Men de virker begge.
Men som skrevet, så kigger jeg lige lidt mere på dine svar.
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.