如上,我在模块里加上这么一段话:
data1.Recordset.AddNew
data1.Recordset.Fields(1) = CStr(Hex(DB(I).Value))
data1.Recordset.Fields(2) = Now()
data1.Recordset.Update
编译时候提示变量名未定义;如果我双击data1控件,那么控件加到form1窗体中而不是模块里;如果我在之前加上dim data1,那么编译通过,但运行有错。问如何解决??

解决方案 »

  1.   

    当然不行了,data是控件dim aa,aa是变量,不能当控件用的.拜托...
    data控件放在那里,就在哪个窗体写代码8过建议你使用ado对象,这样更方便
      

  2.   

    问题是如果data控件放在窗体里,那么由于添加的代码在模块里,在模块里由于没有声明data1,会提示找不到变量;在模块里我只有这样写:
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim str1 As String
    Dim str2 As String
    str1 = "provider=microsoft.jet.oledb.4.0;data source=c:\vb-demo\卡.mdb;"
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.Open str1
    str2 = "select * from 卡"
    rs.Open str2, cn
    但能编译,出现提示:当前的recordset不支持更新。这可能是其提供者限制的,也可能是选定的锁定类型限制的。
    见http://community.csdn.net/Expert/topic/3854/3854944.xml?temp=5.689639E-02,我提的其实是相同的问题。答对给分
      

  3.   

    前面我的代码拷错了,应该是这样:
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim str1 As String
    Dim str2 As String
    str1 = "provider=microsoft.jet.oledb.4.0;data source=c:\vb-demo\卡.mdb;"
    cn.Open str1
    str2 = "select * from 卡"
    rs.Open str2, cn
    上面重复声明了。最好能留个qq或msn