Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datensatz ändern und speichern (VBA)

Datensatz ändern und speichern (VBA)
10.07.2015 22:39:47
Gerhard
Hallo Excelhelfer,
ein Datensatz wird per Macro aus der Datenbank in eine Tabelle übernommen (funktioniert bereits dank Luschi).
Der geänderte Datensatz soll in die Datenbank zurückgespeichert oder ggf. gelöscht werden. Dazu frage ich Euch um eine Lösung an.
Danke im voraus für die Hilfe.
Gerhard
https://www.herber.de/bbs/user/98765.xlsm

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensatz ändern und speichern (VBA)
13.07.2015 05:08:30
Luschi
Hallo Gerhard,
das Zurückschreiben in die Datenbank ist doch bereits gelöst.
Hinter dem Button
Userbild
steckt ein Makro - einfach mal draufdrücken!
Frage: Soll der gesamte Datensatz (Zeile) gelöscht der nur der Zeileninhalt der
Person geleert werden?
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Datensatz ändern und speichern (VBA)
13.07.2015 07:58:55
Gerhard
Guten Morgen Luschi,
der gesamte Datensatz der angezeigten Person soll gelöscht werden, ab Spalte C. Dann muss die Tab. nach Name neu sortiert werden.
Das Zurückspeichern ist ok! Sorry, die Funktion und das Ergebnis hatte ich in der Gesamtliste nicht beachtet (wer drücken kann ist im Vorteil...).
Eine Bitte noch zusätzlich: könntest du die die Aktionen Zurückspeichern und Löschen mit einer Kontrollfrage ja/nein versehen.
Viele Dank für diese erneute Hilfe!
Gerhard

Anzeige
@Luschi Datensatz ändern und speichern (VBA)
13.07.2015 17:58:35
Gerhard
hatte nicht "offen" aktiviert.
Gerhard
;
Anzeige
Anzeige

Infobox / Tutorial

Datensatz ändern und speichern in VBA


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne den VBA-Editor in Excel (ALT + F11) und erstelle ein neues Modul.

  2. Datenbankverbindung: Stelle sicher, dass Du eine Verbindung zu Deiner Access-Datenbank hast. Verwende hierzu den folgenden Code:

    Dim conn As Object
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DeinDatenbankPfad.accdb;"
  3. Datensatz ändern: Um einen Datensatz zu ändern, kannst Du einen SQL-Befehl verwenden. Beispiel:

    Dim sql As String
    sql = "UPDATE DeineTabelle SET Spalte1 = 'NeuerWert' WHERE Bedingung;"
    conn.Execute sql
  4. Datensatz speichern: Um den geänderten Datensatz zu speichern, kannst Du die Methode vba access datensatz speichern verwenden. Vergiss nicht, die Verbindung nach dem Speichern zu schließen:

    conn.Close
    Set conn = Nothing
  5. Löschen von Datensätzen: Wenn Du einen gesamten Datensatz löschen möchtest, kannst Du den folgenden SQL-Befehl verwenden:

    sql = "DELETE FROM DeineTabelle WHERE Bedingung;"
    conn.Execute sql

Häufige Fehler und Lösungen

  • Verbindungsfehler: Wenn Du beim Öffnen der Datenbank einen Fehler erhältst, überprüfe den Pfad zur Datenbank und stelle sicher, dass der OLEDB-Provider korrekt ist.

  • Syntaxfehler in SQL: Achte darauf, dass Deine SQL-Befehle korrekt sind. Nutze Debugging (F8), um den Code Schritt für Schritt zu überprüfen.

  • Datensatz nicht gefunden: Stelle sicher, dass die Bedingung im WHERE-Teil Deiner SQL-Abfrage korrekt formuliert ist.


Alternative Methoden

Eine alternative Methode zum Speichern von Datensätzen in Access ist die Verwendung von ADO.NET in Verbindung mit VBA. Du kannst auch Formulare in Access nutzen, um Datensätze zu ändern und zu speichern, was eine benutzerfreundlichere Lösung darstellen kann.


Praktische Beispiele

Beispiel für das Speichern eines Datensatzes:

Sub SpeichereDatensatz()
    Dim conn As Object
    Set conn = CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DeinDatenbankPfad.accdb;"

    Dim sql As String
    sql = "UPDATE Kunden SET Name = 'Max Mustermann' WHERE ID = 1;"

    If MsgBox("Möchten Sie den Datensatz speichern?", vbYesNo) = vbYes Then
        conn.Execute sql
        MsgBox "Datensatz erfolgreich gespeichert!"
    End If

    conn.Close
    Set conn = Nothing
End Sub

Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinem VBA-Code, um unerwartete Probleme abzufangen.

  • Optimierung: Verwende Transaktionen, wenn Du mehrere Datensätze gleichzeitig ändern möchtest, um die Datenintegrität zu gewährleisten.

  • Dokumentation: Halte Deinen Code gut dokumentiert, um die Wartung zu erleichtern.


FAQ: Häufige Fragen

1. Wie speichere ich einen Datensatz in Access mit VBA?
Verwende die UPDATE-SQL-Anweisung in Deinem VBA-Code, um den gewünschten Datensatz zu ändern und zu speichern.

2. Was mache ich, wenn ich einen Datensatz löschen möchte?
Nutze die DELETE-SQL-Anweisung, um den gesamten Datensatz zu löschen. Achte darauf, die Bedingung im WHERE-Teil korrekt anzugeben.

3. Kann ich eine Bestätigung vor dem Löschen eines Datensatzes einfügen?
Ja, Du kannst eine MsgBox verwenden, um den Benutzer zu fragen, ob er den Datensatz wirklich löschen möchte.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige