Wert aus Textfeld als Standartwert in Tabelle setzen
Hallo Zusammen
Nach langem rumstöbern muss ich wohl diese Frage in einen Thread stellen.
Weiss jemand wie ich einen Wert aus einem Textfeld in eine Tabelle schreiben kann? Dies sollte danach der Standardwert für alle weiteren Datensätze sein..
Ich habe zudem einen Button mit einer Löschabfrage damit man evtl. einen neuen Standardwert einsetzen könnte.
Meine Tabelle heisst "Tabelle1" und das Feld heisst "Type"
Mein Textfeld im Formular heisst bsp. "std"
Danke für einen Tip
Antwort schreiben
Antwort 1 von lorf55 vom 12.11.2020, 11:11 Options
Hallo,
Einstellung für Tabellenfeld
CurrentDb.TableDefs("Tabelle1")("Type").DefaultValue =
Formulare!frmDeinFormular!std
Einstellung für Formularfeld
Formulare!frmRechnung!Zahlungsart!.DefaultValue = Formulare!frmDeinFormular!std ' oder z.B."""Bar"""
Der DefaultValue eines Formular-Steuerelements hat Vorrang vor der Einstellung in der Tabelle.
Gruß
lorf
Antwort 2 von Mike82 vom 12.11.2020, 11:35 Options
Hallo Lorf
Danke für deine Antwort!
Leider weiss ich nicht wohin mit dem Code;)
Ich versuchte den Code "Einstellung für Tabellenfeld" in meinen Tabellenentwurfs-Ansicht unter Standardwert einzufügen. Kriegte aber die Meldung "invalid use of . ! or ()"
Den Code des Formularfeldes habe ich angepasst mit meinen Bezeichnungen. Soll dieser unter Einstellungen des Textfeldes unter "Nach Aktualisieren" oder wo kommt der hin?
Merci nochmal, denke danach wirds schon gehn;)
Antwort 3 von lorf55 vom 12.11.2020, 12:26 Options
Hallo Mike,
der Code ist für Makros gedacht. Ein Makro richtest du dir z.B. ein, wenn du in einem Formular auf ein Ereignis reagierst. Die siehst du bei Rechtsklick auf das Symbol - Eigenschaften - Ereignis - (ein Ereignis auswählen) - (Klick in die Zeile) "Ereignisprozedur" auswählen - (Klick auf die 3Punkte).
"Einstellung für Formularfeld" setzt den Standardwert für das Formularfeld. Das passt vielleicht nur bedingt für dich.
Den Code "Einstellung für Tabellenfeld" kannst du am Einfachsten in einen Button in die Eigenschaft "Beim Klicken" unterbringen.
Gruß
lorf
Antwort 4 von Mike82 vom 12.11.2020, 13:27 Options
Ok hab das mal im Formular in einem Button unter "beim klicken" eingefügt. Button bringt keine Fehlermeldung aber schreibt den Wert nicht in die Tabelle. Die Bezeichnungen stimmen alle überein.
=CurrentDb.TableDefs("Tabelle1")("Type").[Standardwert]=Formulare!Formular1!std
std = textfeld
Tabelle1 = Tabelle
Type = Feldname in Tabelle (als Text deklariert)
Formular1= Name des Formulars
Bezeichnungen werden noch geändert sobalds funzt;)
Danke noch für deine Hilfe
Antwort 5 von Mike82 vom 12.11.2020, 15:55 Options
Was ist da falsch..habs nun über die Ereignisprozedur versucht
Private Sub Befehl11_Click()
CurrentDb.TableDefs("Tabelle1")("Type").DefaultValue = Formulare!Formular1!std
End Sub
Fehler: Objekt erforderlich
Antwort 6 von lorf55 vom 12.11.2020, 21:26 Options
Es muss Forms statt Formulare im Makro heissen. Das ist der eine Fehler. Der andere ist, dass ausreichend Anführungszeichen gesetzt sein müssen.
Bei Forms!Formular1!std wird ein Feld mit dem Namen gesucht, der in std angegeben ist.
Bei """ & Forms!Formular1!std & """ wird " & Forms!Formular1!std & " genauso als Standardwert eingetragen.
Bei """" & Forms!Formular1!std & """" wird der Inhalt von std (bei mir "pict00567.jpg" (genauso)) eingetragen.
Private Sub Befehl11_Click()
CurrentDb.TableDefs("Tabelle1")("Type").DefaultValue =
"""" & Forms!Formular1!std & """"
End Sub
Gruß
lorf
Antwort 7 von Mike82 vom 13.11.2020, 10:05 Options
Hi Lorf
Merci vielmal für deine Ausdauer! Klappt nun perfekt;)
Antwort 8 von lorf55 vom 13.11.2020, 11:07 Options
Toll !!!
Danke für die Rückmeldung.