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