Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Grande Mauro! :-)
All'inizio mi ha dato un pò di filo da torcere, dal momento che il codice iniziale non era mio e di gestione database non sò assolutamente nulla; comunque sono riuscito ad adattare la tua soubroutine:
Public Sub ImportaArea(sFile As String, Sorgente As String)
On Error GoTo RigaErrore
Dim cn As Object
Dim rs As Object
Dim ConnectionString$
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
If Right(sFile, 4) = ".xls" Then
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & sFile & _
";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"
Else
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; " _
& "Data Source=" & sFile & _
";Extended Properties='Excel 12.0;HDR=NO';"
End If
cn.CursorLocation = 1
cn.Open ConnectionString
rs.CursorLocation = 1
rs.Open "SELECT * FROM [" & Sorgente & "]", cn, 1, 3, 1
Range(Sorgente).CopyFromRecordset rs
.....
Ora funziona alla perfezione!!
Grazie mauro!
Bark, bark, bark!... Whoff!
PS: E' proprio necessario impostare .CursorLocation?
Bene. Grazie a te per il cortese riscontro.
Diciamo che è sempre meglio specificare da quale parte abbiamo il cursore. 1 equivale a: adUseNone (*sarebbe* obsoleto, ma dipende poi da quale db vai ad interrogare).
Vedi qui:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms677542(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675802(v=vs.85).aspx