Sub IMPORT_Dati_da_ODBC()
Dim objMyConn
Dim objMyRecordset
Dim objMyCmd
Sheets("Foglio2").Select
Range("A1").Select
Cells.Delete
'Declare variables'
Set objMyConn = New ADODB.Connection
'Open Connection'
objMyConn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Data Source=db1;User ID=user;Password=pwd;"
objMyConn.Open
Do
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
ActiveCell.Range("A1").Select
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "SELECT DISTINCT H.CONTO_ID, C.DESTINA, J.TIPO_DOC, J.DATA_REG, k.cliente, sum(d.IMPORTO_E) * h.segno, S.RAGIONE_SOCIALE1 || S.RAGIONE_SOCIALE2 forn, H.CAUSALE, j.data_doc from t_commessemagia k, CA_MOVIMENTO_COR H, CA_MOVIMENTO_TES J, CA_MOV_COIN D, CA_MOV_COIN_DEST C, CA_CONTO S where H.REG_ID = j.REG_ID and k.comm(+) = C.DESTINA AND S.CONTO_ID = H.CONTROPARTITA_ID AND D.MOV_COIN_ID = C.MOV_COIN_ID AND C.TIP_DES = '2' AND D.MOV_ID = H.MOV_ID AND H.CONTO_ID like '00145%' and J.DATA_REG >= to_date('01/01/2014','DD/MM/RRRR') and J.DATA_REG <= to_date('31/03/2014','DD/MM/RRRR') group by H.CONTO_ID, C.DESTINA, J.TIPO_DOC, J.DATA_REG, k.cliente,h.segno, S.RAGIONE_SOCIALE1 || S.RAGIONE_SOCIALE2, H.CAUSALE, J.data_doc ORDER BY C.DESTINA ASC"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open objMyCmd
'Copy Data to Excel' in COLONNA "O"
' ActiveCell.Offset(0, 14).CopyFromRecordset (objMyRecordset)
'Else
'End If
Loop Until ActiveCell.Value = ""
objMyConn.Close
Set objMyConn = Nothing
Set objMyRecordset = Nothing
Set objMyCmd = Nothing
End Sub |