Neuigkeiten:

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

Mobiles Hauptmenü

Unterformular Textbox Inhalt leeren vom Hauptformular

Begonnen von hazel, Juli 18, 2016, 12:05:30

⏪ vorheriges - nächstes ⏩

hazel

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 

Lachtaube

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.
Grüße von der (⌒▽⌒)

hazel

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

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

MaggieMay

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?
Freundliche Grüße
MaggieMay

hazel

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

MaggieMay

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?
Freundliche Grüße
MaggieMay

hazel

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

MaggieMay

Um das Feld in allen Datensätzen zu löschen, kannst du eine Aktualisierungsabfrage einsetzen.
Freundliche Grüße
MaggieMay

hazel

Vielen Dank, 
werde mich morgen weiter mit auseinandersetzen, muss jetzt leider los.

Vielen Dank schon mal
und Viele Grüsse
hazel

hazel

Hallo MaggieMay,
OK, werde es so machen,

Vielen Dank
Hazel