Dim cnn As New ADODB.Connection
     ADO1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data " & _                        "Source=D:\SQL\" & L0收银员.Caption & ".mdb;Persist Security Info=False"
    '联结以收银员编号的数据库.mdb
    cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data " & _
                         "Source=D:\SQL\" & L0收银员.Caption & ".mdb;Persist Security Info=False"
    Dim Ty As String
    Ty$ = CDate(Date)
     ADO1.RecordSource = Ty
    ADO1.CommandType = adCmdText
  cnn.Execute "insert into " & Ty & "(商品编号) values('a10000001')"
     ADO1.CommandType = adCmdTable
     ADO1.Refresh
以上代码中  cnn.Execute "insert into " & Ty & "(商品编号) values('a10000001')"的Ty出错;本人分析是因为Ty的值为****-**-**的字符串,在出错的这行代码中怎样改才能得到正确执行的结果!!!!
先谢过了!!!!??????

解决方案 »

  1.   

    up,你的方法做不出来呀!
    我想是在Ty中包含了"-"的字符,要用什么方法才能让insert into识别可能才行??????????????????????????????????
      

  2.   

    我刚刚又找到一个错误处就是 ADO1.RecordSource = Ty
    这里面如果要传表名等、名称是不是不允许包括"-"字符?
      

  3.   

    把Ty=CDate(date$)改成Ty=Format(date$,"yyyyMMdd")
      

  4.   

    谢谢你的指点;我还有个问题麻烦你有时间帮我看一下?
         我先在inputbox中把日期型数据输入到了 date1与date2中的!!!
    tt = date2 - date1 + 1  '共计天数 date2 date1都为日期型
        For i = 1 To tt
        bdate00 = date1 + 1
        Bdate = Format(bdate00, "yyyyMMdd") '我的库.mdb有相应的表为20030305、20030306等等许多这样的临时表
        Ado2.RecordSource = "select * from " & Bdate & " union select * from " & B1date
        Bdate = Ado2.RecordSource
        bdate00 = bdate00 + 1
        Next i
    Ado2.Refresh
    DataGrid1.Refresh
    我想把从(如:从2003-03-05至2003-03-19的临时表用union联结成一个总的表并在一起;但系统报DataGrid1.Refresh出错,在MSDN说什么类型不对,应该怎么该?