Private Sub Command1_Click()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
con.Open "Provider=Sybase.ASEOLEDBProvider.2;Initial Catalog=bok;Password=***;User ID=sa;Data Source=bokado;Persist Security Info=True"
Set cmd.ActiveConnection = con
cmd.CommandType = adCmdTextcmd.CommandType = adCmdStoredProc
cmd.CommandText = "z_member_update_mx"
cmd.Parameters("@d1") = DTPicker1.Value
cmd.Parameters("@d2") = DTPicker2.Value
cmd.Execute
Set rs = cmd.Execute   
Set MSHFlexGrid1.DataSource = rs 
End Sub
我想当rs.recount>0时,才在mshflexgrid中显示数据,rs.recount为0时,显示msgbox信息,同时清掉mshflexgrid中之前的数据如何修改上面代码

解决方案 »

  1.   

    if rs.recount>0 then 
    Set MSHFlexGrid1.DataSource = rs  
    else
    MSHFlexGrid1.clear
    msgbox ""
    edif 
      

  2.   

    if rs.bof and rs.eof then  
        MSHFlexGrid1.clear 
        msgbox "rs.bof and rs.eof " 
    else
        Set MSHFlexGrid1.DataSource = rs   
    end if 
      

  3.   

    Set rs = cmd.Execute    
    If rs.RecordCount Then
    Set MSHFlexGrid1.DataSource = rs  
    else
    mshflexgrid1.clear
    end if这样写后,查不出任何数据原本这样写是可查出数据的
    Set rs = cmd.Execute
    Set MSHFlexGrid1.DataSource = rs