PDA

Vollständige Version anzeigen : Berechnung in Abfrage


DefJamz
01.10.2002, 13:19
Hallo leutz,

hab mal wieder ein problem ich muss eine etwas größere berechnung in einer abfrage machen, aber ich krieg immer irgendwelche anderen fehlermeldungen kann mir von euch vielleicht jemand helfen und zwar ist das folgende berechnung:
100 x (C_HSD_EK x 1,1% / C_VK1 x 100)
die sql abfrage sieht bis jetzt so aus:
SELECT CDDART.C_ANR, CDDART.C_AKZ, CDDART.C_VK1, CDDART.C_HSD_EK
FROM CDDART;

kann mir jemand sagen wie ich die berechnung in die abfrage rein kriege,
gruß und danke defjamz

A.S.
01.10.2002, 13:23
SELECT CDDART.C_ANR, CDDART.C_AKZ, CDDART.C_VK1, CDDART.C_HSD_EK, (100 * ((CDDART.C_HSD_ED * 0,011) / (CDDART.C_VK1 * 100)) As Berechnung
FROM CDDART;

sollte Hinkommen. (Mangels Möglichkeit nicht getestet).

Gruß

Arno

DefJamz
01.10.2002, 16:01
musst noch paar sachen ändern, aber hat dann geklappt, vielen dank
hab aber noch ne frage, ich hab ein feld in einer tabelle das 6stellen hat und ich würde gerne in diesem feld nach der 3 stelle ein "-" einfügen kann ich das per aktualisierungsabfrage machen.
gruß und danke im voraus
defjamz

YahooGreg
01.10.2002, 16:23
Hi DefJamz,
das geht!

Wenn dein Feld in der Tabelle als "Text" definiert ist und immer 6 stellen Lang ist, kannst du dies mit einer Aktualisierungsabfrage erledigen:

UPDATE Tabelle SET Tabelle.Feld = Left([Feld],3) & "-" & Right([Feld],3);

Zum Testen würde ich dir empfehlen, das Ergebnis in ein neues Feld zu schreiben, es könnt ja was schiefgehen, dann sind deine ursprünglichen Daten futsch! Wenns funzt, kannst du ja das Feld dann nochmals direkt überschreiben.

ciao
Gregor

DefJamz
01.10.2002, 16:40
hey
erstmal danke für deine schnelle hilfe, wenn ich die abfrage so ausführe, dann löscht er mir einfach alles aus dem feld!! das sit doch komisch oder... weißt wo dran das liegt, also format ist text...
wo dran liegt das??
vielen dank im voraus und gruß
defjamz

YahooGreg
01.10.2002, 16:48
Das hat ich befürchtet, deshalb mein Vorschlag, das Ergebnis in ein neues Feld zu schreiben!!!

Wenn du mir sagst, wie deine Tabelle heißt und wie das Feld innerhalb dieser Tabelle lautet, passe ich dir die Abfrage entsprechend an.

PS: Das Textfeld muß auch mit min. 7 Stellen in der Tabelle definiert sein.

2-ter Versuch
Gregor

DefJamz
01.10.2002, 16:54
Tabelle heißt temp_GTE91
Feld heißt HSDITEM

ich hatte es so gemacht:
UPDATE temp_GTE91 SET temp_GTE91.HSDITEM = "Left([Feld],3) & "-" & Right([Feld],4)";
sorry die feldnamen waren alle doch 7stellig, deswegen habe ich da ne 4 genommen anstatt ne 3, ist doch richtig oder?
ja das feld unterstütz bis zu 8 zeichen

danke und gruß

YahooGreg
01.10.2002, 17:00
Versuchs mal hiermit:

UPDATE temp_GTE91 SET temp_GTE91.HSDITEM = "Left([HSDITEM],3) & "-" & Right([HSDITEM],4)";

[Feld] war Sch... Hier muß der eigentliche Feldname rein [HSDITEM].

Ich hoffe du hast die ursprünglichen Daten aus dem Feld "[HSDITEM}" noch, wenn nicht, hast du ein PROBLEM!

Das mit den 7 stellen war ultrakorrekt!

Bitte um schnelles Feedback, ich will HHEEEIIIIMMMM (nach Hause)
Gregor

DefJamz
01.10.2002, 17:02
per copy und paste mal eingehackt,
aber immer noch gleiches ergebnis, er löscht dann alle daten in den felder...
hmmm, sonst noch ne idee??
danke für deine hilfe

DefJamz
01.10.2002, 17:03
yo alder mach dich ruhig nach hause... is ja acuh net so dringend, mach den nämlich auch feierabend... also morgen ist auch noch ein tag *gg*
nochmals danke für deine hilfe
thanks

YahooGreg
02.10.2002, 10:03
Hi DefJamz,

bin wieder online. Hatte gestern abend ein tolles a-ha Erlebnis (in der Festhalle in Frankfurt).
Dabei ist mir auch ein Bug in meiner Anweisung aufgefallen. Ich habe dir ein paar Anführungszeichen zuviel untergejubelt, hier nochmal eine Version die tun tut:

UPDATE temp_GTE91 SET temp_GTE91.HSDITEM = Left([HSDITEM],3) & "-" & Right([HSDITEM],4);

Sorry, war keine Absicht (Junger!)

DefJamz
02.10.2002, 10:32
hey yahooGreg,

ja jetzt funzt es , vielen dank, finde ich ja voll locker von dir das du an mich gedacht hast....
naja jetzt klappt ja alles, sollte ich mal wieder irgendwelche probs haben dann weiß ich ja jetzt an wen ich mich wenden muß... *gg*

jo greetz defjamz