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

In Access bestimmten eintrag ändern

Forumthread: In Access bestimmten eintrag ändern

In Access bestimmten eintrag ändern
27.02.2006 20:11:53
Simon
Hallo Forum,
Hab mal wieder ein Problem, hole Daten aus einer Access Tabelle und füge auch wieder neue Datensätze von Excel nach Access hinzu.
Jetzt möchte ich eine bestimmte Datensatz Zeile in Access ändern, z.B. weiß ich das in der ID 1 der Kunde Müller steht. Was für einen Befehl brauche ich jetzt das ich sagen kann ich möchte die Zeile 1 ändern
Hat jemand ein Beispiel da?
wäre euch sehr dankbar
Gruß Simon
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: In Access bestimmten eintrag ändern
27.02.2006 20:59:53
Norman
Nimm einfach beim open ein WHERE, dann geht's:
In db muss die Datenbank sein (Typ Database, hast Du wahrscheinlich schon)
dim rs as recordset
strSQL = "SELECT * FROM Tabellenname WHERE ID = 1"
Set rs = db.OpenRecordset(strSQL)
If Not rs.EOF Then
rs.MoveFirst
' und jetzt Dein Zeug
End If
rs.close
set rs = nothing
Ungetestet, sollte aber gehen. Musst wahrscheinlich noch Microsoft DAO 3.6 Object Library einbinden.
Gruß
Norman
Anzeige
AW: In Access bestimmten eintrag ändern
28.02.2006 16:04:01
Simon
Hallo Norman,
erst mal sorry das ich mich jetzt erst antworte, ist nicht meine art, musst aber gestern etwas dringendes am PC erledigen.
werde den Code testen
aber mit dem Select komme ich glaub nicht ganz klar, du hast geschrieben ID = 1
aber genau statt der 1 sollte eine Variable stehen, ist das möglich
gruß simon
Anzeige
AW: In Access bestimmten eintrag ändern
28.02.2006 23:52:06
Norman
Hi Simon,
aber sicher geht das:
strSQL = "SELECT * FROM Tabellenname WHERE ID = " & meineVariableInDerDieIDSteht
Gruß
Norman
;
Anzeige
Anzeige

Infobox / Tutorial

Einträge in Access über Excel ändern


Schritt-für-Schritt-Anleitung

Um einen bestimmten Eintrag in einer Access-Datenbank über Excel zu ändern, folge diesen Schritten:

  1. Zugriff auf die Datenbank herstellen: Stelle sicher, dass Du die Microsoft DAO 3.6 Object Library in Deinem VBA-Projekt eingebunden hast.

  2. Öffne die Datenbank: Nutze folgenden Code, um die Datenbank zu öffnen:

    Dim db As Database
    Set db = OpenDatabase("Pfad\zu\DeinerDatenbank.accdb")
  3. Erstelle eine SQL-Abfrage: Definiere eine SQL-Abfrage, um die spezifische Zeile zu ändern:

    Dim rs As Recordset
    Dim strSQL As String
    Dim meineVariable As Long
    meineVariable = 1 ' oder eine andere ID
    strSQL = "SELECT * FROM Tabellenname WHERE ID = " & meineVariable
    Set rs = db.OpenRecordset(strSQL)
  4. Überprüfe, ob der Datensatz existiert: Füge eine Bedingung hinzu, um zu prüfen, ob der Datensatz vorhanden ist:

    If Not rs.EOF Then
       rs.MoveFirst
       ' Hier kannst Du die Änderungen vornehmen
       rs!Feldname = "Neuer Wert"
       rs.Update
    End If
  5. Schließe den Recordset und die Datenbank: Schließe den Recordset und setze die Objekte auf Nothing:

    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing

Häufige Fehler und Lösungen

  • Fehler: "Datenbank nicht gefunden"
    Lösung: Überprüfe den Pfad zur Datenbank. Stelle sicher, dass er korrekt ist und die Datei existiert.

  • Fehler: "Recordset EOF"
    Lösung: Dieser Fehler tritt auf, wenn kein Datensatz gefunden wurde. Stelle sicher, dass die ID, die Du suchst, tatsächlich existiert.

  • Fehler: "Objektvariable nicht festgelegt"
    Lösung: Dies kann auftreten, wenn Du versuchst, auf ein Recordset zuzugreifen, das nicht richtig geöffnet wurde. Überprüfe den SQL-Befehl auf Fehler.


Alternative Methoden

Eine alternative Methode, um Einträge in Access zu ändern, ist die Verwendung von ADO (ActiveX Data Objects). Hier ist ein Beispiel:

Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Pfad\zu\DeinerDatenbank.accdb;"

Dim cmd As Object
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = "UPDATE Tabellenname SET Feldname = 'Neuer Wert' WHERE ID = 1"
cmd.Execute

conn.Close
Set conn = Nothing

Praktische Beispiele

Wenn Du beispielsweise den Namen eines Kunden in der Tabelle "Kunden" ändern möchtest, könntest Du folgenden Code verwenden:

Dim strSQL As String
strSQL = "UPDATE Kunden SET Name = 'Neuer Name' WHERE ID = " & meineVariable
db.Execute strSQL

Hierbei wird der Name des Kunden mit der angegebenen ID aktualisiert. Vergiss nicht, die Variable meineVariable entsprechend zu setzen.


Tipps für Profis

  • Verwende Parameterabfragen: Um SQL-Injection zu vermeiden, ist es ratsam, Parameterabfragen zu verwenden, wenn Du Benutzereingaben verarbeiten musst.

  • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung in Deinen Code, um unerwartete Fehler abzufangen und die Benutzerfreundlichkeit zu erhöhen.

  • Backup der Datenbank: Mache regelmäßig ein Backup Deiner Access-Datenbank, bevor Du Änderungen vornimmst.


FAQ: Häufige Fragen

1. Kann ich auch mehrere Datensätze gleichzeitig ändern?
Ja, Du kannst eine SQL-Abfrage wie UPDATE Tabellenname SET Feldname = 'Neuer Wert' WHERE Bedingung verwenden, um mehrere Datensätze auf einmal zu ändern.

2. Wie kann ich sicherstellen, dass ich die richtige ID verwende?
Es ist sinnvoll, eine Abfrage zu erstellen, die alle IDs auflistet, bevor Du Änderungen vornimmst. So kannst Du die IDs überprüfen und sicherstellen, dass Du die korrekten Datensätze bearbeitest.

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