当前位置:编程学习 > VB >>

求救,提示with变量未设置,跪求

Private Sub Form_Load()
    Dim rst As ADODB.Recordset
    Dim key As String                           '保存用户ID
    Dim User_kind                               '保存用户类别
    Dim list As ListItem
    '添加用户列表
    SQL = " select * from 用户信息表 order by userID"
    Set rst = SelectSQL(SQL, msg)
    If rst.RecordCount = 0 Then        MsgBox ("请先创建用户信息!")
        CmdOk.Enabled = False
        Exit Sub
    Else
        '向ListView中添加数据
        rst.MoveFirst
        Do Until rst.EOF
            key = rst.Fields("userID") & rst.Fields("userName")
            User_kind = Trim(rst.Fields("userType"))
            If User_kind = "管理人员" Then
                '当时管理人员时,用图像2
                Set list = ListView1.ListItems.Add(, , key, 2)
            Else
                Set list = ListView1.ListItems.Add(, , key, 1)
            End If
            rst.MoveNext
        Loop
        rst.Close
    End If
End Sub
Private Sub ListView1_Click()
'取出当前用户ID操作
    If ListView1.ListItems.Count > 0 Then
        UserID = Left(Trim(ListView1.SelectedItem), 6)              '取出当前用户ID
    End If
End Sub
Private Sub CmdOK_Click()
'确定操作
    Dim password As String
    '判断用户是否存在
    SQL = " select * from 用户信息表 where userID='" & UserID & "'"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount > 0 Then
        password = Trim(rs.Fields("password"))      '取出该用户的密码
    Else
        MsgBox ("数据库操作错误!")
        Exit Sub
    End If
    '判断密码是否正确
    If password = Trim(txtPassword.Text) Then
        LoginSucceeded = True
        frmEDMS.Show
        Unload Me
    Else
        MsgBox ("密码错误!")
        txtPassword.SetFocus
        txtPassword.SelStart = 0
        txtPassword.SelLength = Len(txtPassword.Text)
        LoginSucceeded = False
    End If
End Sub --------------------编程问答-------------------- SelectSQL(SQL, msg) 没有返回记录集

Private Sub Form_Load()
  Dim rst As ADODB.Recordset
  Dim key As String '保存用户ID
  Dim User_kind '保存用户类别
  Dim list As ListItem
  '添加用户列表
  SQL = " select * from 用户信息表 order by userID"
  Set rst = SelectSQL(SQL, msg)
  if rst is nothing then            '一般需要对返回的记录集为空时,进行处理
         msgbox "没有返回记录集"
         exit sub
  end if 
  If rst.RecordCount = 0 Then MsgBox ("请先创建用户信息!")
  CmdOk.Enabled = False
  Exit Sub
  Else
  '向ListView中添加数据
  rst.MoveFirst
  Do Until rst.EOF
  key = rst.Fields("userID") & rst.Fields("userName")
  User_kind = Trim(rst.Fields("userType"))
  If User_kind = "管理人员" Then
  '当时管理人员时,用图像2
  Set list = ListView1.ListItems.Add(, , key, 2)
  Else
  Set list = ListView1.ListItems.Add(, , key, 1)
  End If
  rst.MoveNext
  Loop
  rst.Close
  End If
End Sub
Private Sub ListView1_Click()
'取出当前用户ID操作
  If ListView1.ListItems.Count > 0 Then
  UserID = Left(Trim(ListView1.SelectedItem), 6) '取出当前用户ID
  End If
End Sub
--------------------编程问答-------------------- 我把这个按你写的整了一下,还是不行啊,你把你邮箱发过来我这个程序帮我看看吧,这两天交论文没法生成exe急死了,帮帮忙,多谢多谢 --------------------编程问答-------------------- 将SelectSQL(SQL, msg)
这个函数发出来 --------------------编程问答-------------------- 这个程序是我从图书馆光盘上复制下来的,我是vb外行,什么都不懂更别提什么函数了 --------------------编程问答-------------------- 小弟刚学这个,,值得学习一下 --------------------编程问答-------------------- If rst.RecordCount = 0 Then MsgBox ("请先创建用户信息!")
这句有问题。
改成:
If rst.RecordCount = 0 Then
  MsgBox ("请先创建用户信息!")

后面的逻辑语句就应该没问题了。
补充:VB ,  网络编程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,