****************传参数的问题,高手指点一下,先谢了**********************

linuxyf 2004-08-16 04:47:38
在vba编程中,在from1上有一个multipage控件,它有多个page,但每个page上面都有一个combobox控件和一个listbox控件,combobox控件中加载表信息,每选择一个表,listbox中加载对应表的字段信息,因为多个page的操作类似,我能不能把这些操作抽出来,写成一个方法,这个方法如何写?参数如何传?能不能把listbox的名字作为参数传入??
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxyf 2004-08-17
  • 打赏
  • 举报
回复
谢谢各位
hhjjhjhj 2004-08-16
  • 打赏
  • 举报
回复
有对象参数必需加Call
dongge2000 2004-08-16
  • 打赏
  • 举报
回复
UP
online 2004-08-16
  • 打赏
  • 举报
回复
应该没有问题,你再检查一下
linuxyf 2004-08-16
  • 打赏
  • 举报
回复
楼上的兄弟,使我弄错了,你是正确的,谢谢,马上揭帖
linuxyf 2004-08-16
  • 打赏
  • 举报
回复
楼上的兄弟,还是不行,错误信息如下:
Compole error:
Only user-defined types defined in public object modules can be coerced to or from a variant or passed to late-bound function.

online 2004-08-16
  • 打赏
  • 举报
回复
call lstLoadTable (combobox1)
call lstLoadTable (combobox2)
call lstLoadTable (combobox3)
或者
lstLoadTable combobox1
lstLoadTable combobox2
lstLoadTable combobox3
linuxyf 2004-08-16
  • 打赏
  • 举报
回复
比如说我想几个页面上的 combobox加载相同的数据,我定义一个函数:
Private Sub lstLoadTable(ByRef controlName As ComboBox)

Dim cnt As Integer
Dim i As Integer
cnt = UBound(g_selected_tables)

If cnt > 0 Then

For i = 0 To cnt
controlName.AddItem (g_selected_tables(i))
Next
End If

End Sub

加载的时候我直接传一个comboBox进去

lstLoadTable (combobox1)
lstLoadTable (combobox2)
lstLoadTable (combobox3)

我这样做,系统出错,提示说:object required,为什么不能这样?

谁解释一下?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