Datensätze löschen ja,aber auch Tabellenfelder?

Hey Ihr,

also mein Problem sieht so aus:

Ich habe ein Formular erstellt (basierend auf DB Access) in dem man per ComboBox einige „Hersteller“ auswählen kann.
Wenn man nun einen Hersteller (z.B.Microsoft) ausgewählt hat, soll man diesen durch Klicken auf einen Button löschen können, aber nicht nur aus der ComboBox,sondern auch aus der Tabelle!

(den ganzen Datensatz kann ich bereits löschen, mit dem Assistenten erstellt)

Geht das überhaupt? Tüftel da schon 3 Tage dran rum :frowning: Helft mir!

MfG Sabine L.

Ich weiss ja nun nicht, wie der Hersteller in deiner Tabelle abgelegt ist, aber per DAO wird das wohl etwa so gehen:

Currentdb.Execute "DELETE FROM DeineTabelle WHERE Hersteller = '" & Me!MeinKombifeld & "'"

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard,

danke für deine Hilfe. Hat zwar geklappt, aber so wird halt der GANZE DATENSATZ gelöscht.

Ich wollte aber nur das Tabellenfeld „Hersteller“ aus der Tabelle „Softwarebesatnd“ löschen.

Geht das auch?

MfG Sabine

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dann weiss ich nicht so recht, was du willst - normalerweise bindet man das Kombifeld an das entsprechende Tabellenfeld - und wenn man das Kombifeld löscht, löscht man dann natürlich auch das Tabellenfeld.

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard,

mein Kombifeld ist an ein Tabellenfeld gebunden!
Aber wenn man einen Eintrag aus dem Kombifeld löscht, löscht man den GANZEN DATENSATZ raus!
nicht nur den EINEN EINTRAG aus dem Kombifeld…

MfG Sabine

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Das kann ich nicht nachvollziehen…

Wenn ich den Inhalt aus einem Kombifeld lösche, wird bei mir nur das jeweils gebundene Feld gelöscht - da musst du noch irgendetwas anderes Merkwürdiges gemacht haben. (Meinen Code aus dem Ausgangsposting darfst du natürlich dann nicht verwenden - der löscht die gesamte Zeile …)

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard,

kannst du bitte nochmal die Syntax schicken?
Hab hier langsam keinen Durchblick mehr…
Wie gesagt, Tabelle heist „Softwarebestand“, Feld heist „Hersteller“, Kombi heist „ComboBox1“.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja, eigentlich musst du da gar nichts machen - kein VBA oder irgendetwas verwenden - insofern beschleicht mich das Gefühl, dass wir uns irgendwo im Grundsätzlichen missverstehen.

Ist es vielleicht eine andere Tabelle als die, an die das Formular gebunden ist, in der du das Feld löschen willst?

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Nein, ich bekomme die Hersteller der ComboBox1 aus der Tabelle „Hersteller“…
und nun?

MfG Sabine L.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Es geht ja nicht darum, wo die Daten herkommen, sondern

  • wo das Kombifeld aufgrund seiner Datenbindung seine Daten lässt
  • bzw. wo die Feldlöschung nun tatsächlich landen soll

Wenn das unterschiedliche Tabellen sind, müsstest du mit

 currentdb.Execute "UPDATE DeineTabelle SET DeinFeld = Null" & \_
 " WHERE Hersteller= '" & Me!Hersteller & "'"

oder ähnlich arbeiten. Wenn das nicht der Fall ist, verstehe ich das Problem nicht - dann löscht man einfach den Inhalt aus dem Kombifeld und die Änderung landet in der Tabelle.

Gruß aus dem Norden
Reinhard Kraasch

Juhu!

Damit hat es jetzt geklappt! Dankeschön Reinhard!

LG Sabine L.

Wenn das unterschiedliche Tabellen sind, müsstest du mit

currentdb.Execute „UPDATE DeineTabelle SET DeinFeld = Null“ &
_
" WHERE Hersteller= ‚" & Me!Hersteller & "‘"

oder ähnlich arbeiten. Wenn das nicht der Fall ist,
verstehe ich das Problem nicht - dann löscht man einfach den
Inhalt aus dem Kombifeld und die Änderung landet in der
Tabelle.

Gruß aus dem Norden
Reinhard Kraasch