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:
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!
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 …
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!
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.
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?
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‘“
habe gerade jemandem anderen geschrieben der Klaus hieß
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?
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.
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
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