Quote Originariamente inviata da gibra Visualizza il messaggio
La prima che mi viene in mente è quella di usare il driver di testo che sfrutta lo Schema.ini: Schema.ini File (Text File Driver) http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx Ecco un esempio. Questo è il contenuto del file SCHEMA.INI (che deve risiedere nella cartella di destinazione):
codice:
 [DL-IMA-PUSH.csv] ColNameHeader=False Format=FixedLength MaxScanRows=0 CharacterSet=ANSI col1=DataOra Text Width 20 col2=Tipo Text Width 6 col3=Desc Text Width 100
- txtTargetFolder contiene la cartella di destinazione - l'estensione del file deve essere modificata in CSV, altrimenti ti da errore.
codice:
 Imports System Imports System.Data Imports System.IO Imports System.Data.OleDb   Public Class Form1       Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click         'D:\DL-IMA-PUSH.log         Dim targetFile As String = "DL-IMA-PUSH.csv"         Dim LogFile As String = txtTargetFolder.Text + "\" + targetFile         File.Delete(LogFile)         File.Copy("D:\DL-IMA-PUSH.log", LogFile)         Dim fi As FileInfo = New FileInfo(LogFile)         Dim sFolderPath As String = fi.DirectoryName() '+ "\"           Dim sConnString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFolderPath & ";Extended Properties='Text;HDR=NO;'"         Dim sql As String = "SELECT DataOra, Tipo, Desc FROM [" & targetFile & "]"         sql = sql + " WHERE CDate(Left(DataOra, 10)) >= #05/01/2014#"         Using connJET As OleDbConnection = New OleDbConnection(sConnString)             Try                 connJET.Open()                 Dim aCommand As OleDbCommand = New OleDbCommand(sql, connJET)                 Using aReader As OleDbDataReader = aCommand.ExecuteReader()                     While aReader.Read()                         ListBox1.Items.Add(aReader.GetString(0) + " " + aReader.GetString(1) + " " + aReader.GetString(2))                     End While                 End Using             Catch ex As Exception                 MessageBox.Show(ex.Message)             End Try         End Using     End Sub End Class
Ho aggiunto alcune righe a quelle che hai postato tu, cambiando la data e funziona. Avevo anche provato ad impostare il primo campo DataOra come tipo DateTime, ma mi restituiva errore. Come vedi, la condizione WHERE ti permette di caricare solo le righe che ti interessano. Poi ci si può lavorare su...
Impressionante!!! provo subito e ti lascio feedback!