Ho un form con MSFlexGrid collegato a un database ho creato un datareport riempieno i Datfield se provo a stampare mi stampa tutto il contenuto. ma dato che ho l'opzione di selezione x fare una ricerca mirata con una combobox di selezione una texbox x scrvere quello che cercare e un pulsante che mi parte la ricerca, vorei nella stampa che mi stampasse solo il risultato della ricerca mirata, ma non so come fare ho provato a trovare qualcosa sia nel forum che in giro a riguardo ma nisba, posto il codice completo.
codice:
Option Explicit
Dim WithEvents Con As ADODB.Connection
Dim WithEvents rekod As ADODB.Recordset
Dim WithEvents rekod2 As ADODB.Recordset
Dim WithEvents rekod3 As ADODB.Recordset
Dim WithEvents rekod4 As ADODB.Recordset
Dim Totalengomme As Integer
Dim I As Integer
Dim tugas As ADODB.Command

Public Function lapor_msflex(sql As String)

MSFlexGrid1.Rows = 1

Set rekod = New ADODB.Recordset

    rekod.ActiveConnection = Con
    rekod.CursorLocation = adUseClient
    rekod.CursorType = adOpenDynamic
    rekod.LockType = adLockOptimistic
    rekod.Source = sql
    rekod.Open
    If rekod.EOF Then
        MsgBox "Spiacente, nessun record trovato !!!"
    End If

While Not rekod.EOF()
    MSFlexGrid1.AddItem rekod!Marpne & vbTab & _
    rekod!Misura & vbTab & _
    rekod!Disegno & vbTab & _
    rekod!ID & vbTab & _
    rekod!ngomme & vbTab & _
     rekod!Codice
    rekod.MoveNext
    Wend
Set rekod = Nothing
End Function

Private Sub cmdCalcola_Click()

 MSFlexGrid1.Cols = 5

  For I = 1 To MSFlexGrid1.Rows - 1
    MSFlexGrid1.Row = I
 Totalengomme = Totalengomme + Val(MSFlexGrid1.Text)
    
  Next I
  lblTotalengomme.Caption = Totalengomme
  End Sub

Private Sub cmdexit_Click()
frmMain.Show
Unload Me
End Sub

Private Sub cmdSvuota_Click()
Totalengomme = 0
lblTotalengomme.Caption = ""
txtMarpne.Text = ""
Misura.Caption = ""
Disegno.Text = ""
ID.Caption = ""
ngomme.Text = ""
End Sub

Private Sub cmdviewall_Click()
Dim sql As String
Set rekod = New ADODB.Recordset
sql = "Select * From tblfuoristrada"
Call lapor_msflex(sql)
End Sub


Private Sub cmdview_Click()
Dim sql As String
Set rekod = New ADODB.Recordset

If cbosearch = "Marpne" Then
    sql = "Select * From tblfuoristrada where Marpne LIKE '" & search & "'"
    Call lapor_msflex(sql)
ElseIf cbosearch = "Misura" Then
    sql = "Select * From tblfuoristrada where Misura LIKE '" & search & "'"
    Call lapor_msflex(sql)
ElseIf cbosearch = "Disegno" Then
    sql = "Select * From tblfuoristrada where Disegno LIKE '" & search & "'"
    Call lapor_msflex(sql)
End If
End Sub

Private Sub Command2_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\" & "data.mdb;" & "Jet OLEDB:Database Password=;"
Set rs = New ADODB.Recordset
Set rs = cn.Execute("select * from tblfuoristrada")
Set DataReport2.DataSource = rs
DataReport2.Show 1
cn.Close
End Sub

Private Sub Form_Load()
Misura.Enabled = False
Set Con = New ADODB.Connection
Con.CursorLocation = adUseClient
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info =False;Data Source=" _
& App.Path & "\data.mdb"
End Sub

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
        .Col = 0
        txtMarpne = .Text
        .Col = 1
        Misura = .Text
        .Col = 2
        Disegno = .Text
        .Col = 3
        ID = .Text
        .Col = 4
        ngomme = .Text
        End With
    End Sub
Grazie in anticipo