我现在将所有出现过的Blank_Address变量存在一个表当中,每次存之前先看看这个号码有没有出现过.
但是记录集打开的时候出现了问题,希望指教:
表的名字是:Table_Num,里面就"表地址"一个字段,出现过的号码就存放在这个字段里面,字段类型是"数字",数据库是Access的:Set r = New ADODB.Recordset
r.Open "select * from Table_Num", cn, adOpenDynamic, adLockOptimisticr.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
报类型不匹配,或不在接收范围.究竟是什么原因呢??
谢谢谢谢!
明天要出差,今天要搞定,谢谢谢谢谢谢!!!!

解决方案 »

  1.   

    首先你弄个带WHERE的条件查询就可以不用这么低效率的循环匹配了。
    至于
    r.Open "select * from Table_Num", cn, adOpenDynamic, adLockOptimistic
    改成
    r.Open "select * from Table_Num", cn, 3,3试试。
      

  2.   

    刚才的问题稀里糊涂的解决了,是在调用函数里面将cn重新定义了一下.
    但是现在问题是
    cn.Execute "create table[" & Trim(CStr(Public_Address)) & "_当天]([Date1] DATETIME,[Time1] DATETIME,Data TEXT(50))"
    不执行,也就是说根本就不创建表!
    好郁闷!在线等!急!