I too need to dynamically create controls in my application. You can try this code.
For i = 1 To rs.RecordCount
Load optCase(i)
With optCase(i)
.Caption = rs!filed_name
.Height = 350
.Width = 1935
.Left = 4600
.Top = 850 + (i * 300)
.Visible = True 'this is important bec. your template is invisible at design time.
rs.MoveNext
End With
Next
With this code, you need to have a template of the control you want to add, in this case option(0). The .properties just sets the position of each new controls on the form.
You can also add controls at run time without a template,
here's a code you can try:
Set optButtons = Controls.Add"VB.OptionButton",name)