集合与用户自定义数据类型问题

sysmaster 2004-10-22 02:28:57
Public Type emptype
em_id As String
em_name As String
End Type
Dim employees As New Collection
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset


Public Sub openTable()
Dim employee As emptype
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "provider=sqloledb.1;data source=.;user id=sa;password=lide;initial catalog=northwind"
conn.Open
rs.Open "employees", conn, adOpenKeyset, adLockPessimistic

For i = 1 To rs.RecordCount
employee.em_id = rs.Fields(0)
employee.em_name = rs.Fields(1)
employees.Add employee, employee.em_id
rs.MoveNext
Next
End Sub

上面报错为“只有在公共模块中用户自定义数据类型才可以与变体类型转换”不过,我放在公共模块中仍不行,为什么?怎么做?
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sysmaster 2004-10-24
  • 打赏
  • 举报
回复
唉!
sysmaster 2004-10-23
  • 打赏
  • 举报
回复
呵呵,那我还不如再做一个员工类。
leolan 2004-10-23
  • 打赏
  • 举报
回复
不行的話就用CopyMemory吧,HOHO...
sysmaster 2004-10-23
  • 打赏
  • 举报
回复
1、这段代码就要在公共模块中的;
2、我是要添加一个员工对象到集合中,不仅要有姓名,还要ID;
3、就算放在类模块中,问题仍是一样(当然这可以再做一个员工对象的类来解决,不过现在只想用自定义来做,MS的文档认为是行的)。

请大家帮一下忙!!!
northwolves 2004-10-23
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3037/3037274.xml?temp=.2789728
aohan 2004-10-23
  • 打赏
  • 举报
回复
up
a达哥a 2004-10-22
  • 打赏
  • 举报
回复
你折段程序既然是做集合, 还不如改用类模块更好
GGL123 2004-10-22
  • 打赏
  • 举报
回复
是不是应该这样?
employees.Add employee.em_name, employee.em_id
熊孩子开学喽 2004-10-22
  • 打赏
  • 举报
回复
添加一个模块,然后将:
Public Type emptype
em_id As String
em_name As String
End Type
添加进去。
或者不添加模块,将它改为:
Private Type emptype
em_id As String
em_name As String
End Type
这样的话只能在当前窗体中使用

7,762

社区成员

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

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