Supportnet / Forum / Datenbanken
CHAOS?! Berechnet Felder, Replace, Eval und Aggregate wie Summe
Frage
Hallo All,
ich bin mal wieder an einem Punkt, wo ich den ganzen MS-Krempel hinschmeißen könnte, weil wieder mal nichts so funktioniert wie es soll.
Stellt euch mal folgendes Problem vor:
Ich habe ein Feld (Textfeld oder auch Memo) mit einer Formel, z.B. "2,45*5,43" (Kommas ganz wichtig), und möchte diese nun mit Eval(Replace)) berechnen. Kein Problem, eine Einzeilerfunktion... :)
Jetzt möchte ich über die berechneten Felder eine Summe bilden... keine Chance.
Ich habe alles versucht, Feldtypen angepasst usw... nichts!!!
Hatte jemand von euch schon mal solch ein Problem? Wenn ihr euch nichts darunter vorstellen könnt, ich habe eine Beispieldatenbank entworfen. Einfach mailen, dann schicke ich sie euch gleich zu.
Fette Grüße,
Raphael
Antwort 1 von Koebi
Grüezi Raphael
Wenn ich Dein Problem recht verstehe, habe ich auch für Dich die Standardantwort:
Schau einmal in der Access-FAQ von donkarl, Punkt 2.22
www.donkarl.com/
Gruss
Köbi
Wenn ich Dein Problem recht verstehe, habe ich auch für Dich die Standardantwort:
Schau einmal in der Access-FAQ von donkarl, Punkt 2.22
www.donkarl.com/
Gruss
Köbi
Antwort 2 von totalrel
Hi Köbi,
jo, dachte ich auch - ist aber nicht so... zumindest in meinem Fall!?
Ich habe Dir einfach mal unverblümt meine Beispiel-Datenbank geschickt. Wenn Du Zeit hast, dann schau doch einfach mal drüber.
:)
CU Raphael
P.S. Donkarls Tip kannte ich leider schon, dennoch Danke! Raphael
jo, dachte ich auch - ist aber nicht so... zumindest in meinem Fall!?
Ich habe Dir einfach mal unverblümt meine Beispiel-Datenbank geschickt. Wenn Du Zeit hast, dann schau doch einfach mal drüber.
:)
CU Raphael
P.S. Donkarls Tip kannte ich leider schon, dennoch Danke! Raphael
Antwort 3 von Marie
Hm, leider hast Du gar nicht hingeschrieben was Du für ein Problem hast, keine fehlermeldung, kein Code. Ich weiss nicht wieso Köbi zu wissen glaubte wo Dich der Schuh drückt, also ich jab's nicht verstanden weshalb Du Probleme hast und welche. Also falls Köbi Dir helfen kann muss ich das ja auch nicht. Aber der Sinn von einem Forum ist schon auch, dass andere mit demselben Problem hier Frage und Antwort nachlesen könnten. Also schreibt dann doch mal vielleicht was es war und woran es lag wenigstens.
Gruß Marie
Gruß Marie
Antwort 4 von totalrel
Hi Marie,
hi Köbi,
jetzt nochmal ganz von Vorne...
Ich habe in einem Formular Felder für eine Formel (siehe Datenbank "db97", Formular "frmFormelNotationPunkt", Feld "fldFormelText"), die ich eingebe, mit Eval(fldFormularText) zeilenweise berechnen will und schließlich unter den ganzen berechneten Formel die Summe benötige. Wenn ich eine Zahl in Acces eingebe, die ich mit Eval berechnen will, dann muß diese in Punkt-Notation (z.B. 5.34 oder 5.34*4.23) eingegeben werden. In Deutschland ist aber der Punkt als numerisches Zeichen für die 1.000er-Gruppierung vorgesehen und nicht wie in Amerika für die Kommastelle. In Deutschland werden jedoch Nachkommastellen mit einem Komma symbolisiert. Wenn ich in das Formelfeld (fldFormelText) eine Zahl mit der europäischen Notation angebe ("1.234,56"), dann erhalte ich bei einem Eval-Feld einen "#Fehler". Klar, der Access-Befehl Eval versteht nur Zahlen oder Formeln in der Notation "1,234.56". Das ganze mit der Punkt-Notation findes Du in dem Formular "frmFormelNotationPunkt". Schließlich Berechne ich die Summe über die ganzen berechneten Felder, mit Hilfe des Tricks den DONKARL beschrieben hat, d.h. Summe nicht über die berechneten Felder sonder über die ganzen Formeln (=Summe(Eval([fldFormelText])))
Jetzt gibt es die Möglichkeit, mit Hilfe des Replace-Befehls, in dem Formelfeld Zahlen in der europäischen Notation anzugeben und trotzdem zu berechnen. Die Formel kann jetzt kan normal und für uns natürlich als "1.234,56" oder "5,34*2,43" eingegeben werden. Bevor ich jetzt den Eval-Befehl über die Zeile nehme, ersetzte ich mit Replace jedes Komma durch einen Punkt. Die Berechung kann also durchgeführt werden. Versuche ich nun jedoch die Summe über die berechneten Felder zu machen (DONKARL's Trick included), dann erhalte ich immer einen "#Fehler"... WARUM?
Ich bin fast am verzweifeln, ich kann einfach nicht den Fehler oder meinen oder irgend einen anderen Fehler finden. Habe auch keine Idee mehr, ob es vielleicht am Datentype liegt usw... keine Chance.
Hoffe Ihr könnt mir jetzt folgen... BITTE HELFT MIR!
Grüße Raphael
hi Köbi,
jetzt nochmal ganz von Vorne...
Ich habe in einem Formular Felder für eine Formel (siehe Datenbank "db97", Formular "frmFormelNotationPunkt", Feld "fldFormelText"), die ich eingebe, mit Eval(fldFormularText) zeilenweise berechnen will und schließlich unter den ganzen berechneten Formel die Summe benötige. Wenn ich eine Zahl in Acces eingebe, die ich mit Eval berechnen will, dann muß diese in Punkt-Notation (z.B. 5.34 oder 5.34*4.23) eingegeben werden. In Deutschland ist aber der Punkt als numerisches Zeichen für die 1.000er-Gruppierung vorgesehen und nicht wie in Amerika für die Kommastelle. In Deutschland werden jedoch Nachkommastellen mit einem Komma symbolisiert. Wenn ich in das Formelfeld (fldFormelText) eine Zahl mit der europäischen Notation angebe ("1.234,56"), dann erhalte ich bei einem Eval-Feld einen "#Fehler". Klar, der Access-Befehl Eval versteht nur Zahlen oder Formeln in der Notation "1,234.56". Das ganze mit der Punkt-Notation findes Du in dem Formular "frmFormelNotationPunkt". Schließlich Berechne ich die Summe über die ganzen berechneten Felder, mit Hilfe des Tricks den DONKARL beschrieben hat, d.h. Summe nicht über die berechneten Felder sonder über die ganzen Formeln (=Summe(Eval([fldFormelText])))
Jetzt gibt es die Möglichkeit, mit Hilfe des Replace-Befehls, in dem Formelfeld Zahlen in der europäischen Notation anzugeben und trotzdem zu berechnen. Die Formel kann jetzt kan normal und für uns natürlich als "1.234,56" oder "5,34*2,43" eingegeben werden. Bevor ich jetzt den Eval-Befehl über die Zeile nehme, ersetzte ich mit Replace jedes Komma durch einen Punkt. Die Berechung kann also durchgeführt werden. Versuche ich nun jedoch die Summe über die berechneten Felder zu machen (DONKARL's Trick included), dann erhalte ich immer einen "#Fehler"... WARUM?
Ich bin fast am verzweifeln, ich kann einfach nicht den Fehler oder meinen oder irgend einen anderen Fehler finden. Habe auch keine Idee mehr, ob es vielleicht am Datentype liegt usw... keine Chance.
Hoffe Ihr könnt mir jetzt folgen... BITTE HELFT MIR!
Grüße Raphael
Antwort 5 von Marie
Pass auf, Karl postet in der Access NG. Stell doch Deine Frage mal, wenn du die Newsgroup nicht downloaden kannst über Google groups dort rein. Wenn Du dort noch erzählst, dass Du den Code von Karl genommen hast, dann hilft der Dir auch weiter.
Normal ist #Fehler kein schwerwiegender Fehler, kann irgendeine Kleinigkeit sein. Kopier dieses letzte Posting hier von Dir dort rein in microsoft.public.de.access und drängele nicht um eine Antwort :-)
Gruß Marie
Normal ist #Fehler kein schwerwiegender Fehler, kann irgendeine Kleinigkeit sein. Kopier dieses letzte Posting hier von Dir dort rein in microsoft.public.de.access und drängele nicht um eine Antwort :-)
Gruß Marie
Antwort 6 von totalrel
Ok Marie, mache ich... auch Dir nochmal vielen vielen Dank.
Richtig, drängeln finde ich auch ganz schlecht, sorry an alle, daß ich hier ein wenig den "Rock" anhatte... bin sonst keine Memme oder Mimose :)
Big THX,
greetings Raphael
Richtig, drängeln finde ich auch ganz schlecht, sorry an alle, daß ich hier ein wenig den "Rock" anhatte... bin sonst keine Memme oder Mimose :)
Big THX,
greetings Raphael

