PDA

Vollständige Version anzeigen : Abfragespezialisten aufgepasst!


jojo2587
14.08.2001, 09:57
hi

Ich hab ein kleines Problem mit einer Abfrage.

Meine tabelle heißt FeDaTab
ich brauche die Spalten (Artikelnr, Dime, Aime, a2me, feme)
was da drinnen steht ist ja jetzt egal

ok, meine frage lautet:
wie muß ich meine Abfrage gestalten (Welche Art von Abfrage weiß ich auch nicht genau) um dieses ergebnis zu erhalten.

Dime - (A1me + A2me + Feme) =[Ergebnis]

von einer Artikelnummer.

Dieses Ergebnis soll er jetzt in ein Feld in einem Formular schreiben, nämlich

forms!frmarbeitsmaske!txt1POL

Es wäre super wenn mir jemand helfen könnte! danke im voraus

jojo

Hütti
14.08.2001, 10:03
wenn ich das richtig verstanden habe, willst du zu einem artikel deine formel berechnen. demnach kommt ein artikel mehrfach vor.
ich würde eine auswahlabrage nehmen mit einer Gruppierung auf dem feld artikel. dann erzeugst du ein weiteres feld (Ausdruck) und berechnest deine formel:
summe(dime)-(summe(a1me)+summe(a2me)+summe(feme)).
auf die abfrage kannst du dann ein formular aufsetzen.
sollte dem formular eine andere abfrage/tab zu grunde liegen solltest du eine tab-erstellungs oder anfügeabfrage benutzen, um eine tab. zu erzeugen, die du dann verknüpfst.

hoffe dir geholfen zu haben

jojo2587
14.08.2001, 10:07
danke, aber soweit bin ich schon mit funktion summe, aber kann ich nicht in der Abfrage meine Funktion berechnen und das Ergebnis erst dann in das Formular schreiben,dass muß doch irgenwie gehen.

jojo

BodoM
14.08.2001, 12:35
Hallo jojo,

erstelle in Deiner Abfrage ein Ausdrucksfeld und trage in "Feld" folgendes ein:
Ergebnis:Dime-(A1me...)

Im Formular setzt Du für das Feld txt1Pol den Steuerelementinhalt auf Ergebnis.

Gruß Bodo

JOJO2587
14.08.2001, 12:40
DANKE ICH VERSUCHS'S!

JOJO

BodoM
14.08.2001, 12:44
Hallo jojo,

was hat der Server nur aus meinem Text gemacht?

Hinter Ergebnis kommt ein Doppelpunkt und dann die Formel, aber ohne Icon


Anmerkung: Durch Deaktivierung der grafischen Smilies korrigiert, jinx 05.12.2003

JOJO2587
14.08.2001, 12:50
BEI MIR KOMMT IMMER EINE FEHLERMELDUNG "OPERATOR FALSCH GESETZT"

SCHREIB MIR BITTE GENAU WIE ICH DAS EINGEBEN SOLL MIT KLAMMERN UND SO; BITTE BITTE
ICH GLAUBE DAS KÖNNTE SO FUNKTIONIEREN; ES SIEHT ZUMINDEST GUT AUS.

DANKE

2587
14.08.2001, 13:07
jetzt stimmt das ganze ohne fehlermeldung doch er fragt mich nach Paramtern bei der Funktion, er soll doch die Werte aus der Tabelle nehmen. Kann wer helfen?

jojo

BodoM
14.08.2001, 13:13
Achte auf den : (Doppelpunkt) und gebe kein = (Gleichheitszeichen) ein.

JOJO2587
14.08.2001, 13:20
ES GEHT NICHT WEIL ER NICHT VERSTEHT DAS ER DIE DATEN AUS DER TABELLE NEHMEN MUSS; ER FRAGT IMMER NACH DEM PARAMETER (DASS KENNST DU JA SICHER; WO MAN DIE PARAMETER EINGEBEN KANN)

JOJO

2587
14.08.2001, 13:39
ich hab es hinbekommen, aber jetzt möchte ich den Wert in die Tabelle schreiben mit einer Aktualisierungsabfrage aber in der kann man keine funktionen einfügen, kann jemand helfen

jojo

BodoM
14.08.2001, 14:27
Hallo jojo,

den Wert in die Tabelle schreiben ist keine gute Idee. Das führt auf jeden Fall zu Problemen (Datenredundanz). Verwende überall die Orginaldaten.

Gruß Bodo

JOJO2587
14.08.2001, 14:36
ABER ICH MUSS DOCH DEN WERT SPEICHERN; WAS INTERESSIERT MICH DIE REDUNDANZ; ABER WENN DU EINEN VORSCHLAG HAST BIN ICH DANKBAR;

ALSO BITTE ICH MUß EINFACH NUR DEN ERRECHNETEN WERT DER ABFRAGE IN EINE TABELLE SPEICHERN ODER ZUMINDEST IN EIN FORMULAR SCHREIBEN; NUR WIE BITTE SEHR; DANKE FÜR EURE HILFE

jojo2587
14.08.2001, 15:04
ich habe noch immer keine idee wie ich das machen soll, also bitte ich wäre euch sehr dankbar

Scorefun
14.08.2001, 15:19
Nimm mal folgendes Feld in Deine Abfrage auf:

ERGEBNIS: [Dime] - ([A1me] + [A2me] + [Feme])

