Import von Access nach Access

Hallo liebe Experten,

ich habe zwei Access Dateien mit mehreren Tabellen und ich möchte den Import automatisieren. Ich habe bereits Ähnliches von Excel nach Access gemacht mit:

DoCmd.TransferSpreadsheet acImport, 8, „Allgemein“, pfad, True, „haupttabelle!A53:GS54“

Hierbei konnte ich einen bestimmten Bereich auswählen. Wie kann ich denn so etwas anpassen, sodass ich eien bestimmten Bereich einer AC-Tabelle in eine andere Datei importiere? Vielen Dank!

Gruß
Igor

Hallo,

Möglichkeiten:
a) insert into Tabelle1 select * from tabelle2 in „c:\DB_Datei.Mdb“
b) im Datenbankfenster die externe Tabelle verknüpfen und ganz normal darauf zugreifen.
c) per VBA …

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Franz,

supi, dass es so schnell ging!!! Ich glaube für mich kommen Methoden a) und c) in Frage, wobei ich es lieber in VBA machen würde. Ich bin da kein Access profi. Könntest du mir na etwas nachhelfen? Vielen lieben Dank!

Gruß
Igor

Hallo,

warum gerade c), wenn Du eh kein „Access-Profi“ bist??

Sehe mich da etwas unschlüssig, Dir einen (auch nur prinzipiellen) Code vorzusetzen, den Du dann vermutlich gar nicht richtig an Deine Situation anpassen kannst.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Franz,

bin zwar kein Profi möchte den Import jedoch flexibel einrichten. Ich habe gerade Folgendes zusammengebastelt:

Private Sub Befehl4_Click()
Dim strSQL As String

On Error GoTo Fehler
strSQL = „INSERT INTO [Derma-Allergologie] IN ‚C:\Documents and Settings\User\Desktop\Köln_ImportTest.mdb‘ " & _
„SELECT [Derma-Allergologie].*“ & _
" FROM [Derma-Allergologie]“

DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
Exit Sub

Fehler:
MsgBox Err.Number & " " & Err.Description
End Sub

Es funzt jedoch nicht. Es pasiert nichts. Woran kann das liegen?

Gruß
Igor

Hallo,

strSQL = "INSERT INTO [Derma-Allergologie] " & _
"SELECT [Derma-Allergologie].* " & _
" FROM [Derma-Allergologie] IN ‚C:\Documents and Settings\User\Desktop\Köln_ImportTest.mdb‘ "

Du kannst ja auch noch „Transferdatabase“ in der VBA-Hilfe ansehen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Supi Klaus,

es hat mit dem folgenden zwar geklappt, ich habe jedoch eine kleine Änderung eingebaut und zwar, dass ich den Pfad flexibel gestalten kann. Und jetzt funzt es nicht. Zunächst der Code:

Private Sub Befehl4_Click()
Dim strSQL As String
Dim pfad
pfad = Forms!Import!txtBild

On Error GoTo Fehler
DoCmd.SetWarnings False
strSQL = "INSERT INTO Derma_Allergologie " & _
" SELECT Derma_Allergologie.* " & _
" FROM Derma_Allergologie IN pfad "

DoCmd.RunSQL strSQL
DoCmd.SetWarnings False
Exit Sub

Fehler:
MsgBox Err.Number & " " & Err.Description
End Sub

Ich bekomme folgende Fehlermeldung:
„3024 Could not find file ‚C:\Documents and Settings\User\Desctop\pfad‘“

Danke!
Gruß
Igor

Hallo,

wer ist Klaus?

.
.
" FROM Derma_Allergologie IN " & pfad

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Sorry Franz :wink:))))

habe gerade jemandem anderen geschrieben der Klaus hieß :wink:

ich habe nun folgenden Code:

strSQL = "INSERT INTO Derma_Allergologie " & _
" SELECT Derma_Allergologie.* " & _
" FROM Derma_Allergologie IN " & pfad

und bekomme jetzt einen Syntaxfehler: 3131 Syntax error in FROM clause.

Ich habe direkt noch eine Frage. Wenn ich mehrere solcher Abfragen nacheinander durchführen möchte kann ich dann quasi strSQL1, strSQL2, usw definieren und dann DoCmd.RunSQL1 strSQL, DoCmd.RunSQL2 strSQL usw nacheinander ausführen. Ist es logisch oder Mist?

Danke dir!
Gruß
Igor

Hallo? Kann mir da noch jemand helfen oder …

Vielen Dank!!!

Hallo? Kann mir da noch jemand helfen oder …

Hallo Igor,

wir sitzen hier nicht den ganzen Tag vor wer-weiss-was um Fragen zu beantworten! Wenn du mal 48 Stunden keine Antwort bekommst, liegt es bestimmt daran, dass sich die Experten die Köpfe zerbrechen dir zu helfen.

also übe dich in Geduld!

Zu deinem Problem:

Windows Regel Nr.12
Sind Leerzeichen im Pfadnamen, so ist der Pfadname in Anführungsstriche zu setzen!

Ändere also deinen SQL-String entsprechend ab.

und ja es macht logischer Weise Sinn mehrere SQL-Anweisungen hintereinander aufzurufen. Ich kenne imho keine andere Möglichkeit.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Sorry Wolfgang,

hast ja Recht. Bin nur am Dampfen mit dem Code! Ich bekomme immer wieder einen Fehler, dass der Pfad nicht gefunden wird:

Private Sub Befehl4_Click()
Dim strSQL As String
Dim pfad
pfad = „Forms!Import!txtBild“

On Error GoTo Fehler
DoCmd.SetWarnings False
strSQL = "INSERT INTO Derma_Allergologie " & _
" SELECT Derma_Allergologie.* " & _
" FROM Derma_Allergologie IN " & pfad

DoCmd.RunSQL strSQL
DoCmd.SetWarnings False
Exit Sub

Fehler:
MsgBox Err.Number & " " & Err.Description
End Sub

Fehler: 3024 Could not find file 'C:\ Documents and Settings\User\Desktop\Forms!Import!txtBild

Hilfe, Hilfe!
Besten Dank im Voraus und noch Mal SORRY!

Gruß
Igor

Hallo Igor,

hast ja Recht. Bin nur am Dampfen mit dem Code! Ich bekomme
immer wieder einen Fehler, dass der Pfad nicht gefunden wird:

da öffnen sich große Wissenslücken :frowning:

Private Sub Befehl4_Click()
Dim strSQL As String
Dim pfad
pfad = „Forms!Import!txtBild“

Pfad = „’“ & Me.txtbild & „’“

'Me. = Kürzel für das aktuelles Formular
'wie schon geschrieben: den Pfad in Anführungsstriche setzen!
'da diese bereits verwendet werden, den Apostroph verwenden!
'also mal sichtbarer dargestellt: " ’ "
'gemeint ist das zweite Zeichen auf der Taste #

On Error GoTo Fehler
DoCmd.SetWarnings False
strSQL = "INSERT INTO Derma_Allergologie " & _
" SELECT Derma_Allergologie.* " & _
" FROM Derma_Allergologie IN " & pfad

DoCmd.RunSQL strSQL
DoCmd.SetWarnings False
Exit Sub

Fehler:
MsgBox Err.Number & " " & Err.Description
End Sub

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

!!! ja wohl!!! Ich danke dir herzlich! Ich versuche an meinen Wissenslücken zu arbeiten :wink:

Besten Gruß
Igor