During my programming time from last year until now i was so frustrated with the Set Newform = new form1. Why? because after this line of code i can't access to form or any controls on the form. Until to day, i've found a piece of code that i thought it will help all of you have the same problem as i did, which is to have a copy of the form and can always have access to the form or its controls.

Dim NewForm1(1 to 50) as New Form1

'this will allow to you have up to 50 copy of Form1
'like this.
for every new copy you want to make just use an integer varible to create the number between 1 and 50 to the new form in the name of NewForm1(your-varialbe). if you have got a varible with the value 5 and the name of VarNum, then you NewForm will be like this.

NewForm(VarNum).show 'shows/create the form

To call the Form use:
NewForm(5).controls/properties 'use to edit controls or

'form's property.