Hallo Franz,
Ja genau, aber damit BEGINNT nichts , damit hört’s auf…
Sorry Sir, das ist leider falsch denn natürlich „beginnt“ es da.
Von rechts nach links gesehen beginnt beim 6ten
Zeichen von rechts die Zahl und endet halt x Zeichen
später beim Leerzeichen vor der zahl bzw. eins rechts daneben.
Auch wenn die Zeichen von Rechts nach Links gezählt werden,
muss die eigentliche Zahl von Links nach Rechts interpretiert
werden.
Das stimmt. Das ändert aber rein gar nix dran daß du in deinem
Code von rechts nach links iws „zälhst“
strText =Mid(strText,Instrrev(strText," ")+1)
Ja… Aber wo beginnt die erste Ziffer der Zahl? Die Zahl
(Ziffernanzahl) ist zudem jeweils unterschiedlich lang…
? Bei Mid(strText,Instrrev(strText," ")+1)
Ich glaube du hast den Code nicht getestet, ich auch nicht,
Stimmt, aber das kann ja der TS übernehmen, was eben einen
positiven Lerneffekt hat und der Code an sich besser (oder
überhaupt) verstanden wird.
UP kenn ich inzwischen, was issn nun wieder TS?
Trendsetter? Transsexueller? Tausendsassa? Tiefstapler?
man den Rückgabewert einer Funktion als Double deklariert sie
aber einen String zurückliefert.
Wenn Du die Str()- Funktion
ansprichst, die vorher im Code war, dann war die hier
unzweckmäßig, aber nicht um einen numerischen Wert in einen
String zu konvertieren, sondern um das Komma in der
extrahierten Ziffernfolge zu einen Dezimalpunkt zu ändern.
Eine solche Funktion ist aber hier fehl am Platz , es muss
eher eine Typ-Konvertierung von String nach Double passieren,
was jetzt durch die interne Typ-Konvertierung bei der
Zuweisung der Ziffernfolge an die Funktion von „allein“
passiert.
Ja, Str(…) fand ich zumindest seltsam für den Double-Rückgabewert.
„seltsam“ bedeutet für mich ich muß das testen um genaueres zu sagen.
Naja, heute morgen habe ich deinen ersten Code getestet um zu
schauen wie das mit Str/Double so funktionert.
Naja, getestet mit Excel, prompt kam die Meldung daß Win Excel
beenden muß Im Code fehlte das von mir genannte Leerzeichen,
ich vermute das war der Grund
Zum Komma, ja ich weiß wenn man im Vba-Code Zahlen reinschreibt
muß man den Punkt als Trennzeichen benutzen.
Andererseits „weiß“ Excel-Vba daß 3,14 in einer Zelle eine Zahl ist.
Ohne jedwede Ahnung von Access wirds doch da genauso sein.
Von daher sehe ich erstmal keinen Grund da Komma in Punkt zu
wandeln. „erstmal“=ungetestet.
SQL kenn ich mich nich aus.
Macht gar nichts, hier geht’s um eine VBA-Funktion, die
lediglich in einer Abfrage aufgerufen werden kann.
Aus reiner Neugier, "Abfrage=SQL-Abfrage?
In Zellen von Access kann man deine Funktion nicht anwenden?
So z.B.
In Zelle A1 steht
blabla 1,5 Std.
dann in einer anderen Zelle
=DeineFunktion(A1)
?
Gruß
Reinhard