用DataGrid姓名给变量赋值,然后程序出错。求帮助

用DataGrid名称给变量赋值,然后程序出错。求帮助。
其中GridFamily,GrdiStock,GridPay是三个DataGrid控件名称
frmAddFamily,frmAddStock,frmAddPay是三个窗体名称。
optFamily,optStock,optPay是三个optionbutton名称
问题描述:无论是选择optStock还是optPay,弹出的都是frmAddStock窗体,frmAddFamily窗体不受影响
程序如下:
Public initGrid
'赋值
Private Sub optFamily_Click()
Set initGrid = GridFamily
End Sub
'赋值
Private Sub optPay_Click()
Set initGrid = GridPay
End Sub
'赋值
Private Sub optStock_Click()
Set initGrid = GridStock
End Sub
'添加记录
Private Sub cmdAdd_Click()
If initGrid = GridStock Then
frmAddStock.Show

ElseIf initGrid = GridFamily Then
frmAddFamily.Show

ElseIf initGrid = GridPay Then
frmAddPay.Show
End If
End Sub

另:之前是好用的,等我弄完别的,回头发现这个不好用了。我把全部的程序都删掉,只留这几行,但仍无法解决。然后我把程序改动了一下:
Private Sub cmdAdd_Click()
If initGrid = GridPay Then
frmAddPay.Show

ElseIf initGrid = GridFamily Then
frmAddFamily.Show

ElseIf initGrid = GridStock Then
frmAddStock.Show
End If

End Sub
这回变成了无论是选择optStock还是optPay,弹出的都是frmAddPay窗体。显然程序认为GridStock与GridPay是等值的。
------解决思路----------------------
'对象比较要用 Is'
If initGrid Is GridPay Then

If initGrid = GridPay Then
'DataGrid 的默认值属性是 Text,这个语句实际是'
If initGrid.Text = GridPay.Text Then



------解决思路----------------------
又:直接判断Option按钮的状态就可以了,其它代码都是多余。
Private Sub cmdAdd_Click()
    If optPay.Value Then
        frmAddPay.Show

    ElseIf optFamily.Value Then
        frmAddFamily.Show

    ElseIf optStock.Value Then
        frmAddStock.Show
    End If
End Sub