Thank you for your quick and thorough reply, June.

Originally Posted by
June
Why (so many mistakes)
Because i dont know shit! I dont have any education on the subject, its the second database i make in my life, and its something i dont need in my job, so i dont really have to learn it. Its something i do on my own, to pass my time and learn as i go.
I m sure if anyone with a minor knowledge look at my database will see errors everywhere, but i m proud of it, thinking of the times something didnt work and after searching for 2 hours i found the solution.

Originally Posted by
June7
[] are only needed if names have space or punctuation/special characters and sometimes if it is a reserved word.
If labels are associated with data control (textbox, combobox, etc) they will not be visible when data control is not visible
Thanks for the lesson. I didnt know any of that and now i do.

Originally Posted by
June
Why are you using a number iterating loop?
I though i cant have it 20 times longer that it has to, searched "access vba loop" on my friend google and come across "do while loop"...

Originally Posted by
June
For i = 1 to 3
Me("tbxData" & i).Visible = Not IsNull(Me.Pill20)
Next
Thank you, thank you, thank you.

Originally Posted by
June
If you actually have 20 sets of these 4 fields/controls, then your db structure is bad.
I hope you dont have to see my whole db... Its all bad!

Originally Posted by
June
If you want to keep the names as they are, alternative is to use control's Tag property. Set it to some value like "Grp1". Then code would loop through ALL controls on form and look at the Tag value and only set visibility for those that are "Grp1".
Not something to add now, as i want its record searched independently, but something to search and learn.
*Edit*
This is my code that works now:
Private Sub Form_Load()
For i = 2 To 20
If Me("Pill" & i).Value <> "" Then
Me("Pill" & i).Visible = True
Me("dose" & i).Visible = True
Me("epi" & i).Visible = True
Me("note" & i).Visible = True
Else
Me("Pill" & i).Visible = False
Me("dose" & i).Visible = False
Me("epi" & i).Visible = False
Me("note" & i).Visible = False
End If
Next
End Sub