数据库RecordSet问题!急急急!!

shanquan20061981 2006-03-10 05:43:45
我现在将所有出现过的Blank_Address变量存在一个表当中,每次存之前先看看这个号码有没有出现过.
但是记录集打开的时候出现了问题,希望指教:
表的名字是:Table_Num,里面就"表地址"一个字段,出现过的号码就存放在这个字段里面,字段类型是"数字",数据库是Access的:

Set r = New ADODB.Recordset
r.Open "select * from Table_Num", cn, adOpenDynamic, adLockOptimistic

r.MoveFirst
For i = 1 To r.RecordCount
If Public_Address = r.Fields(0) Then'------如果找到,说明这个表已经创建过了
Exit Sub
End If
r.MoveNext
Next i


r.AddNew
r!表地址 = Public_Address
r.Update

'-----下面接着是创建表格------
cn.Execute "create table[" & Trim(CStr(Public_Address)) & "_当天]([Date1] DATETIME,[Time1] DATETIME,Data TEXT(50))"
.......

但是编译的时候会指向:
r.Open "select * from Table_Num", cn, adOpenDynamic, adLockOptimistic
报类型不匹配,或不在接收范围.究竟是什么原因呢??
谢谢谢谢!
明天要出差,今天要搞定,谢谢谢谢谢谢!!!!
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanquan20061981 2006-03-10
  • 打赏
  • 举报
回复
刚才的问题稀里糊涂的解决了,是在调用函数里面将cn重新定义了一下.
但是现在问题是
cn.Execute "create table[" & Trim(CStr(Public_Address)) & "_当天]([Date1] DATETIME,[Time1] DATETIME,Data TEXT(50))"
不执行,也就是说根本就不创建表!
好郁闷!在线等!急!
province_ 2006-03-10
  • 打赏
  • 举报
回复
首先你弄个带WHERE的条件查询就可以不用这么低效率的循环匹配了。
至于
r.Open "select * from Table_Num", cn, adOpenDynamic, adLockOptimistic
改成
r.Open "select * from Table_Num", cn, 3,3试试。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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