Avatar billede schoesler Nybegynder
11. november 2002 - 11:52 Der er 12 kommentarer og
1 løsning

Kan dette gøres nemmere

Hej Eksperter
Kan nedestående gøres nemmere. Har prøvet med FOR I=0 to...
uden held. Det er kun felt numret der ændrer sig. 1-30

Private Sub Form_Current()
If IsNull(Me.rest1) Or (Me.rest1 = "") Then
Me.Difference1.Visible = False
Else
Me.Difference1.Visible = True
End If

If IsNull(Me.rest1) Or (Me.rest1 = "") Then
Me.TimeOfCompletion1.Visible = False
Else
Me.TimeOfCompletion1.Visible = True
End If
End Sub
Avatar billede kennie_nm Nybegynder
11. november 2002 - 11:57 #1
tjum, du kan vel komme af med den ene if-then-else blok:

Private Sub Form_Current()
If IsNull(Me.rest1) Or (Me.rest1 = "") Then
Me.Difference1.Visible = False
Me.TimeOfCompletion1.Visible = False
Else
Me.Difference1.Visible = True
Me.TimeOfCompletion1.Visible = True
End If

End Sub
Avatar billede terry Ekspert
11. november 2002 - 12:01 #2
try me("Rest"& I) in your loop
Avatar billede schoesler Nybegynder
11. november 2002 - 12:04 #3
Og istedet for at skrive denne kode 30 kan jeg så lave en 'For... Next' kode
eller noget ligende
Jan
Avatar billede terry Ekspert
11. november 2002 - 12:09 #4
Yes

For I = 1 to 30
  If Nz(Len(Trim(Me("Rest" & I))), 0) = 0 Then
      ....
  end if
Next I
Avatar billede terry Ekspert
11. november 2002 - 14:17 #5
Jan do you have it working now?
Avatar billede schoesler Nybegynder
11. november 2002 - 14:21 #6
Yes Terry it is working but....

like this

If IsNull(Me.rest2) Or (Me.rest2 = "") Then
Me.Difference1.Visible = False
Else
Me.Difference1.Visible = True
End If

If IsNull(Me.rest2) Or (Me.rest2 = "") Then
Me.TimeOfCompletion1.Visible = False
Else
Me.TimeOfCompletion1.Visible = True
End If

If IsNull(Me.rest3) Or (Me.rest3 = "") Then
Me.Difference2.Visible = False
Else
Me.Difference2.Visible = True
End If

If IsNull(Me.rest3) Or (Me.rest3 = "") Then
Me.TimeOfCompletion2.Visible = False
Else
Me.TimeOfCompletion2.Visible = True
End If

If IsNull(Me.rest4) Or (Me.rest4 = "") Then
Me.Difference3.Visible = False
Else
Me.Difference3.Visible = True
End If

If IsNull(Me.rest4) Or (Me.rest4 = "") Then
Me.TimeOfCompletion3.Visible = False
Else
Me.TimeOfCompletion3.Visible = True
End If

If IsNull(Me.rest5) Or (Me.rest5 = "") Then
Me.Difference4.Visible = False
Else
Me.Difference4.Visible = True
End If

If IsNull(Me.rest5) Or (Me.rest5 = "") Then
Me.TimeOfCompletion4.Visible = False
Else
Me.TimeOfCompletion4.Visible = True
End If

If IsNull(Me.rest6) Or (Me.rest6 = "") Then
Me.difference5.Visible = False
Else
Me.difference5.Visible = True
End If

If IsNull(Me.rest6) Or (Me.rest6 = "") Then
Me.TimeOfCompletion5.Visible = False
Else
Me.TimeOfCompletion5.Visible = True
End If

If IsNull(Me.rest7) Or (Me.rest7 = "") Then
Me.difference6.Visible = False
Else
Me.difference6.Visible = True
End If

If IsNull(Me.rest7) Or (Me.rest7 = "") Then
Me.TimeOfCompletion6.Visible = False
Else
Me.TimeOfCompletion6.Visible = True
End If

If IsNull(Me.rest8) Or (Me.rest8 = "") Then
Me.difference7.Visible = False
Else
Me.difference7.Visible = True
End If

If IsNull(Me.rest8) Or (Me.rest8 = "") Then
Me.TimeOfCompletion7.Visible = False
Else
Me.TimeOfCompletion7.Visible = True
End If

If IsNull(Me.rest9) Or (Me.rest9 = "") Then
Me.difference8.Visible = False
Else
Me.difference8.Visible = True
End If

