Private Sub CmdLogin_Click()If Adodc1.Recordset.RecordCount <> 0 Then
   Adodc1.Recordset.MoveFirst
   While Adodc1.Recordset.EOF = False
         If Adodc1.Recordset.Fields("姓名") = txtusername.Text Then
            If Adodc1.Recordset.Fields("密码") = txtuserpassword.Text Then
               Unload Me
               Exit Sub
               MsgBox "登录成功"
            Else
               MsgBox "你输入的口令不正确,请重新输入"
            End If
         Else
            Adodc1.Recordset.MoveNext
            
         End If
    Wend
    If Adodc1.Recordset.EOF = True Then
       MsgBox "请输入正确的用户名和口令"
    End If
Else
    MsgBox "没有任何用户可以登录"
End IfEnd Sub我已经建立了access数据库,而且也设置好了connectionstring,recordsource,怎么总是出现“对象变量或with块变量未设置呢,”烦死了,

解决方案 »

  1.   

    出错的时候,断点在哪条语句上啊如果在
    If Adodc1.Recordset.RecordCount <> 0 Then 
    这条语句上的话,就要检查数据库能否正常连接了。
    或者数据库已经连接上,是不是在什么地方又断开了可以试试直接用ADO访问数据库,不要通过ADO控件
      

  2.   

    没错,就是在第一个语句上,
    如果简单的在text控件上显示数据库每个字段的内容就没错,怎么用到这个上面就不行呢?恼火怎么直接用ADO访问我的数据库呢,请教大侠!!!
      

  3.   

    LZ:将绑定连接改为代码连接.
    具体做法:
    新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
    然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
    SQL查询语言主要结构为:
    Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
    查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。
    SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮控件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1控件,再添加ADODC1控件再添其他内容。
      

  4.   

    你改成我下面的这种就可以了,这个很简单,没必要写的你呢么复杂,你还用了循环语句Private Sub CmdLogin_Click() If Adodc1.Recordset.RecordCount <> 0 Then 
            If Adodc1.Recordset.Fields("姓名") = txtusername.Text and Adodc1.Recordset.Fields("密码") = txtuserpassword.Text Then 
                  Unload Me 
                  MsgBox "登录成功"         Else 
                MsgBox "你输入的口令不正确,请重新输入"  
            End If
    End Sub 
      

  5.   

       Dim cn As New ADODB.Connection, rs As New ADODB.Recordset 
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Program Files\VB98\gongcheng\db8.mdb;Persist Security Info=False" 
    cn.Open 
    rs.CursorLocation = adUseClient 
    rs.Open STRSQL'就是查找该用户的语句
    如果有就登陆  
       
    ADODB.Connection这个动的要引用一下
    MICROSOFE ACTIVEX DATA OBJECTS 2.* LIBRARY