怎么还在这儿?
Private Sub Command1_Click()    Dim local_sql As String
    Dim louhao As String
    Dim danyuan As String
    Dim fangjian As String
    Dim conn As New ADODB.Connection, rs As New ADODB.Recordset
    Dim rsContact As ADODB.Recordset
    Dim sContactQuery As String    Dim zongji As Currency    Datagrid1.Visible = True
    Picture2.Visible = False
    Label6.Visible = True
    louhao = DataCombo1.Text
    danyuan = DataCombo2.Text
    fangjian = DataCombo3.Text    local_sql = "select 姓名 from dushuju where dushuju.楼号='" & louhao & "'" & _
                " and dushuju.单元 ='" & danyuan & "'" & _
                " and dushuju.房号 ='" & fangjian & "'"
    Set conn = New ADODB.Connection
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =ihome.mdb;" & _
              "Persist Security Info=False"    Set rs = New ADODB.Recordset
    rs.Open local_sql, conn, 3, 3    While Not rs.EOF
        Label6.Caption = Label6.Caption & rs.Fields("姓名")
        rs.MoveNext
    Wend    sContactQuery = "SELECT * FROM dushuju WHERE 姓名='" & Label6.Caption & "'"
    Set rsContact = New ADODB.Recordset
    Set rsContact = conn.Execute(sContactQuery)
    Set Datagrid1.DataSource = Nothing
    Set Adodc2.Recordset = rsContact    '***************记录集*************
    Set Datagrid1.DataSource = Adodc2.Recordset  '''''''''''''''''     Adodc2.Refresh
     Datagrid1.Refresh    '****得到统计工资
    local_sql = "select sum(总计) as S_zongji from dushuju where " & _
                " dushuju.姓名='" & Label6.Caption & "'" & _
                " and dushuju.是否交费<>是"   '''''''''''''''''''    Set rs = New ADODB.Recordset
    rs.Open local_sql, conn, 3, 3    '****zongji***********
    zongji = IIf(IsNull(rs("S_zongji")), 0, rs("S_zongji"))    Text1.Text = zongji
 End Sub

解决方案 »

  1.   

    1 你没有理解记录集和字符串(label)的区别。其实第一个问题可以用一个查询就可以解决,用:local_sql = "SELECT * FROM dushuju WHERE 楼号='" & louhao & "' and 单元 ='" & danyuan & "' and 房号 ='" & fangjian & "')"
    Adodc2.recordsource = local_sql
    Adodc2.refresh替代你的
                local_sql = "select 姓名 from dushuju where dushuju.楼号='" & louhao & "' and dushuju.单元 ='" & danyuan & "' and dushuju.房号 ='" & fangjian & "'"
                Set conn = New ADODB.Connection
                conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =ihome.mdb;Persist Security Info=False"
                Set rs = New ADODB.Recordset
                rs.Open local_sql, conn, 3, 3
                
                While Not rs.EOF
               Label6.Caption = Label6.Caption & rs.Fields("姓名")
               rs.MoveNext
        Wend
             
               Dim rsContact As ADODB.Recordset
               Dim sContactQuery As String
                   sContactQuery = "SELECT * FROM dushuju WHERE 姓名='" & Label6.Caption & "'"
                   Set rsContact = New ADODB.Recordset
                   Set rsContact = conn.Execute(sContactQuery)Set Datagrid1.DataSource = Nothing
                   Set Adodc2.Recordset = rsContact
                   Set Datagrid1.DataSource = Adodc2 '''''''''''''''''
                 Adodc2.Refresh
                 Datagrid1.Refresh2 这个问题恰恰需要一个记录集对象
    Dim conn As New ADODB.Connection, rs As New ADODB.Recordset
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =ihome.mdb;Persist Security Info=False"
    zongji = "select sum(总计) as zj from dushuju where dushuju.姓名='" & Label6.Caption & "'and 是否交费<>'是'" 
    '你的“是否交费”字段是字符型?如果是布尔型"'and not 是否交费"即可。
    set rs = conn.execute(zongji)
    Text1=rs!zj