If IsNull(Me.rest9) Or (Me.rest9 = "") Then
Me.timeofcompletion8.Visible = False
Else
Me.timeofcompletion8.Visible = True
End If

If IsNull(Me.rest10) Or (Me.rest10 = "") Then
Me.difference9.Visible = False
Else
Me.difference9.Visible = True
End If

If IsNull(Me.rest10) Or (Me.rest10 = "") Then
Me.timeofcompletion9.Visible = False
Else
Me.timeofcompletion9.Visible = True
End If

If IsNull(Me.rest11) Or (Me.rest11 = "") Then
Me.difference10.Visible = False
Else
Me.difference10.Visible = True
End If

If IsNull(Me.rest11) Or (Me.rest11 = "") Then
Me.timeofcompletion10.Visible = False
Else
Me.timeofcompletion10.Visible = True
End If

If IsNull(Me.rest12) Or (Me.rest12 = "") Then
Me.difference11.Visible = False
Else
Me.difference11.Visible = True
End If

If IsNull(Me.rest12) Or (Me.rest12 = "") Then
Me.timeofcompletion11.Visible = False
Else
Me.timeofcompletion11.Visible = True
End If

If IsNull(Me.rest13) Or (Me.rest13 = "") Then
Me.difference12.Visible = False
Else
Me.difference12.Visible = True
End If

If IsNull(Me.rest13) Or (Me.rest13 = "") Then
Me.timeofcompletion12.Visible = False
Else
Me.timeofcompletion12.Visible = True
End If

If IsNull(Me.rest14) Or (Me.rest14 = "") Then
Me.difference13.Visible = False
Else
Me.difference13.Visible = True
End If

If IsNull(Me.rest14) Or (Me.rest14 = "") Then
Me.timeofcompletion13.Visible = False
Else
Me.timeofcompletion13.Visible = True
End If

If IsNull(Me.rest15) Or (Me.rest15 = "") Then
Me.difference14.Visible = False
Else
Me.difference14.Visible = True
End If

If IsNull(Me.rest15) Or (Me.rest15 = "") Then
Me.timeofcompletion14.Visible = False
Else
Me.timeofcompletion14.Visible = True
End If

If IsNull(Me.rest16) Or (Me.rest16 = "") Then
Me.difference15.Visible = False
Else
Me.difference15.Visible = True
End If

If IsNull(Me.rest16) Or (Me.rest16 = "") Then
Me.timeofcompletion15.Visible = False
Else
Me.timeofcompletion15.Visible = True
End If

If IsNull(Me.rest17) Or (Me.rest17 = "") Then
Me.difference16.Visible = False
Else
Me.difference16.Visible = True
End If

If IsNull(Me.rest17) Or (Me.rest17 = "") Then
Me.timeofcompletion16.Visible = False
Else
Me.timeofcompletion16.Visible = True
End If

If IsNull(Me.rest18) Or (Me.rest18 = "") Then
Me.difference17.Visible = False
Else
Me.difference17.Visible = True
End If

If IsNull(Me.rest18) Or (Me.rest18 = "") Then
Me.timeofcompletion17.Visible = False
Else
Me.timeofcompletion17.Visible = True
End If

If IsNull(Me.rest19) Or (Me.rest19 = "") Then
Me.difference18.Visible = False
Else
Me.difference18.Visible = True
End If

If IsNull(Me.rest19) Or (Me.rest19 = "") Then
Me.timeofcompletion18.Visible = False
Else
Me.timeofcompletion18.Visible = True
End If

If IsNull(Me.rest20) Or (Me.rest20 = "") Then
Me.difference19.Visible = False
Else
Me.difference19.Visible = True
End If

If IsNull(Me.rest20) Or (Me.rest20 = "") Then
Me.timeofcompletion19.Visible = False
Else
Me.timeofcompletion19.Visible = True
End If

If IsNull(Me.rest21) Or (Me.rest21 = "") Then
Me.difference20.Visible = False
Else
Me.difference20.Visible = True
End If

If IsNull(Me.rest21) Or (Me.rest21 = "") Then
Me.timeofcompletion20.Visible = False
Else
Me.timeofcompletion20.Visible = True
End If

If IsNull(Me.rest22) Or (Me.rest22 = "") Then
Me.difference21.Visible = False
Else
Me.difference21.Visible = True
End If

If IsNull(Me.rest22) Or (Me.rest22 = "") Then
Me.timeofcompletion21.Visible = False
Else
Me.timeofcompletion21.Visible = True
End If

