ich habe dieses mal ein für mich unlösbares probelm.
es geht um eine Oracle abfrage mit VBA.
Was ich bereits kann ist alle werte aus vorgegebenen Tabellennamen auszugeben.
Aktueller Tabellenname = "Nummer"
Aber wie schaffe ich es aus dieser test Oraclebank alle Tabellennamen angezeigt zu bekommen weil es da noch mehere gibt auser nur "Nummer"
Würde mich sehr über eure Hilfe freuen.
Hier meine bischerige version.
'In einem Modul
Option Explicit
Dim strSQL_teil As String
Dim strSQL As String
Dim xx As Integer
Dim datenbank
Dim werte
Sub update()
strSQL = "SELECT Nummer FROM KA.P1" 'View
Set datenbank = New cdatenbank
Call datenbank.db_verbinden("username", "passwort") 'übergabe Username und Passwort um _
datenbank zu verbinden
werte = datenbank.db_abfrage(strSQL)
Call datenbank.db_trennen
Call daten_eintragen
Erase werte
End Sub
'In einem Klassenmodul
Option Explicit
Private Declare
Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private ADOC As New ADODB.Connection
Sub db_verbinden(Viewname, pass)
Dim x As Integer
Dim fehler As Boolean
Dim is_shown As Boolean
Dim frm_status
x = 1
fehler = True
is_shown = False
Do While fehler = True
If x
Function db_abfrage(statement As String, Optional ByRef fehler As Boolean = False) As Variant
Dim DBS As New ADODB.Recordset
Dim datenmenge As Variant
On Error Resume Next
DBS.ActiveConnection = ADOC
DBS.LockType = adLockOptimistic
DBS.CursorType = adOpenKeyset
DBS.Source = statement
DBS.Open
If ADOC.Errors.Count > 0 Then fehler = True
datenmenge = DBS.GetRows
DBS.Close
db_abfrage = datenmenge
On Error GoTo 0
End Function
Function db_ausfuehren(DB_Name As String, uebergabe() As Variant) As Integer
On Error Resume Next
Dim DBS As New ADODB.Recordset
With DBS
.ActiveConnection = ADOC
.LockType = adLockPessimistic
.CursorType = adOpenKeyset
.Source = DB_Name
.Open
.AddNew
Dim ID_rs As New ADODB.Recordset
ID_rs.ActiveConnection = ADOC
ID_rs.LockType = adLockPessimistic
ID_rs.CursorType = adOpenKeyset
ID_rs.Source = "SELECT CASE WHEN MAX(ID) IS NULL THEN 1 ELSE MAX(ID)+1 END AS ID FROM " _
& DB_Name
ID_rs.Open
DBS.Fields("ID") = ID_rs.Fields("ID")
ID_rs.Close
For x = LBound(uebergabe, 1) To UBound(uebergabe, 1)
.Fields(uebergabe(x)(0)) = uebergabe(x)(1)
Next x
.update
If Err.Number
Sub db_trennen()
On Error Resume Next
ADOC.Close
On Error GoTo 0
End Sub
Vielen Dank im vorraus für eure Hilfe !!
gruß Chris