Private Sub dgrdShowH_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    
    '数据联动
    Dim RS1 As ADODB.Recordset
    Dim RS2 As ADODB.Recordset
    Set RS1 = New ADODB.Recordset
    Set RS2 = New ADODB.Recordset
    
    Dim strsql1 As String
    Dim strsql2 As String
    
    strsql1 = "select * from 合同表"
    strsql2 = "select * from 现金表"
    
    RS1.CursorLocation = adUseClient
    RS1.Open strsql1, dbConn, adOpenStatic, adLockOptimistic
    Set Me.dgrdShowH.DataSource = RS1
    
    RS2.CursorLocation = adUseClient
    RS2.Open strsql2, dbConn, adOpenStatic, adLockOptimistic
    Set Me.dgrdShowmM.DataSource = RS2
    
    RS2.Find "合同编号=" & RS1!合同编号
    
    If RS2.EOF Or RS2.BOF Then
        RS2.MoveLast
        RS2.MoveNext
    End If
    dgrdShowmM.Refresh
    
End Sub
我要实现选中datagrid1一行时,datagrid2列出与datagrid1合同编号相同的现金数据,上面我做的单击任一行时,把所有的数据都列出来了,谁给看看怎么修改?

解决方案 »

  1.   

        strsql1 = "select * from 合同表" 
             
        RS1.CursorLocation = adUseClient 
        RS1.Open strsql1, dbConn, adOpenStatic, adLockOptimistic 
        Set Me.dgrdShowH.DataSource = RS1 
        if rs1.recordcount>0 then
            strsql2 = "select * from 现金表 where 合同编号='"& rs1!合同编号 &"'"
            RS2.CursorLocation = adUseClient 
            if rs2.state<>adstateclosed then rs2.close 
            RS2.Open strsql2, dbConn, adOpenStatic, adLockOptimistic 
            Set Me.dgrdShowmM.DataSource = RS2 
        end if