Zwei Summen dividieren

Hallo zusammen,

ich habe ein, wie ich hoffe, recht einfaches Problem. Und zar habe ich folgende SELECT-Anweisungen, die beide funktionieren:

Me.Honorarkräfteanteil.RowSource =
"Select Sum (Stundenzahl/Stundenzahl) FROM Stundenzuweisung"

und

Me.Honorarkräfteanteil.RowSource =
"SELECT SUM (Stundenzahl) FROM Stundenzuweisung INNER JOIN 
arbeitnehmer ON (arbeitnehmer.Nachname = 
stundenzuweisung.arbeitnehmer\_nachname) WHERE 
Unterrichtsanforderung\_Maßnahme\_Bezeichnung ='" &
Me.Maßnahme & "'" & " AND honorarkraft = -1"

Frage: Wie kann ich (als rowsource) die beiden durcheinander teilen (also b/a)? Oder gibt es sogar eine elegantere Möglichkeit das zu tun?

Mit Dank im Voraus,

Anwar

Hallo Anwar,

Frage: Wie kann ich (als rowsource) die beiden durcheinander
teilen (also b/a)?

sorry, ich kann nicht nachvollziehen, warum du das als rowsource machen willst/mußt!?
Deine Rowsource beziehen sich auf UFO’s?

Oder gibt es sogar eine elegantere Möglichkeit das zu tun?

Schau dir mal die Funktion DSUM genauer an.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hi,

sorry, ich kann nicht nachvollziehen, warum du das als
rowsource machen willst/mußt!?

Müssen nicht wirklich, aber ich würde gerne so viel wie möglich als VBA-Code haben und nicht als Eintragungen in den Formularen selbst (dann ist es einfach übersichtlicher und einfacher zu ändern). Außerdem kenne ich mich da besser aus.

Deine Rowsource beziehen sich auf UFO’s?

Nicht auf UFOs, sondern auf mehrere Tabellen. Ich habe eine Tabelle „Stundenzuweisung“ und eine „Arbeitnehmer“. Ob ein Arbeitnehmer als Honorarkraft arbeitet ist natürlich beim AN gespeichert.

Schau dir mal die Funktion DSUM genauer an.

Hilft mir leider nur begrenzt, da die Information auf zwei Tabellen verteilt ist. Ich müsste die dann also erst per INNER JOIN verknüpfen. Da scheint mir die Lösung mit den zwei SELECTs irgendwie einfacher und schneller. Aber vielen Dank schon mal.

Grüße

Anwar

Hallo,

ich weiß jetzt nicht welche Access-Version du nutzt (MDB/ADP) - in den Projekten sind Unterabfragen möglich:


DIM SQL as String
SQL="SELECT SUM (Stundenzahl)as ANStunden, " & _
"(Select Sum (Stundenzahl/Stundenzahl) " & _
" FROM Stundenzuweisung) as Gesamt " & _
"FROM Stundenzuweisung INNER JOIN " & _
"arbeitnehmer ON (arbeitnehmer.Nachname = " & _
"stundenzuweisung.arbeitnehmer_nachname) " & _
„WHERE Unterrichtsanforderung_Maßnahme_Bezeichnung =’“ & _
Me.Maßnahme & „’ AND honorarkraft = -1“

Me.Honorarkräfteanteil.RowSource=SQL

Durch deinen Vergleich Honarakraft=-1 vermute ich mal, dass du mit MDBs arbeitest. Versuche doch mal folgendes. Hier werte ich innerhalb der Summenformel über eine Wenn-Funktion die Kriterien aus. Stimmen diese innerhalb des Datensatz multipliziere ich das Ergebnis mit 1 ansonsten mit 0.

SQL=„SELECT SUM (“ & _
„IIF (Unterrichtsanforderung_Maßnahme_Bezeichnung =’“ & _
me.maßnahme & "’ and Honorarkraft=-1,1,0) * Stundenzahl " & _
") as ANStundenLehrer, " & _
„Sum (Stundenzahl/Stundenzahl) as Gesamtstunden“ & _
"FROM Stundenzuweisung INNER JOIN " & _
"arbeitnehmer ON (arbeitnehmer.Nachname = " & _
"stundenzuweisung.arbeitnehmer_nachname) "

Me.Honorarkräfteanteil.RowSource=SQL

Gruß EPa

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]