Zum Inhalt springen

Daten von Oracle nach access


TonyMontana81

Empfohlene Beiträge

Hallo,

bin schon halber am verzweifeln, und zwar muss ich im Rahmen meines Projektes mit acces (VBA) am beste, daten aus oracle lesen (also nur bestimmte tabellen).

das funktioniert schon halbwegs, zeigt anzahl der datensätze an

Public Function OracleConnect_FXP()

Dim cnConn As ADODB.Connection

Dim rsTemp As ADODB.Recordset

Dim strDB As String

Dim strLogin As String

Dim strTable As String

Dim strMsg As String

Dim strSQL As String

Dim strPass As String

strDB = "xxxx"

strLogin = "xxx"

strPass = "xxx"

strTable = "ver"

Set rsTemp = New ADODB.Recordset

Set cnConn = New ADODB.Connection

'Using Microsoft Oracle driver

cnConn.ConnectionString = "Provider=MSDAORA;" & "Password=" & strPass & "; User ID=" & strLogin & ";Data Source=" & strDB & ";Persist Security Info=True"

cnConn.CursorLocation = adUseClient

cnConn.Open

strSQL = "SELECT Count(*) as results FROM " & strTable

rsTemp.Open "SELECT Count(*) as results FROM " & strTable, cnConn, adOpenStatic, adLockReadOnly

'yields 1 row when doing a Select Count(*)

'yieldss '98' rows when doing a Select *"

strMsg = strMsg & vbCrLf & strDB & "/" & strLogin & "/" & strPass & vbCrLf & _

"Select(*) Count--rsTemp.Recordcount: " & rsTemp.RecordCount & vbCrLf & "Select(*) Count--rsTemp!Results: " & rsTemp!Results & "ConnectionString: " & cnConn.ConnectionString

MsgBox strMsg, vbOKOnly, "RLNTest-DB Connection"

End Function

Problem ist wie kriege ich Daten aus Oracle direkt in ein access formular bzw Tabelle. Ich will praktisch nur paar datensätze aus oracle auslesen und direkt in eine acces tabelle importieren und damit mit den daten weiter arbeiten.

Das ganze soll möglichst ohne ODBC (tabellen verknpüfen gehen) da ich nur paar daten brauche und nicht die ganze tabelle, und die daten sollen ja immer aktuell sein.

kann mir da einer helfen?

Danke im voraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

was spricht denn wirklich gegen verknüpfen? ob du die tabellen jetzt per OLEDB/ADO verarbeitest oder mittels ODBC/ADO macht in der praxis kaum unterschied. mach auf die access-tabelle entweder eine einfüg/aktualisierungsabfrage seitens der verknüpften tabelle oder ruf das SQL mittels ExecuteDB (gut, da ExecuteDB felxibler ist) oder RunSQL (bedingt gut, da unflexibel) auf.

wenn du das wirklich mit VBA machen musst, mach aus deinem

rsTemp.Open "SELECT Count(*) as results FROM " & strTable

ein

RunSQL "INSERT INTO accesstabelle (bla, bla) SELECT bla, bla FROM " & strTable

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich schicke mal ein kleines screenshot wegen der aktualisierungabfrage.

Wie mache ich jetzt am schnellsten eine Abfrage das zb. Name oder Vorname etc. aus der Oracle Datenbank mit den Daten in access abgleicht und aktualisiert. (Den Sämtliche Daten werden ja in der Oracle DB gespeichert).

Danke im Voraus.

Das mit dem ODBC usw klappt jetzt perfekt, password wird auch gespeichert für die verbindung.

http://www.bildrian.de/n/b/7b4d89bc4f0a118a.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...