Das Feld in Deinem Formular bekommt als
Datensatzherkunft ERGEBNIS
wie bereits von anderen Teilnehmern hier beschrieben.

Müsste funzen.
Wahrscheinlich hast Du nur ein paar eckige Klammern vergessen.

HTH

BodoM
16.08.2001, 10:53
Hallo,

wenn Du das machen würdest, was ich am 14.8. 13:35 geschrieben habe, würde es auch funktionieren.
Verabschiede Dich endlich davon, einen berechneten Wert in der Tabelle zu speichern.

Gruß Bodo

jojo2587
16.08.2001, 12:40
Also jungs, in meinem formular habe ich schon eine Andere Tabelle als Herunftstyp und wenn ich eine Abfrage mache und mir das Ergebnis aus der Berechnung dazu holen möchte, dann ist mein Fromular in der Seitenansicht auf einmal leer, kann mir das jemand erklären.

jojo

maba
16.08.2001, 12:46
mensch leits!

erweitere doch einfach deinen herkunftstyp!!

Du erweiterst deine Abfrage um die Artikelnummer! So dan gehst du in dei formular unter Datenherkunft auf dei 3 punktchen.
Dann lässt du dir Die Abfrage und deine
Tabelle anzeigen erstellst ne Beziehung zu den Artikelnummern! dan klickerst du deine gewünschten spalten somit auch deine spalte Ergebniss an und speicherst das ganze! so nun kannst du in deinem textfeld unter Steuerelementinhalt das Ergniss auswählen!

und siehe da!

jojo2587
16.08.2001, 13:20
Danke ich probiere es aus
jojo

jojo2587
16.08.2001, 13:30
hi, funzt ned, ich kann mir das Formular nicht anschauen weil es mir einfach meine Felder nicht anzeigt (Seitenansicht), aber nur wenn ich meine Abfrage in die Datenherkunft des Formulars reinschreibe. sonst sehe ich alles ganz normal, so ein Problem habe ich nocht nie gehabt, kann jemand helfen.

jojo

maba
16.08.2001, 13:37
poste mal deine Datenherkunft!

und was für eine Formular ansicht du hast
Datenblatt, Endlosformular,Einzelnes Formular!?

Was macht den das formular genau erkläre mol?

maba
16.08.2001, 13:44
wie hast du denn eigentlich deine berechnung gemacht!
Poste doch mal den SQL-String! mit dazu

jojo2587
16.08.2001, 14:09
Ok, hier bitte sehr

Meine Datenherkunft im Formular:

SELECT tblartikelstammprobe.*, QURLAGERBESTANDPROBE.* FROM tblartikelstammprobe INNER JOIN QURLAGERBESTANDPROBE ON tblartikelstammprobe.Artikelnr = QURLAGERBESTANDPROBE.ARTIKEL;


SQL Berechnung in Auswahlabfrabge (QURLAGERBESTANDPROBE):

SELECT FABEPRTAB.ARTIKEL, Sum(FABEPRTAB.B_LAGER_MENGE) AS [Summe von B_LAGER_MENGE], Sum(FABEPRTAB.B_RES_MENGE) AS [Summe von B_RES_MENGE], Sum([B_LAGER_MENGE]-[B_RES_MENGE]) AS ERGEBNIS
FROM FABEPRTAB
GROUP BY FABEPRTAB.ARTIKEL
HAVING (((FABEPRTAB.ARTIKEL)=[forms]![frmarbeitsmaske]![txt1PLB]));

maba
16.08.2001, 14:20
nachdem du die abfrage in die Datensatzherkunft genommen hast, hast du deine Felder nochmal aktualisiert. Sprich einfach nochmal den steuerelemntinhalt ausgewählt?

Stema
16.08.2001, 14:23
Hallo Jojo,

ein Formular ist genau dann "leer", wenn die Abfrage in der Datenherkunft keinen Datensatz zurückliefert, also leer ist.

Du hast somit ein Abfrage-Problem, und nichts anderes.

jojo2587
16.08.2001, 14:30
ich glaube ihr versteht nicht ganz, ich sehe nicht mal meine Felder, wenn in der Abfrage kein Datensatz verhanden wäre müßte er wenigstens meine Bezeichnungsfelder anzeigen tut er nicht, einfach nur weiß, ausser der kopfzeile die ist in Ordnung.

Stema
16.08.2001, 14:32
Hallo Jojo,

genau das tut er dann nicht!

jojo2587
16.08.2001, 14:35
Außerdem funktioniert meine Abfrage, das Ergebnis ist richtig und wird angezeigt, er soll einfach das Ergebnis in dem dafürvorgesehenen Feld (txt1PLB) hineinschreiben mehr will ich nicht!
Kann ich das nicht schon in der Abfrage festlegen, dass er den Wert in eine Tabelle schreibt oder in ein Formular, mit einer Aktualisierungsabfrage geht es nicht. Warum weiß ich auch nicht, irgenwie kann man darin nicht rechnen sprich keine Funktionen auswählen.

danke für eure Bemühungen

jojo

maba
16.08.2001, 14:52
aj natürlich!
setzte deine Formel in einer auswahlabfrage zusammen!
Dann mache eine aktualsierungsabfrage daraus
und schreibe die Formel in das feld das du aktualsieren möchstest!!

jojo2587
16.08.2001, 14:53
ok ich versuchs
jojo