VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Alle anderen Themen ...

Moderator: ModerationP

VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Beitragvon muhmaff » 23. Aug 2015, 10:32

Hallo zusammen,

da VB6 weitestgehend identisch mit VBA ist, versuche ich hier mal mein Glück. :-)

Ich habe ca. 50 Textboxen welcher Daten aus einer Access-DB liest. Die Daten kommen ursprünglich aus Excel und sind mit "19.250,50" formatiert. Meine txt habe ich genauso formatiert (Format().value "##,##0.00 €")

Alle 10 txt kommt ein Summenfeld, also habe ich die Summen der txt zusammengeführt. Ich arbeite mit Index, was vieles einfacher machte.

Code: Alles auswählen
Private Sub txt_rechnung_LostFocus(Index As Integer)
    txt_rechnung(9).Text = CCur(txt_rechnung(2).Text) + CCur(txt_rechnung(3).Text) + CCur(txt_rechnung(8).Text)
End Sub


i(9) = Summe aus 2+3+8 / 23.500,50 = 500,25 + 3.000 + 20.000,25

Sofern die DB bereits Summen enthält funktioniert es. D.h. die formatierten Werte werden sowohl erkannt, als auch berechnet: z.B. Werte ändern 500,25 in 2250,75 funktioniert korrekt.

Enthält meine DB aber keine Werte (also "0") und mache einen Eintrag in einer leeren Zelle erscheint ein Laufzeitfehler der mir o.g. Code markiert.
Mit Val statt CCur werden die Werte berechnet, aber durch "."/"," falsch addiert.

Wie bekomme ich nun das richtige Ergebnis, auch, wenn noch keine Daten vorhanden sind?
Es ist der Sinn des Programms Werte an dieser Stelle einzutragen.

Gruß,
muhmaff
muhmaff
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 90
Registriert: 26. Mai 2010, 09:53

Re: VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Beitragvon maninweb » 23. Aug 2015, 11:31

Hallo,

für Quick and Dirty kannst Du CCur("0"& txt_rechnung(2).Text) nehmen. Besser wäre es, wenn Du z.B. die Länge des Textfelder prüfst
und/oder über eine Like Abfrage (x Like y in VBA, siehe VBA-Hilfe) noch validierst.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2021
Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Benutzeravatar
maninweb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 11117
Registriert: 10. Mai 2004, 14:22
Wohnort: Aachen

Re: VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Beitragvon muhmaff » 23. Aug 2015, 12:02

Hallo maniweb,

klappt. Schön.

Da ich kein Programmierer bin, reicht mir erstmal Quick&Dirty... ;-)

Wenn ich das richtig verstehe, kommt der Fehler also, da noch "keine Werte" in den anderen txt3 + txt8 vorhanden sind.

Mir würde zwar (if) txt_rechnung(9).SelLength > 0 (then) einfallen, aber nicht wie ich das in die Addition mit einbeziehe. :doubt:

Danke jedenfalls.
muhmaff
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 90
Registriert: 26. Mai 2010, 09:53

Re: VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Beitragvon Korsa28 » 28. Aug 2015, 12:26

für Quick and Dirty kannst Du CCur("0"& txt_rechnung(2).Text) nehmen
Korsa28
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6
Registriert: 28. Aug 2015, 12:24

Re: VB6 (SP6) - Laufzeitfehler 13 (Formatierung CCur)

Beitragvon steve1da » 28. Aug 2015, 13:26

Hola,

für Quick and Dirty kannst Du CCur("0"& txt_rechnung(2).Text) nehmen


Copy/Paste scheinst du zu beherrschen.

Gruß,
steve1da
Benutzeravatar
steve1da
Moderator
 
Beiträge: 30133
Registriert: 24. Sep 2003, 10:54


Zurück zu Offtopic (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste