Hallo zusammen,
habe in einen Ufo "Rechnungszeile" eine TextBox Name "txtMengear " , den Inhalt möchte ich aus den Hfo mit einer cmd leeren. Mein Code lautet :
Private Sub cmbAbsMengeloeschen_Click()
DoCmd.GoToControl "RegisterStr46"
DoCmd.GoToControl "Formular Rechnungszeile Unterformular"
DoCmd.RunCommand acCmdSelectAllRecords
Mengeab = ""
End Sub
Bei Ausführung: Fehlermeldung Variable nicht definiert
kann jemand helfen?
vielen Dank im voraus
hazel
Private Sub cmdAbsMengeloeschen_Click()
' Prüfe, ob das Unterformularsteuerelement (nicht das darin eingebettete Formular)
' auch wirklich so heißt, wie unten angegeben.
Me("Formular Rechnungszeile Unterformular").Form.Mengeab = Null
End Sub
PS: Leerzeichen in Objektnamen sind grausam.
Ja, das stimmt, stammt noch aus den anfängen, traue mich jetzt erst an VBA ran.
Der Code funktioniert jetzt, Vielen Dank für die schnelle Antwort
Gruss hazel
ich war wohl etwas zu schnell, also ich wollte den Inhalt dauerhaft löschen (leeren war in der Frage wohl falsch). Als ich es ausprobierte war die TextBox leer, aber nach neuen Aufruf, war der Inhalt wieder da.
Gruss
hazel
Hallo,
dann musst du wohl noch etwas weiter ausholen und die näheren Umstände beschreiben, bspw. woher der Inhalt des Textfeldes kommt. Ist das Unterformular an eine Tabelle oder Abfrage gebunden?
Hallo,
die TextBox kommt aus einer Tabelle, das Ufo ist mit dem Hfo über eine RechnungsNr verknüpft.
Wenn ich die Entf-Taste im Textfeld betätige, ist der Inhalt dauerhaft gelöscht.
Mfg
Hazel
Bei einem gebundenen Textfeld sollte auch die Löschung per VBA dauerhaft wirksam sein.
Es sei denn, die Zuweisung verstößt gegen Gültigkeitsregeln. Wie ist das Tabellenfeld denn definiert?
Hallo MaggieMay,
das Textfeld ist Zahl, Double und Allgemeine Zahl.
Im Formular ist es Gebunden. Ich hatte aber die Datensätze alle markiert, sodass sie alle dann gelöscht waren, aber bei erneuten Aufruf wieder da. Wenn ich die SelectAllRecords rausnehme, wird der Feldinhalt im 1.Datensatz dauerhaft gelöscht, aber ich möchte alle Feldinhalte löschen. Gibt es da eine Lösung.
hier nochmal der Code:
Private Sub cmbAbsMengeloeschen_Click()
'DoCmd.GoToControl "RegisterStr46"
'DoCmd.RunCommand acCmdSelectAllRecords
Me("Formular Rechnungszeile Unterformular").Form.Mengeab = Null
End Sub
Vielen Dank und Liebe Grüsse
Um das Feld in allen Datensätzen zu löschen, kannst du eine Aktualisierungsabfrage einsetzen.
Vielen Dank,
werde mich morgen weiter mit auseinandersetzen, muss jetzt leider los.
Vielen Dank schon mal
und Viele Grüsse
hazel
Hallo MaggieMay,
OK, werde es so machen,
Vielen Dank
Hazel