Seite 1 von 1

Formeln nutzen in Formular

Verfasst: Mo, 31.10.2005 11:54
von jan_kummerfeldt
Hallo alle
ich habe nicht so viel Ahnung von Base, will aber auch ganz weg von MS Produkten.

Ich habe für eine FoodCoop eine Datenbank erstellt, welche auch schon ganz gut Funktioniert. Ich hätte jedoch innerhalb eines Formulars gerne ein Fenster in dem Dynamische Angaben erzeugt werden können. So das man aus Preis und Menge gleich im Formular den Gesamtpreis angezeigt bekommen kann. Dabei wäre es mir egal ob ich dazu ein neues Datenbankfeld erzeugen müsste (in dem der Gesamtpreis gespeichert wird) oder er nur Temporär auf den Formular erscheinen würde.

In Calc gehen solche Formeln ganz einfach, aber wie bekomme ich ein Calcformular dynamisch in ein Baseformular ?

Auch über andere Lösungsideen wäre ich sehr dankbar.

MfG Jan

Verfasst: Di, 17.01.2006 15:50
von KurGil
Das würde mich auch mal interessieren.
Hat jemand eine Idee, wie das funktioniert oder geht das gar nicht?

VG
Kurt

Verfasst: Di, 17.01.2006 16:34
von berndkli
Hallo
Schaut mal hier
viewtopic.php?t=5773

was mit Addition geht, geht auch mit Multiplikation.

Man kann aber auch direkt im Formularfeld über ein SQL Statement eine
Rechenoperation ausführen. Base erstellt dazu ein Abfrage auf die das Formularfeld zugreift.
Hab ich aber auch erst gestern herausbekommen.
Steht in der Hilfe Stichwort Base Formulare.

Gruss B.

Verfasst: Di, 17.01.2006 16:47
von KurGil
Danke für die fixe Antwort. Ich bin auch erst seit gestern am Basteln und habe noch nicht so viel Erfahrung. Den anderen Fred hab ich auch schon gelesen, in der Abfrage funktioniert auch alles.
Ich hab folgendes Problem:

Im Formular stehen folgende Felder:
AnzahlPersonen, AnzahlKinder, AnzahlErwachsene

Jetzt möchte ich das Feld AnzahlErwachsene aus
AnzahlPersonen-AnzahlKinder
berechnen lassen (ist nur ein simples Beispiel).
Wie schon geschrieben, in der Abfrage bekomme ich das hin, aber wie geht es im Formular?

Danke und viele Grüße
Kurt

Verfasst: Di, 17.01.2006 19:51
von berndkli
Hallo Kurt

Meinst du jetzt die Sache mit dem SQL Statement direkt im Formular oder
willst du wissen wie du die Ergebnisspalte aus der Abfrage ins Formular bekommst ?

Zum Thema Formular kannst du auch hier mal schauen; ist zwar nicht deine Problematik, erklärt aber ein paar grundlegende Dinge.


viewtopic.php?t=5800

Gruss B.

Verfasst: Mi, 18.01.2006 05:53
von KurGil
Hm, hab mich sicher etwas unklar ausgedrückt.
Das Ergebnis sollte nach der Eingabe der ersten beiden Daten (AnzahlPersonen,AnzahlKinder) im Formularfeld AnzahlErwachsene ausgegeben werden.

Wo genau im Formular müsste ich denn ein SQL-Statement eingeben? Bei SQL blicke ich halbwegs durch ;-)

Gruß Kurt

Verfasst: Mi, 18.01.2006 17:42
von berndkli
Hallo Kurt

Ich geh jetzt mal von folgendem Szenario aus.

Du hast eine Abfrage mit den Spalten AnzahlPers, AnzahlKind, AnzahlErw. In der Spalte AnzahlErw. steht im Entwurfsmodus bei "Feld":

Code: Alles auswählen

"AnzahlPers" - "AnzahlKinder"
.

Im Formular möchtest du 3 numerische Felder , in Feld 1 (AnzahlPers.)und 2 (AnzahlKind.) willst du Daten eingeben deren Ergebnis in Feld 3 (AnzahlErw.) angezeigt wird.
Wenn dem so ist, geht es ohne SQL.

Öffne ein neues Formular im Entwurfsmodus und schalte den Formularnavigator ein.
Rechtklick ins Formulare-Icon => neu => Formular

Wähle aus der Formular Steuerelemente Symbolleiste "numerisches Feld" aus (Textfeld geht auch) und ziehe die ersten 2 Felder für die Eingabe der Daten auf.

Rechtklick ins Icon "Standart", Reiter Daten. Bei "Art des Inhalts" wählst du Tabelle!!! aus. Da du in die Felder ja reinschreiben willst, musst du sie direkt mit der Tabelle verbinden. In Abfragen kann man keine Daten manipuleren.(Mir ist das zumindest noch nicht gelungen)

Bei "Inhalt" wählst du die entsprechende Tabelle.

Rechtklick ins erste "NumericalField", bei "Daten" die entsprechende Spalte auswählen, beim 2ten genauso.

Jetzt musst du das dritte Feld a). mit der Abfrage oder eben b). einem SQL Befehl verbinden.

Rechtsklick ins Icon Standart => neu => Formular; du hast jetzt einSubformular ebenfalls mit Namen Standart (kannst die Bezeichnungen auch ändern); das dritte Feld aufziehen

Rechtsklick ins Subformular-Icon, bei "Art des Inhalts" für a). "Abfrage"
und für b). "Sql-Befehl" auswählen, bei Inhalt dann die entsprechende Abfrage angeben oder direkt den Sql Befehl reinschreiben.

Damit dieser aber funktioniert musst du auf die kleine SchaltflÄche rechts davon klicken, es öffnet sich ein Abfrageentwurf in der SQL Ansicht mit deinem Statement => speichern.

Als letzten Schritt musst du die 2 Formulare noch miteinander verbinden.

Rechtsklick ins Subformular-Icon und auf eine der beiden Schaltflächen
bei "Verknüpfen von/nach" klicken und jeweils eine Spalte angeben die sowohl in der Tabelle wie auch in der Abfrage bzw.im SQLStatement identisch ist.

Jetzt müsste es eigentlich funktionieren.


Gruss B

Verfasst: Mi, 18.01.2006 21:15
von KurGil
Danke, genau das hab ich gemeint und werd ich morgen gleich mal testen.
Gruß
Kurt

Verfasst: Do, 19.01.2006 15:40
von KurGil
So, hab es probiert und nach längerer Fummelei hat es auch bestens funktioniert :D . Manchmal stellt man sich halt ein bisschen blöd an :wink:...

Also nochmal besten Dank
Kurt