Thema Datum  Von Nutzer Rating
Antwort
25.12.2011 20:33:34 xvba
Solved
31.12.2011 23:12:43 Gast81874
NotSolved
03.01.2012 00:02:41 Gast52643
NotSolved
Blau Access Datenimport per Makro
01.01.2012 12:28:50 Heiko
NotSolved

Ansicht des Beitrags:
Von:
Heiko
Datum:
01.01.2012 12:28:50
Views:
978
Rating: Antwort:
  Ja
Thema:
Access Datenimport per Makro

Hallo xvba,

richtig. Du wolltest ja den Import mit ADO. Wenn Du die Quelltabelle nicht einfach verknüpfen willst, probier doch mal diese Lösung.

Falls die ID in der Senke als Feld ohne Duplikate definiert ist, müsste noch eine entsprechende Fehlerroutine eingebaut werden.

Viel Erfolg

Heiko

 

Public Sub subImport()
On Error GoTo Fehler

  Const c_strProvider As String = "Microsoft.Jet.OLEDB.4.0;"
  Const c_strQuellDB As String = "C:\...\db2.mdb" 'Quell-DB
  Const c_strUserID As String = "Admin"
  Const c_strQuellTBL As String = "Tabelle2"  'in der Quell-DB
  Const c_strSenkeTBL As String = "Tabelle1"  'in dieser Datenbank

  Dim cnnQuelle As ADODB.Connection
  Dim rsQuelle As ADODB.Recordset
  Dim strSQL As String
  
  Dim cnnSenke As ADODB.Connection
  Dim rsSenke As ADODB.Recordset
  
  'Felder der Quell-Tabelle
  strSQL = "SELECT ID, Anzahl FROM " & c_strQuellTBL
  
  Set cnnQuelle = New ADODB.Connection
  cnnQuelle.Provider = c_strProvider
  cnnQuelle.Open c_strQuellDB, c_strUserID
  
  Set rsQuelle = cnnQuelle.Execute(strSQL, Options:=adCmdText)
  If Not rsQuelle.BOF Then
    Set cnnSenke = CurrentProject.Connection
    Set rsSenke = New ADODB.Recordset
    With rsSenke
      .ActiveConnection = cnnSenke
      .CursorType = adOpenKeyset
      .LockType = adLockOptimistic
      .Open c_strSenkeTBL, Options:=adCmdTableDirect
    End With
    If rsSenke.Supports(adUpdateBatch) Then
      rsQuelle.MoveFirst
      Do While Not rsQuelle.EOF
        With rsSenke
          .AddNew 'Felder der Senke-Tabelle
          .Fields("ID").Value = rsQuelle.Fields("ID").Value
          .Fields("Anzahl").Value = rsQuelle.Fields("Anzahl").Value
        End With
        rsQuelle.MoveNext
      Loop
      rsSenke.UpdateBatch
    End If
    rsSenke.Close
    cnnSenke.Close
  End If

  rsQuelle.Close
  cnnQuelle.Close
    
Raus:
  If Not rsQuelle Is Nothing Then
    If rsQuelle.State = adStateOpen Then rsQuelle.Close
  End If
  Set rsQuelle = Nothing
  
  If Not rsSenke Is Nothing Then
    If rsSenke.State = adStateOpen Then rsSenke.Close
  End If
  Set rsSenke = Nothing
  
  If Not cnnQuelle Is Nothing Then
    If cnnQuelle.State = adStateOpen Then cnnQuelle.Close
  End If
  Set cnnQuelle = Nothing
  
  If Not cnnSenke Is Nothing Then
    If cnnSenke.State = adStateOpen Then cnnSenke.Close
  End If
  Set cnnSenke = Nothing
  
  Exit Sub
Fehler:
  MsgBox "Fehler: " & CStr(Err.Number) & " " & Err.Description, vbCritical, "subImport"
  Resume Raus
  
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
25.12.2011 20:33:34 xvba
Solved
31.12.2011 23:12:43 Gast81874
NotSolved
03.01.2012 00:02:41 Gast52643
NotSolved
Blau Access Datenimport per Makro
01.01.2012 12:28:50 Heiko
NotSolved