1、为什么在程序运行时模块中的 sub main() 函数中的内容不能起作用2、打开别人的实例时总是出现在  [实时错误“91”,对象变量或 with 块变量未设置]   的问题,应如果解决

解决方案 »

  1.   

    1:在VB菜单 工程->属性 里的“启动对象”下拉菜单里选择Sub Main。这样就从Sub Main函数做入口。2:在你第一次打开工程时是不是提示错误。。某些组件无法引用?可能是某些组件没有引用成功的缘故。。
      

  2.   

    看是否在 工程 中 引用  microsoft activex data object2.1 library这个
      

  3.   

    1.你要在“工程”-->“属性”中进行设置,让程序从sub main来启动。2.准确的说是你不同有引用程序中用到的相应对象或组件,我想你一定是用ADO的数据库程序,那么
    你就是没有引用ADO对象。
    方法:在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
    注:2.X为版本号,如果你机子上有高版本的就用高版本的,如:2.5或2.6的。
      

  4.   

    2 数据库对象没有实例化。
    以下的假定是别人的代码原来可以正常运行:
    一般来说,由于别人的工程已经做过引用,不会需要你添加引用。问题一般出在复制源代码时没有同时复制数据库。
    代码中,打开数据库的代码可能已经用On Error ......语句屏蔽了系统错误,所以到读数据库时就会报错。如果原来就有错,可能是使用ADODC等控件,但是连接字符串等是在代码中赋值的。请在设置数据库控件之后,访问数据之前加上类似
    adodc1.refresh
      

  5.   

    我已引用了"microsoft activex data object2.1 library",但问题依然
      

  6.   

    Private Sub cmdOK_Click()
    Dim txtSQL As String
    Dim mrc As ADODB.Recordset
    Dim MsgText As String
    UserName = ""
    If Trim(txtUserName.Text = "") Then
      MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"
      txtUserName.SetFocus
    Else
      '查询指定用户的记录
      txtSQL = "select * from account where User_Name='" & txtUserName.Text & "'"
      '执行查询语句
      Set mrc = ExecuteSQL(txtSQL, MsgText)
      If ***mrc.EOF = True*** Then
        MsgBox "没有 " & txtUserName.Text & " 这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
        txtUserName.SetFocus
      Else
        If Trim(mrc.Fields(2)) = Trim(txtPassword.Text) Then
          OK = True
          mrc.Close
          Me.Hide
          UserName = Trim(txtUserName.Text)
        Else
          MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
          txtPassword.SetFocus
          txtPassword.Text = ""
        End If
      End If
    End If
    micount = micount + 1
    If micount = 3 Then
      Me.Hide
    End If
    Exit Sub
    End Sub***mrc.EOF = True ***为错误出处
      

  7.   

    我已引用了"microsoft activex data object2.7 library",但问题依然