Wie kann man in Access erstellte Datensätze mit Hilfe der VBA Programmierung löschen?
Wie können selbst erstellte Datensätze die wir durch VBA Programmierung in die Datenbank bekommen haben löschen aber keine die schon dort sind.
Wie können selbst erstellte Datensätze die wir durch VBA
Programmierung in die Datenbank bekommen haben löschen aber
keine die schon dort sind.
Schrödingers Katze lebt …
Erst mal guten Tag, und willkommen im Forum.
Offen gestanden verstehe ich Dein Problem nicht. Was sind Datensätze, die „schon drin sind“, und worin besteht der Unterschied zu denen, die Du „rein bekommen hast“? Bitte beschreibe Dein Problem ausführlicher; und denk dran, dass die anderen Forumsteilnehmer nicht sehen können, was bei euch los ist …
Gruß kw
hallo eiskaltehand,
datensätze aus access löschen:
– mit hilfe von sql
– anhand von ado
bei zweiten frage haben ich verstehen probleme- wie lautet??
gruß
rasta
Wie kann man in Access erstellte Datensätze mit Hilfe der VBA
Programmierung löschen?
Wie können selbst erstellte Datensätze die wir durch VBA
Programmierung in die Datenbank bekommen haben löschen aber
keine die schon dort sind.
juti vielen danke
aber der 2te satz war eine aussage
also … ein Datensatz der schon drin ist = ein datensatz der schon in der datenbank steht
und welche die noch rein kommen = datensätze die wir über VBA hinzufügen (in die datenbank)
Schrödingers Katze lebt …
Hallo,
also setze ein verweis auf die Microsoft DAO Object Libary.
dann kannst du via VBA folgendermassen auf die DB zugreifen.
Bsp.
Dim ws As Workspace
Dim db As Database
Dim rs As Recordset
Private Sub Command1\_Click() -\> wird ausgeführt beim Klick auf eine schaltfläche
'Öffnen der DB
Set ws = DBEngine(0)
Set db = ws.OpenDatabase("c:\data.mdb")
Set rs = db.OpenRecordset("Select \*from Daten")
'Den zweiten Datensatz selektieren
rs.AbsolutePosition = 1
'Den selektierten Datensatz löschen
rs.Delete
'Wenn Datenbank nicht schreibgeschuetzt ist
'Dann einen Datensatz hinzufügen
'in der Feld Name, welches im bsp als String erstellt
'werden muss
If rs.Updatable Then
rs.AddNew
rs!Name = "Test"
rs.Update
End If
End Sub
So klappt es zumindest unter VB, aber zu VBA besteht kein grosser Unterschied und sollte klappen.
MFG Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
PS…
also … ein Datensatz der schon drin ist = ein datensatz der
schon in der datenbank steht
und welche die noch rein kommen = datensätze die wir über VBA
hinzufügen (in die datenbank)Schrödingers Katze lebt …
Dim ws As Workspace
Dim db As Database
Dim rs As RecordsetPrivate Sub Command1_Click() -> wird ausgeführt beim Klick
auf eine schaltfläche
'Öffnen der DB
Set ws = DBEngine(0)
Set db = ws.OpenDatabase(„c:\data.mdb“)
Set rs = db.OpenRecordset(„Select *from Daten“)
'Den zweiten Datensatz selektieren
rs.AbsolutePosition = 1
'Den selektierten Datensatz löschen
rs.Delete
'Wenn Datenbank nicht schreibgeschuetzt ist
'Dann einen Datensatz hinzufügen
'in der Feld Name, welches im bsp als String erstellt
'werden muss
If rs.Updatable Then
rs.AddNew
rs!Name = „Test“
rs.Update
End If
End SubSo klappt es zumindest unter VB, aber zu VBA besteht kein
grosser Unterschied und sollte klappen.
Via VBA bekommst du ohne weiteres nicht heraus, wie welcher Datensatz hinzugefuegt wurde. Die einzigste Möglichkeit sehe ich das du wenn du ein Datensatz via vba hinzufügst ein Flag mit schreibst, wo du dann indenfizieren kannst das es mit VBA hinzugefügt wurde, aber dazu musst du erst einmal per hand alles bestehenden Datensaetze abaendern.
Bsp. du erstellst ein Feld namens VBA und deklarierst dies als boolean.
Wird der datensatz dann via VBA hinzugefuegt setzt du diesen auf True ansonsten auf false
dann kannst du mit der Abfrage, aus dem vorherigen Bsp. mit if rs!Vba then rsd.delete den datensatz löschen oder du öffnest den recordset via SQL und stellt dann gleich die bedingung dann hast du aber nur alle Datensaetze die mit vba erstellt wurden zur verfügung
MFG Alex
MFG Alex
Schrödingers Katze lebt …