Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

import von access

import von access
29.09.2003 15:06:36
jhaustein
hallo gemeinschaft

habe ein script gefunden, welches angeblich das importieren kann - weiss nur nicht wie es funzt - wenn ich es in ein modul kopiere und mit F8 den schrittweisen test machen will passiert garnichts


Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)
ADOImportFromAccessTable "C:\FolderName\DataBaseName.mdb", _
"TableName", Range("C1")
Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
' open the database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
DBFullName & ";"
Set rs = New ADODB.Recordset
With rs
' open the recordset
.Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable
' all records
'.Open "SELECT * FROM " & TableName & _
" WHERE [FieldName] = 'MyCriteria'", cn, , , adCmdText
' filter records
RS2WS rs, TargetRange ' write data from the recordset to the worksheet
'        ' optional approach for Excel 2000 or later (RS2WS is not necessary)
'        For intColIndex = 0 To rs.Fields.Count - 1 ' the field names
'            TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
'        Next
'        TargetRange.Offset(1, 0).CopyFromRecordset rs ' the recordset data
End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: import von access
29.09.2003 15:24:50
Nike
Hi,
du wirst noch eine Verknüpfung zum Objektmodell im VBA Editor aktivieren müssen...
Also, Alt F11 und dann über Exrtas/Verweise einen Verweis auf
das Objektmodell von Access setzen...

Bye

Nike
AW: import von access
29.09.2003 15:32:14
jhaustein
oh gott - da sind ja tausende drinn- weisst du welches ich da aktivieren muss
AW: import von access
29.09.2003 15:39:23
jhaustein
hab ein paar dinger dazu geschaltet - leider passiert da trotzdem nichts
AW: import von access
29.09.2003 16:10:54
Nike
Hi,
das von Microsoft Access?
Also was mit MS ADO oder MS DAO ;-)

Bye

Nike
AW: import von access
29.09.2003 16:12:51
jhaustein
hab ich gemacht leider das gleiche ergebnis - passiert nichts - kannst du mir vielleichgt schreiben, wie die obere sub zeile aussehen muss

so bestimmt nicht oder?
Sub ADOImportFromAccessTable "C:\FolderName\DataBaseName.mdb", "TableName", Range("C1")
Anzeige
AW: doch doch... (Prozeduraufruf mit Variablen)
29.09.2003 16:33:07
Nike
Hi,
so bestimmt doch:

Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)
wenn ich diese Prozedur aufrufen möchte
und ihr beim Aufruf auch gleich die Variablen übergeben möchte...
Das ist der Anzatz, um globale Variablen zu vermeiden.
z.B.

Sub test()
call 

Sub ADOImportFromAccessTable("C:\testverzeichnis\test.mdb", _
"TestTabelle_In_DB", Range("A1:Z1000"))
End Sub



Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)
End Sub


Es könnte sein, das du den Target Range erst noch
rausfummeln mußt, weil der (glaub ich) nicht vom Ergebnisrange
abweichen darf, aber einfach mal austesten...

Bye

Nike
Anzeige
AW: doch doch... (Prozeduraufruf mit Variablen)
29.09.2003 16:48:35
jhaustein
wenn ich das schreibe, dann wird das schon rot dargestellt


Sub test()
call 

Sub ADOImportFromAccessTable("C:\testverzeichnis\test.mdb", _
"TestTabelle_In_DB", Range("A1:Z1000"))
End Sub

AW: doch doch... (Prozeduraufruf mit Variablen)
29.09.2003 16:54:02
jhaustein
okay das geht jetzt

leider kommt jetzt folgende fehlermeldung bei
Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer

fehler beim kompilieren
AW: doch doch... (Prozeduraufruf mit Variablen)
30.09.2003 10:31:58
jhaustein
moin gemeinschaft
mit hilfe von nike und stundenlanger bastelstunde geht jetzt da was - vielleicht interessant auch für euch

ich poste mal nen bsp

Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)
Tabelle3.Select
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
' open the database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
DBFullName & ";"
Set rs = New ADODB.Recordset
With rs
' open the recordset
.Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable
' all records
'.Open "SELECT * FROM " & TableName & _
" WHERE [FieldName] = 'MyCriteria'", cn, , , adCmdText
' filter records
'  RS2WS rs, TargetRange ' write data from the recordset to the worksheet
wenn ihr hier das simikolon weg nehmt, dann funzt es bei mir nicht - vielleicht bei euch
'        ' optional approach for Excel 2000 or later (RS2WS is not necessary)
For intColIndex = 0 To rs.Fields.Count - 1 ' the field names
TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
Next
TargetRange.Offset(1, 0).CopyFromRecordset rs ' the recordset data
End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub



Sub aufruf()
Call ADOImportFromAccessTable("D:\Programme\Microsoft Office\Office\Beispiel\nordwind.mdb", _
"Kunden", Range("A1:Z1"))
End Sub


es muss jetzt noch unter extras/verweise die verknüpfung microsoft ado ... aktiviert werden

das wars
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige