+ -
当前位置:首页 → 问答吧 → VB不同窗体的控件名传递问题

VB不同窗体的控件名传递问题

时间:2011-07-22

来源:互联网

在编一个小程序玩但遇到一个问题,简单点说就是
有3个FORM,分别为main,f_Lbcx,f_cbxx。f_Lbcx,f_cbxx有adodc控件
f_lbcx中的为adodc1;f_cbxx中的为adodc1和adodc2。希望在main里编辑函数
Public Sub SJKChuShiHua(names As Form,adodcs As Adodc, adoconnstr)
names.Adodcs.ConnectionString = adoconnstr
End Sub
对不同窗体的不同adodc控件的ConnectionString进行赋值,但是在执行Call main.SJKChuShiHua(Me, Adodc1, main.adoconnstr)时确发现adodc1没有传递过去还是怎么了,一直报错,但将sub里的赋值函数改为names.Adodc1.ConnectionString = adoconnstr可以正常运行,但却不是我的目的,我还准备用他对f_cbxx.adodc2进行赋值呢,盼解决方法

作者: ray0824   发布时间: 2011-07-22

不名所以

作者: ybh37   发布时间: 2011-07-22

Call main.SJKChuShiHua(Me, Adodc1, main.adoconnstr)
在那里?

作者: patrickkong   发布时间: 2011-07-22

想用函数SJKChuShiHua()实现可以对不同窗体下不同adodc.ConnectionString进行初始化的功能
比如对f_Lbcx中的adodc1可以调用Call main.SJKChuShiHua(f_Lbcx, Adodc1, main.adoconnstr)
f_cbxx中的adodc2可以调用Call main.SJKChuShiHua(f_cbxx, Adodc2, main.adoconnstr)实现




ps:adoconnstr这个字符串是个public 在main中定义的

作者: ray0824   发布时间: 2011-07-22

Call main.SJKChuShiHua(Me, Adodc1, main.adoconnstr)
这个是在f_Lbcx的load里 所以我用了me代替

作者: ray0824   发布时间: 2011-07-22

Call main.SJKChuShiHua(f_Lbcx.Adodc1, main.adoconnstr)


Public Sub SJKChuShiHua(adodcs As Adodc, adoconnstr)
  Adodcs.ConnectionString = adoconnstr
End Sub

作者: jhone99   发布时间: 2011-07-22

引用 5 楼 jhone99 的回复:
Call main.SJKChuShiHua(f_Lbcx.Adodc1, main.adoconnstr)


Public Sub SJKChuShiHua(adodcs As Adodc, adoconnstr)
Adodcs.ConnectionString = adoconnstr
End Sub


成功了 
但是有个问题 就是我的方法错误在那里,难道不能将窗体名和控件名都通过参数传递,并用[参数中的窗体名].[参数中的控件名].[属性]=xx的方式调用赋值吗,很多时候在编写函数时候不能确定控件名称和窗体名称,所以我才想编个这样的程序进行测试。

作者: ray0824   发布时间: 2011-07-22

概念混淆,你传的是“窗体”和“控件”,而不是“窗体名”和“控件名”

作者: jhone99   发布时间: 2011-07-22

作者: Alice814108771   发布时间: 2011-07-22