Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Löschen alles Datensätze im Unterformular

Begonnen von chappi, Januar 21, 2018, 15:35:38

⏪ vorheriges - nächstes ⏩

chappi

Hallo,

ich hoffe mir kann mal kurz jemand helfen.
Ich habe in einem Formular Produktdaten und ein Unterformular wo ich Serienummern erstell.
Die Tabellen heißen tabPro und tabSer und sind verküpft über Fa und IDFA.
Zur Zeit habe ich eine Schaltfläche Löschen im Unterformular mit folgendem Code:
CurrentDb.Execute "DELETE * FROM tabSer"
Das hat den nachteil das die ganze Tabelle gelöscht wird.
Mein zweiter ansatz sieht so aus
CurrentDb.Execute "DELETE * FROM tabSer WHERE [IDFA] = " & Forms!formPro![FA]
Es sollen nur diese Seriennummer gelöscht werden die mit der FA verknüpft sind.
leider funktioniert es nicht, finde aber den fehler nicht.

Danke

MzKlMu

Hallo,
welcher Datentyp ist Fa bzw. IDFA ?
Befindet sich FA auf dem Ufo und wo ist der Button zum Löschen ?
Willst Du einen Datensatz im Unterformular löschen ?
Gruß Klaus

chappi

Hallo Klaus,
beide Datentypen sind Text.
Fa ist im Hauptformular und IDFA im Unterformular.
Der Button Löschen ist im Unterformular.
Ich möchte alle Datensätze auf einmal Löschen da dohrt offt viele Seriennummern stehen,
die durch eine Schleife erzeugt werden.

Beaker s.a.

Hallo,
Zitatbeide Datentypen sind Text.
Eher suboptimal für ID-Felder.
Ansonsten
CurrentDb.Execute "DELETE * FROM tabSer WHERE [IDFA] = '" & Forms!formPro![FA] & "'"
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

chappi

Danke so hat es funkitoniert.
Ich weiß das es suboptimal ist, es ist eine altlast dich ich noch nicht behoben habe.

MzKlMu

Hallo,
wenn IDFA und Button im Ufo sind geht es auch so:
CurrentDb.Execute "DELETE * FROM tabSer WHERE [IDFA] = '" & Me.[IDFA] & "'", dbFailOnError
Habe noch ein dbFailOnError angehängt das für ordentliche Fehlermeldungen sorgt wenn etwas schief läuft.
Gruß Klaus