Thema Datum  Von Nutzer Rating
Antwort
05.01.2012 09:18:18 Christian
NotSolved
05.01.2012 09:42:32 Heiko
NotSolved
05.01.2012 13:04:03 Christian
NotSolved
05.01.2012 13:30:47 Heiko
NotSolved
06.01.2012 13:50:25 Christian
NotSolved
08.01.2012 20:09:49 Heiko
NotSolved
09.01.2012 15:27:46 Christian
NotSolved
09.01.2012 22:02:14 Heiko
NotSolved
10.01.2012 12:21:50 Christian
NotSolved
10.01.2012 12:55:01 Heiko
NotSolved
10.01.2012 16:22:36 Christian
NotSolved
10.01.2012 16:27:10 Christian
NotSolved
10.01.2012 16:29:22 Chrisitan
NotSolved
10.01.2012 22:43:25 Heiko
NotSolved
11.01.2012 09:23:28 Christian
NotSolved
15.01.2012 19:36:25 Heiko
NotSolved
16.01.2012 09:17:59 Christian
NotSolved
Blau Update der Access-DB beim Export
17.01.2012 21:50:51 Heiko
*****
Solved
19.01.2012 21:58:35 Christian
NotSolved
22.01.2012 21:55:59 Heiko
NotSolved

Ansicht des Beitrags:
Von:
Heiko
Datum:
17.01.2012 21:50:51
Views:
914
Rating: Antwort:
 Nein
Thema:
Update der Access-DB beim Export

Hallo Christian,

es freut mich sehr, wenn die dies kleine Programm hilft. Probiere ruhig selber etwas aus. VBA ist nicht so schwer zu erlernen und es gibt gute Bücher und Internetseiten.

Hier der aktualisierte Code.

Viele Grüße
Heiko


Public Sub DatenÜbertragen()
'Aktualisiert die Felder eines Datensatzes in der Access-DB
'oder legt den Datensatz neu an
'für Christian von Heiko am 10.1.2012
'Extras-Verweise: Microsoft Active X Data Objects ... Aktivieren

  On Error GoTo Fehler
    
  'Hier die Parameter anpassen und die Access-Version auswählen
  '============================================================
  Const c_strProvider As String = "Microsoft.Jet.OLEDB.4.0;"       'Access 2003
  'Const c_strProvider As String = "Microsoft.ACE.OLEDB.12.0;"     'Access 2010 (ungetestet)
  Const c_strDB_Path As String = "Hier kommt Dein Pfad hin>\Testdatenbank.accdb"        'Datenbank
  Const c_strDB_Tbl As String = "Auswertung"                       'Tabelle in der Datenbank
  Const c_strXL_Sheet As String = "Zusammenfassung"                'Excel-Arbeitsblatt mit den Daten
  Const c_strXL_AZ As String = "B10"                               'hier steht das Aktenzeichen
  Const c_strUserID As String = "Admin"
  
  Dim cn As ADODB.Connection
  Dim rs As ADODB.Recordset
  Dim strSQL As String
  Dim strAZ As String
  Dim wks As Excel.Worksheet
  Dim blnNeuerDS As Boolean
  Dim strMsgBox As String
  
  'Wie lautet das Aktenzeichen?
  Set wks = ThisWorkbook.Sheets(c_strXL_Sheet)
  strAZ = wks.Range(c_strXL_AZ).Value
      
  'Steht tatsächlich ein Aktenzeichen in der Exceltabelle
  If Len(strAZ) > 0 Then
        
    'Verbindung zur Datenbank
    Set cn = New ADODB.Connection
    cn.Provider = c_strProvider
    cn.Open c_strDB_Path, c_strUserID
    cn.CursorLocation = adUseServer
  
    'Aktenzeichen in der Datenbank suchen und öffnen
    strSQL = "Select AktZ,Status,Wahrscheinlichkeit,Punkte" & _
             " From " & c_strDB_Tbl & _
             " Where AktZ = '" & strAZ & "'"
    Set rs = New ADODB.Recordset
    With rs
      .ActiveConnection = cn
      .CursorType = adOpenKeyset
      .LockType = adLockOptimistic
      .Open strSQL, Options:=adCmdText
      
      If .Supports(adUpdate) And .Supports(adAddNew) Then
        If .BOF Then   'wenn es dieses Aktenzeichen in der Datenbank noch nicht gibt
          .AddNew      'neuen Datensatz anlegen und das Aktenzeichen übertragen
          .Fields("AktZ").Value = strAZ
          blnNeuerDS = True
        End If
        .Fields("Status").Value = wks.Range("B7").Value
        .Fields("Wahrscheinlichkeit").Value = wks.Range("B8").Value
        .Fields("Punkte").Value = wks.Range("B9").Value
        .Update
        
        'Meldung an user
        If blnNeuerDS Then
          strMsgBox = "Das Aktenzeichen  " & strAZ & " wurde erfolgreich zur DB hinzugefügt."
        Else
          strMsgBox = "Das Aktenzeichen " & strAZ & " wurde aktualisiert."
        End If
        MsgBox strMsgBox, vbInformation, "Daten übertragen"
        
      Else
        MsgBox "Ich kann die Daten für das Aktenzeichen '" & strAZ & "' nicht übertragen." & vbCrLf & _
               "Kein Datensatz übertragen.", vbExclamation, "Datenübertragen"
      End If
      .Close
    End With
    cn.Close
    
  Else
    MsgBox "Es steht kein Aktenzeichen im Arbeitsblatt '" & c_strXL_Sheet & "' in Zelle '" & c_strXL_AZ & "'.", _
           vbCritical, "Datenübertragen"
  End If

Raus:
  Set wks = Nothing

  If Not rs Is Nothing Then
      If rs.State = adStateOpen Then
        rs.CancelUpdate
        rs.Close
      End If
  End If
  Set rs = Nothing
  
  If Not cn Is Nothing Then
      If cn.State = adStateOpen Then cn.Close
  End If
  Set cn = Nothing
  
  Exit Sub
Fehler:
  MsgBox "Fehler: " & CStr(Err.Number) & " " & Err.Description, vbCritical, "DatenÜbertragen"
  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
05.01.2012 09:18:18 Christian
NotSolved
05.01.2012 09:42:32 Heiko
NotSolved
05.01.2012 13:04:03 Christian
NotSolved
05.01.2012 13:30:47 Heiko
NotSolved
06.01.2012 13:50:25 Christian
NotSolved
08.01.2012 20:09:49 Heiko
NotSolved
09.01.2012 15:27:46 Christian
NotSolved
09.01.2012 22:02:14 Heiko
NotSolved
10.01.2012 12:21:50 Christian
NotSolved
10.01.2012 12:55:01 Heiko
NotSolved
10.01.2012 16:22:36 Christian
NotSolved
10.01.2012 16:27:10 Christian
NotSolved
10.01.2012 16:29:22 Chrisitan
NotSolved
10.01.2012 22:43:25 Heiko
NotSolved
11.01.2012 09:23:28 Christian
NotSolved
15.01.2012 19:36:25 Heiko
NotSolved
16.01.2012 09:17:59 Christian
NotSolved
Blau Update der Access-DB beim Export
17.01.2012 21:50:51 Heiko
*****
Solved
19.01.2012 21:58:35 Christian
NotSolved
22.01.2012 21:55:59 Heiko
NotSolved