Wert einens ungebundenen Textfeldes als neuer Standartwer für das selbe Textfeld setzen
Karl Donaubauer
Gesendet: 19.09.19 13:26
Betreff: RE: Wert einens ungebundenen Textfeldes als neuer Standartwer für das selbe Textfeld setzen



Elite Veteran

Beiträge: 749
50010010025
Ort: Wien
Hallo!

Remigio
...
Also komme ich nicht drumrum den wert in einer tabelle zu speichern.
Hm.. das war genau das was ich eben vermeiden wollte.
Kann ich mit vba eine tabelle erstellen, den wert speichern, dann den wert als Standard dem Feld zuweisen und dann die Tabelle wieder löschen?
Wenn ja, wie würde der VBA code ungefähr aussehen?
...

Dann würde ich statt einer Tabelle eher ein DAO-Property verwenden. Nehmen wir an, dein Steuerelement=Datumstextfeld heißt "Foo". Das erste Schnippsel hier wäre der Code im Ereignis "Nach Aktualisierung" von Foo, das zweite "Beim Öffnen" des Formulares. Es sollte funktionieren, wenn du das ins Formularmodul kopierst und "Foo" überall durch den echten Namen ersetzt.

Private Sub Foo_AfterUpdate()

On Error GoTo myError

Dim db As DAO.Database
Dim doc As DAO.Document
Dim prp As DAO.Property

Set db = CurrentDb

Set doc = db.Containers("Forms").Documents(Me.Name)

doc.Properties!prpDefaultDate = Me!Foo


myExit:
Exit Sub

myError:
Select Case Err.Number
Case 3270
Set prp = doc.CreateProperty("prpDefaultDate", dbDate, Me!Foo)
doc.Properties.Append prp
Resume Next
Case Else
MsgBox "Ausnahme Nr. " & Err.Number & ". " & Err.Description
Resume myExit
Resume
End Select

End Sub

Private Sub Form_Open(Cancel As Integer)

On Error GoTo myError

Me!Foo = CurrentDb.Containers("Forms").Documents(Me.Name).Properties!prpDefaultDate


myExit:
Exit Sub

myError:
Select Case Err.Number
Case 3270
Resume myExit
Case Else
MsgBox "Ausnahme Nr. " & Err.Number & ". " & Err.Description
Resume myExit
Resume
End Select

End Sub

-----
Servus
Karl
*********
Internationale Access-Konferenz: http://AccessDevCon.com
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page