If IsNull(Me.rest23) Or (Me.rest23 = "") Then
Me.difference22.Visible = False
Else
Me.difference22.Visible = True
End If

If IsNull(Me.rest23) Or (Me.rest23 = "") Then
Me.timeofcompletion22.Visible = False
Else
Me.timeofcompletion22.Visible = True
End If

If IsNull(Me.rest24) Or (Me.rest24 = "") Then
Me.difference23.Visible = False
Else
Me.difference23.Visible = True
End If

If IsNull(Me.rest24) Or (Me.rest24 = "") Then
Me.timeofcompletion23.Visible = False
Else
Me.timeofcompletion23.Visible = True
End If

If IsNull(Me.rest25) Or (Me.rest25 = "") Then
Me.difference24.Visible = False
Else
Me.difference24.Visible = True
End If

If IsNull(Me.rest25) Or (Me.rest25 = "") Then
Me.timeofcompletion24.Visible = False
Else
Me.timeofcompletion24.Visible = True
End If

If IsNull(Me.rest26) Or (Me.rest26 = "") Then
Me.difference25.Visible = False
Else
Me.difference25.Visible = True
End If

If IsNull(Me.rest26) Or (Me.rest26 = "") Then
Me.timeofcompletion25.Visible = False
Else
Me.timeofcompletion25.Visible = True
End If

If IsNull(Me.rest27) Or (Me.rest27 = "") Then
Me.difference26.Visible = False
Else
Me.difference26.Visible = True
End If

If IsNull(Me.rest27) Or (Me.rest27 = "") Then
Me.timeofcompletion26.Visible = False
Else
Me.timeofcompletion26.Visible = True
End If

If IsNull(Me.rest28) Or (Me.rest28 = "") Then
Me.difference27.Visible = False
Else
Me.difference27.Visible = True
End If

If IsNull(Me.rest28) Or (Me.rest28 = "") Then
Me.timeofcompletion27.Visible = False
Else
Me.timeofcompletion27.Visible = True
End If

If IsNull(Me.rest29) Or (Me.rest29 = "") Then
Me.difference28.Visible = False
Else
Me.difference28.Visible = True
End If

If IsNull(Me.rest29) Or (Me.rest29 = "") Then
Me.timeofcompletion28.Visible = False
Else
Me.timeofcompletion28.Visible = True
End If

If IsNull(Me.rest30) Or (Me.rest30 = "") Then
Me.difference29.Visible = False
Else
Me.difference29.Visible = True
End If

If IsNull(Me.rest30) Or (Me.rest30 = "") Then
Me.timeofcompletion29.Visible = False
Else
Me.timeofcompletion29.Visible = True
End If


End Sub
Avatar billede terry Ekspert
11. november 2002 - 14:27 #7
why havent you converted to th emethod I gave?
But from your code I can see that your going to have problems!

You should re-name your fields so that you can use the same number, here your using 2 for rest and 1 for Difference1. But if you are 100 % sure that it is always one less then Me("Difference" & I-1).Visible will work!

If IsNull(Me.rest2) Or (Me.rest2 = "") Then
Me.Difference1.Visible = False
Else
Me.Difference1.Visible = True
End If
Avatar billede schoesler Nybegynder
11. november 2002 - 14:33 #8
'terry' jeg prøvede at bruge dit foreslag men uden held. Det er rigtigt at der skal bruges "2 for rest and 1 for difference".
Avatar billede terry Ekspert
11. november 2002 - 14:35 #9
what problems are you having?
Avatar billede schoesler Nybegynder
11. november 2002 - 14:39 #10
Den lange kode som du ser ovenover vil jeg gerne have i en "For to..next" løkke, men har ikke held med at lave den
Avatar billede terry Ekspert
11. november 2002 - 14:46 #11
does this NOT work?

For I = 2 to 30

  If Nz(Len(Trim(Me("Rest" & I))), 0) = 0 Then
    Me("difference" & I-1).Visible = False
    Me("timeofcompletion" & I-1).Visible = False     
  else
    Me("difference" & I-1).Visible = True
    Me("timeofcompletion" & I-1).Visible = True
   
   
  end if

Next I
Avatar billede schoesler Nybegynder
11. november 2002 - 14:57 #12
SKIDE GODT, det virker.... tak 'terry'
Jeg er endnu ikke en ørn til at kode, men jeg kunne godt se hvad jeg gjord galt
Avatar billede terry Ekspert
11. november 2002 - 15:01 #13
:o)
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