Hi guys,
Yes, I agree with sundialsvcs mainly because it's not an easy task to do it from Oracle (at least not for me!)
If You not comfortable with VBA in XL then I suggest that You check out the add-in SQL*XL which is available for free (Lite version):
http://www.oraxcel.com/projects/sqlxl/index.htm
If You prefer to do the work Yourself then:
Here You find more information about setting up the connection frm XL to the Oracle-database:
http://www.able-consulting.com/ADO_Conn.htm
Below You find a sample on how to create the VBA-code (this is for MySQL):
Code:
Option Explicit
Sub Export_Data_ADO__MySQL()
'You need to set a reference to the MS ADO Library x.x via the Tools | Reference...
'in the VB-editor.
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim wbBook As Workbook
Dim wsSheet As Worksheet
Dim rnName As Range
Dim vaFName As Variant, vaEName As Variant
Dim i As Long
Set wbBook = ThisWorkbook
Set wsSheet = wbBook.Worksheets("Blad2")
With wsSheet
Set rnName = .Range("A2:" & .Range("A65536").End(xlUp).Address)
End With
vaFName = rnName.Offset(0, 1).Value
vaEName = rnName.Value
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
cnt.ConnectionString = "DRIVER={MySQL};" _
& "SERVER=localhost;" _
& "DATABASE=XLDennis;" _
& "UID=;PWD=;OPTION=3;"
cnt.Open
rst.Open "SELECT * FROM tblnamn", cnt, adOpenDynamic, _
adLockOptimistic
For i = LBound(vaEName) To UBound(vaEName)
With rst
.AddNew
.Fields("FNamn") = vaFName(i, 1)
.Fields("ENamn") = vaEName(i, 1)
.Update
End With
Next i
rst.Close
Set rst = Nothing
cnt.Close
Set cnt = Nothing
End Sub
Kind regards,
Dennis