我在程序中加了select case 语句后出现错误“未指定的问题”进入调试后错指在conn.str处,不加select case 语句之前运行良好
  谢谢
   代码:(按钮使用的是数组)
   Private Sub Commandt_Click(Index As Integer)
On Error GoTo error1
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim str As String, sql As String
        str = "Provider = Microsoft.Jet.OLEDB.4.0;Persist security info=false;Data Source=" & App.Path & "\db1.mdb"
        conn.Open str
       conn.CursorLocation = adUseClient
        sql = " select  * from gerenxinxi "
        Set rst = conn.Execute(sql)
        Set Text1.DataSource = rst
        Set Text2.DataSource = rst
        Set Text3.DataSource = rst
        Set Text9.DataSource = rst
        Set Text10.DataSource = rst
        Text1.DataField = "id"
        Text2.DataField = "xingming"
        Text3.DataField = "zhiwu"
        Text9.DataField = "yijibumen"
        Text10.DataField = "erjibumen"
Dim i As Integer
 i=index 
Select Case i
    Case 0
        rst.MoveFirst
        If rst.BOF Then
            MsgBox "顶部"
            rst.MoveFirst
        'End If
    Case 1
        rst.MoveLast
        If rst.EOF Then
           MsgBox "底部"
            rst.MoveLast
        End If
End Select
        Set DataGrid1.DataSource = rst
    Exit Sub
error1:
    MsgBox Err.Description
End Sub
    

解决方案 »

  1.   

    On Error GoTo error1
    这行去掉,逐行调试
      

  2.   

    Case 0
            rst.MoveFirst
            If rst.BOF Then
                MsgBox "顶部"
                rst.MoveFirst
            'End If
    后面的 End If 为什么注释掉了?
      

  3.   

    我在程序中加了select case 语句后出现错误“未指定的问题”进入调试后错指在conn.str处,不加select case 语句之前运行良好
      谢谢
       代码:(按钮使用的是数组)
       Private Sub Commandt_Click(Index As Integer)
    Dim conn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim str As String, sql As String
            str = "Provider = Microsoft.Jet.OLEDB.4.0;Persist security info=false;Data Source=" & App.Path & "\db1.mdb"
            conn.Open str
           conn.CursorLocation = adUseClient
            sql = " select  * from gerenxinxi "
            Set rst = conn.Execute(sql)
            Set Text1.DataSource = rst
            Set Text2.DataSource = rst
            Set Text3.DataSource = rst
            Set Text9.DataSource = rst
            Set Text10.DataSource = rst
            Text1.DataField = "id"
            Text2.DataField = "xingming"
            Text3.DataField = "zhiwu"
            Text9.DataField = "yijibumen"
            Text10.DataField = "erjibumen"
    Dim i As Integer
     i=index 
    Select Case i
        Case 0
            rst.MoveFirst
            If rst.BOF Then
                MsgBox "顶部"
                rst.MoveFirst
            End If
        Case 1
            rst.MoveLast
            If rst.EOF Then
               MsgBox "底部"
                rst.MoveLast
            End If
    End Select
            Set DataGrid1.DataSource = rst
      

  4.   

    Private Sub Commandt_Click(Index As Integer)
    Dim conn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim str As String, sql As String
            str = "Provider = Microsoft.Jet.OLEDB.4.0;Persist security info=false;Data Source=" & App.Path & "\db1.mdb"
            conn.Open str  
           conn.CursorLocation = adUseClient
            sql = " select  * from gerenxinxi "
            Set rst = conn.Execute(sql)
            Set Text1.DataSource = rst
            Set Text2.DataSource = rst
            Set Text3.DataSource = rst
            Set Text9.DataSource = rst
            Set Text10.DataSource = rst
            Text1.DataField = "id"
            Text2.DataField = "xingming"
            Text3.DataField = "zhiwu"
            Text9.DataField = "yijibumen"
            Text10.DataField = "erjibumen"
    Dim i As Integer
    i = Index
    Select Case i
        Case 0
            rst.MovePrevious
            If rst.BOF Then
                MsgBox "顶部"
                rst.MoveFirst
            End If
        Case 1
            rst.MoveNext
            If rst.EOF Then
                MsgBox "底部"
                rst.MoveLast
            End If
    End Select
            Set DataGrid1.DataSource = rst
    End Sub
    还是出错 错误指向conn.Open str
    conn.CursorLocation的值为“2 ”,adUseClient的值为3
      

  5.   

    Private Sub Commandt_Click(Index As Integer) 是什么事件呀? 
    Index有什么作用?
      

  6.   

    你确定你的str正确
    我不知道 str 是不是正确,报错的就是conn.Open str这一行
      

  7.   

    Private Sub Commandt_Click(Index As Integer)
    Commandt是一个按钮数组Commandt(0)和Commandt(1)
    我的目的是用两个按钮控制上一条或下一条
    结果老是出错
      

  8.   

    如果是str 的不正确应该怎么该呢?
    谢谢