Neuigkeiten:

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

Mobiles Hauptmenü

Kontrollkästchen verursacht Laufzeitfehler 2112

Begonnen von Dutch_OnE, März 04, 2019, 13:13:08

⏪ vorheriges - nächstes ⏩

Dutch_OnE

Hallo,
ich habe ein KK und möchte, dass bei Änderung der Wert aus einem Textfeld in ein anderes geschrieben wird. Ich habe es sowohl mit dem Ereignis "Beim Klicken", als auch "Nach Aktualisierung" versucht. Er wirft den Laufzeitfehler und danach aktualisiert er das Textfeld.

Das selbe Ereignis an ein Textfeld gebunden, funktioniert einwandfrei.
kkAnfahrt ist der Name vom Kästchen. Hat jemand eine Idee was ich falsch mache?

Hier der Quellcode meiner Änderung:

Dim Klickbox As String
Klickbox = Forms![Tätigkeiten].Form!kkAnfahrt

'Anfahrtspreis aus Tabelle Kunden
Dim Anfahrtspreis As String
Me!tfAnfahrtspreis.SetFocus
Anfahrtspreis = Me!tfAnfahrtspreis.Text

'Anfahrtkosten aus Tabelle Tätigkeiten
Dim Anfahrtkosten As String
Me!tfAnfahrtkosten.SetFocus
Anfahrtkosten = Me!tfAnfahrtkosten.Text

If Klickbox <> 0 Then
    Me!tfAnfahrtkosten.SetFocus
    Me!tfAnfahrtkosten.Text = Anfahrtspreis
Else
    Me!tfAnfahrtkosten.SetFocus
    Me!tfAnfahrtkosten.Text = 0
End If

ebs17

Die Text-Eigtenschaft dürfte nur beim Change-Ereignis verfügbar sein.

Preis und Kosten als String? Über welches Zusatzstudium kommt man zu so etwas?
Mit freundlichem Glück Auf!

Eberhard

PhilS

Zitat von: ebs17 am März 04, 2019, 14:02:14
Die Text-Eigtenschaft dürfte nur beim Change-Ereignis verfügbar sein.
I.d.R. erreicht man das gewünschte Ergebnis, wenn man stattdessen die .Value-Eigenschaft verwendet. Damit wird das SetFocus auf die Textbox unnötig. - Ich vermute damit hängt der Fehler zusammen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Dutch_OnE

Kurzer Hintergrund:
Ich habe die Tab. Kunden wo der Anfahrtspreis als Währung liegt. Ich habe im Formular ein Textfeld tfAnfahrtspreis, wo der Wert angezeigt wird. Nun habe ich auch in der Tabelle Tätigkeiten ein Feld Anfahrtskosten als Währung und im Formular ein TF namens tfanfahrtskosten.

Wenn ich das KK setze, soll der Werte aus dem einem a...kosten in a...preis kopiert werden.
Die Tabelle Tätgikeiten.a...kosten ist an das tfa...kosten gebunden. So sollte dann das Feld in die Tabelle übertragen werden.


Nun kommt aber leider immer der Laufzeitfehler. Mit Stundenlohn mache ich genau die gleich Prozedur an einem Textfeld gebunden. hier gibt es keinen Laufzeitfehler

Dutch_OnE

Vielen Dank.

Ich habe die beiden Variablen als "single gedimt".
Dann die Textfelder statt Text mit Value angesprochen.

SetFocus wird auch nicht mehr benötigt.
:)


MzKlMu

Hallo,
Single ist wegen unzureichender Genauigkeit (Fließkomma) ungeeignet.
Nimm lieber Double und und für das Währungsfeld Currency.
Gruß Klaus