Hello, all. Completely new to vba here and coding in general. What i learned is from forums and youtube videos.
I' making an access database for a friend of mine, to store informations about her patients. I have a form (ViewPatient) to view single patient information, meaning general informations, pill informations and exam informations. As there are people who take only 1 pill and others who take 15, i want to make the empty pill fields not visible on load.
I made it happen with simple IF and visibility true or false on load, but since there are to many fields (pill1...pill20 / dose1...dose20 / epi1...epi20 / note1 ...note20 / plus the labels for all that), i wonder if there is a way to make it work with a loop, to not fill that coding page. And to learn something new basically.
This is the code that works:
And this is what i come up for a loop, that doesn't work ( i get an error it cant find the field '"Pill" & i' ):If pill20.Value <> "" Then Label_pill20.Visible = True Pill20.Visible = True Label_dose20.Visible = True dose20.Visible = True Label_epi20.Visible = True epi20.Visible = True Label_note20.Visible = True note20.Visible = True Else Label_Pill20.Visible = False Pill20.Visible = False Label_dose20.Visible = False dose20.Visible = False Label_epi20.Visible = False epi20.Visible = False Label_note20.Visible = False note20.Visible = False End If
If what i m thinking can be done, i m pretty sure i lost it with the [ ] and the " " and the ' 's. Those things are confusing as f...Dim i As Long i = 2 Do While i < 21 If Forms![ViewPatient].Form!["Pill" & i].Value <> "" Then Forms![ViewPatient].Form!["Label_Pill" & i].Visible = True Else Forms![ViewPatient].Form!["Label_Pill" & i].Visible = False End If i = i + 1 Loop
Thanks in advance.



Reply With Quote


