总是提示“至少一个参数未被指定值”Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Conn = Main_Conn
Dim sql As String
Dim rs As New ADODB.Recordset
sql = "select * from station where 公交车编号=" & TreeView1.SelectedItem.Text
rs.Open sql, Conn, adOpenDynamic, adLockBatchOptimistic
MsgBox sql 'TreeView1.SelectedItem.Text
End Sub

解决方案 »

  1.   

    Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
    dim Conn as New ADODB.Connectionset Conn = Main_Conn
    '----Main_Conn如果是全局变量则不用传值过来,否则,需要传递过来
    Dim sql As String
    Dim rs As New ADODB.Recordset
    sql = "select * from station where 公交车编号=" & TreeView1.SelectedItem.Text
    rs.Open sql, Conn, adOpenDynamic, adLockBatchOptimistic
    MsgBox sql 'TreeView1.SelectedItem.Text
    End Sub
      

  2.   

    Public Function Main_Conn()
    Dim Conn As New ADODB.Connection
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\Map.mdb;Persist Security Info=False"
    Main_Conn = Conn
    End Function
      

  3.   

    1.
    Public Function Main_Conn()
    Dim Conn As New ADODB.Connection
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\Map.mdb;Persist Security Info=False"
    '-----由于是对象赋值,建议此处使用set语句
    set Main_Conn = ConnEnd Function
    2. rs.open的参数已经足够了建议楼主单步调试一下,在debug窗口得到sql语句,在access中建立查询试一试该语句是否有效。如果公交车编号是文本型字段则该查询语句应该改为:
    sql = "select * from station where 公交车编号='" & TreeView1.SelectedItem.Text & "'"
      

  4.   

    “至少一个参数未被指定值”通常是SQL语句的问题:你的语句里没有单引号