PDA

Vollständige Version anzeigen : Summe in Euro in Abhängigkeit von Stunde und Stundenlohn


bitterConcept
15.01.2003, 16:25
blutiger Access_Anfänger brauche Hilfe bei einer Formel !
Access 2000

Berechnet werden soll die Summe in Euro in Abhängigkeit von Stunde und Stundenlohn in einem Formular.

Bei Excell lautet die Formel:
Summe = STUNDE (Zeit) * (Stundenlohn) + MINUTE (Zeit) * Stundenlohn / 60

Bei Access habe ich

[Summe] = STUNDE [Zeit] * [Stundenlohn] + MINUTE [Zeit] * [Stundenlohn] / 60

eingegeben und eine Fehleranzeige erhalten

[Zeit] hat das Format : 12:00 ( wird als Anzahl von Stunden und Minuten verstanden)
[Summe] und [Stundenlohn] haben das Format : Währung

ich wäre Dankbar für eine Hilfe

Info@bitterConcept.de

Wolfgang Biedermann
15.01.2003, 19:06
Hallo bitterconcept

so geht´s wahrscheinlich:

Du erstellst ein Textfeld "Stunde" und ein Textfeld "Minute" und ein Textfeld "Stundenlohn" (hast Du ja wahrscheinlich aus einer Tabelle)

In einem weiteren Textfeld wird nun so berechnet:

=([Stunde]*[Stundenlohn])+([Minute]*[Stundenlohn])/60

Beispiel ([7] Stunden * [100] Lohn) + ([34] Minuten * [100] Lohn)/60
= 756,67 (wenn´s stimmt, ist die Formel oben richtig :) )

Als Format würde ich nicht "12:00"nehmen, sondern eine einfache Standardzahl, ebenso für Minuten, Summe und Stundenlohn kannst Du als "Währung" bezeichnen.

Nouba
15.01.2003, 19:34
Hallo,

was passiert, wenn Du die Formel ab dem Gleichheitszeichen in die Steuerelementeherkunft einträgst?

PS. Du solltest den Feldern eventuell auch andere Namen vergeben. Im deutschen Access gibt es auch die Funktionen <code>Zeit</code> und <code>Summe</code>.

Erich Weiss
15.01.2003, 20:14
Hallo bitterConcept,

ich sehe ein erstes Problem in dem von dir gewählten Feldnamen [Summe],
meine Erfahrung ist die, Feldnamen bei berechnenden Feldern in Abfragen solten so gewählt werden, das sie nicht identisch sind mit Feldnamen in Tabellen der selben db und mit Funktionsnamen.
Der Name eines berechnenden Feldes steht auch nicht in [] Klammern.

Zeitberechnungen sind aber in Access kein Problem.

Ich habe eine kleine Beispiel db entwickelt um diese Fragen zu beantworten.

Gern sende ich dir und anderen Interessierten diese Datei per E-Mail.

Meine E-Mail Adresse ist info@erich-weiss.de

Gruß EW

Wolfgang Biedermann
16.01.2003, 08:08
@ Nouba

Du hast hast ja Recht, danke für die mathematische Nachhilfe ("Punkt vor Strich").

@bitterConcept

Nach Nouba´s Anweisung kannst Du´s einfacher so eingeben

=[Stunde]*[Stundenlohn]+[Minute]*[Stundenlohn]/60

wobei Du in dem Textfeld, das Dir das Ergebnis auswerfen soll, nur die Formel "Stunde*Stundenlohn+Minute*Stundenlohn/60" eingeben mußt, die [Klammern] schreibt Access selbst.


Laß Dir aber auch die Beispiel-db von Erich schicken, meine Erfahrung als ("Nicht-mehr-Anfänger-aber-auch-noch-nicht-guter") Access-User ist, daß man aus schon fertigen Beispiel-db´s (siehe z. B. auch die Access-interne "Nordwind"-db) am meisten lernt.

Gruß
Wolfgang :)

bitterConcept
17.01.2003, 17:27
Vielen Dank für Eure Hilfe !

1. habe ich die Textfeldnamen geändert in: [Arbeitszeit], [StdLohn] und [Honorar]

2. im Textfeld [Honorar] habe ich in das „Steuerelementinhalt“ die Formel eingegeben:

=Stunde([Arbeitszeit])*([StdLohn])+Minute([Arbeitszeit])*([StdLohn]/60)

und schon wird der richtige Wert im Formular angezeigt, aber leider nicht in die Tabelle übernommen.

Gruß
Thomas

Nouba
18.01.2003, 08:01
Hallo Thomas,

da Du jederzeit die Berechnung in Formen, Berichten und Abfragen durchführen kannst, ist das Abspeichern in einer Tabelle nicht nur überflüssig sondern auch noch fehleranfällig. Denn ändert jemand den Inhalt eines Feldes, das für die Berechnung herangezogen wird tabellenseitig, enthält die Berechnung falsche Werte, was die Datenbank nutzlos macht.