Ciao Antonio
Ho una domanda per te:
da un database se volessi stampare solo la ricerca filtrata dei dati, como posso fare?
Grazie come sempre
Alan
Ciao Antonio
Ho una domanda per te:
da un database se volessi stampare solo la ricerca filtrata dei dati, como posso fare?
Grazie come sempre
Alan
Ciao Alan,
dipende da come stampi ora tutti i dati…
Se stampi da un record set allora quello “filtrato” (se filtrato tramite la query) usabile direttamente per la stampa (forse devi modificare il codice per passare il record set come parametro della stampa e non direttamente nel codice)
Altrimenti dovresti darmi qualche indicazione in pi per capire il tuo problema.
Ciao Antonio
Innanzitutto grazie 1000 per prenderti il tempo di rispondere.
Dim MasterDatabase As New SQLiteDatabase
// Set Database File
MasterDatabase.DatabaseFile = SpecialFolder.Desktop.Child("OneMarketAmerica_2015_31.sqlite")
// Connect to the database
If MasterDatabase.databaseFile.Exists Then
// The database file already exists, so we want to connect to it.
If MasterDatabase.Connect = False Then
// there was an error connecting to the database
MsgBox("Database Error: " + Str(MasterDatabase.ErrorCode) + EndOfLine + EndOfLine + MasterDatabase.ErrorMessage)
Return
End If
Else
MsgBox("Database not found.")
Return
End If
'dim filter, stringaRicerca As string
'stringaRicerca= Uppercase(ControlloCliente.Text)
'filter= "Cellulare"
// Build the SQL statement that will be used to select the records
Dim sql As String = "SELECT * FROM Cliente"
dim sql_filtro as String = "SELECT * FROM Cliente"
Dim rpt As New ListOfProducts
// Now we select the records from the database and add them to the list.
Dim rs As recordSet
if CheckBox1.State=CheckBox.CheckedStates.Checked then
rs = MasterDatabase.sqlSelect(sql)
else
rs= MasterDatabase.SQLSelect(sql_filtro)
end
If rs = Nil Then
Beep
MsgBox("No records found to print.")
Else
Dim ps As New PrinterSetup
// set the resolution to 300 DPI for printing
ps.MaxHorizontalResolution = 300
ps.MaxVerticalResolution = 300
If ps.PageSetupDialog Then
Dim g As Graphics
g = OpenPrinterDialog(ps, Nil)
If g <> Nil Then
// if the report runs successfully
If rpt.Run(rs, ps) Then
rpt.Document.Print(g)
End If
End If
End If
End If
Con questo codice ed utilizando il report posso stampare tutta la informazione presente nel mio database.
Pero invece di stampare tutto il database vorrei stampare solo la informazione che ho filtrato quindi magari solo le persone che hanno gli occhi verdi o solo quelle che si chiamano Domenico…
Mi puoi dare una mano come sempre?
Grazie 1000
Alan
Il codice di per se va bene (suppongo sia una somma e non una funzione unica)
il punto che la sql filtrata identica a quella non filtrata!
forse dovresti aggiungere i filtri sui campi che ti interessano
ad esempio “select * from clienti where sesso=‘F’”
ma questo dipende dai campi sul db e da cosa puoi leggere dall’interfaccia.
Hai ragione non ci avevo pensato…
ci provo e ti dico come mi va.
Come sempre grazie Antonio
Alan
Ciao Antonio
Devo correggere la mia domanda che sicuramente ha portato fuori strada: non volevo stampare solo dei dati parziali, quindi va bene il filtro da te suggerito ma voglio stampare il record CORRENTE.
Il codice che ti ho postato in precedenza stampa tutto il DB , quindi ok , ma non sono ancora riuscito a far stampare solo il RECORD CORRENTE , sono proprio andato in pallone…
please help
Ciao Antonio
Sempre stato giusto il tuo consiglio… non mettevo le virgolette…
Dim sql As String =(“SELECT * FROM Cliente WHERE TattooStile = '” +(tattoo_stile.Text) + “’”)
adesso funziona perfetto
Ciao