Ecco qui di seguito un esempio ritagliato sul caso citato, con l'uso dei parametri.
codice:
' Crea l'oggetto che implementa la connessione
Dim Conn As New OleDbConnection(ConnString)
' Apre la connessione
Conn.Open()
Try
' Definisce lo statement SQL da eseguire
Dim Sql As String = "INSERT INTO REP SELECT * FROM Conto.Bancomat WHERE Data >= ? AND Data <= ? AND Tipo = ?"
' Crea un nuovo comando
Dim Cmd As New OleDbCommand(Sql, Conn)
' Definisce il parametro "data di inizio"
Dim ParDataInizio As New OleDbParameter("DataInizio", OleDbType.Date)
ParDataInizio.Value = DataInizio
Cmd.Parameters.Add(ParDataInizio)
' Definisce il parametro "data di fine"
Dim ParDataFine As New OleDbParameter("DataFine", OleDbType.Date)
ParDataFine.Value = DataFine
Cmd.Parameters.Add(ParDataFine)
' Definisce il parametro "tipo"
Dim ParTipo As New OleDbParameter("Tipo", OleDbType.VarChar)
ParTipo.Value = Tipo
Cmd.Parameters.Add(ParTipo)
' Esegue lo statement SQL
Cmd.ExecuteNonQuery()
Finally
' Chiude la connessione ai dati
Conn.Close()
End Try
Non ho ovviamente verificato il funzionamento, poiché sono sprovvisto di database, tabelle e "know how" del problema specifico esaminato, ma l'esempio dovrebbe essere sufficiente a dare un idea dell'uso dei parametri.