[gelöst]Einen Wert in Formular errechnen und anzeigen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]Einen Wert in Formular errechnen und anzeigen

Re: [gelöst]Einen Wert in Formular errechnen und anzeigen

von F3K Total » So, 26.02.2023 10:04

Moin,
kleiner Tipp am Rande, wenn du gerne die Bezeichnung aus der Tabelle T_Stamm im UNterformular angezeigt bekommen möchtest, geht diese Abfrage, die eine korrelierende Unterabfrage enthält:

Code: Alles auswählen

SELECT "ID",
    "Empf",
    "Börse",
    "Datum",
    "Aktion",
    "Status",
    "Menge",
    "Kurs",
    "Menge" * "Kurs" AS "Wert",
    "Gebühren",
    "KEST",
    "T_Stamm_ID",
    (SELECT "Bezeichnung" FROM "T_Stamm" WHERE "ID" = "T_Stamm_ID") AS "Bezeichnung"
FROM
    "T_Transaktionen"
Gruß R

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » So, 26.02.2023 09:35

Ja, jetzt funktionierts!
Herzlichen Dank für die Hilfe,
lg heinz

Re: Einen Wert in Formular errechnen und anzeigen

von F3K Total » Sa, 25.02.2023 18:36

Moin,
du hast deine Abfrage aus zwei Tabellen zusammengebaut. Damit ist sie erstmal nicht beschreibbar.
Es ist zwar möglich, indem man alle beteiligten PRIMÄRSCHLÜSSEL aller beteiligten Tabellen in die Abfrage aufnimmt, führt aber erfahrungsgemäß vor allem in Unterformularen zu Problemen.
Wenn sich die Abfrage nur auf Tabelle T_Transaktionen bezieht, gibt es keine Probleme. So sollte die Abfrage lauten:

Code: Alles auswählen

SELECT
    "ID",
    "Empf",
    "Börse",
    "Datum",
    "Aktion",
    "Status",
    "Menge",
    "Kurs",
    "Menge" * "Kurs" AS "Wert",
    "Gebühren",
    "KEST",
    "T_Stamm_ID"
FROM
    "T_Transaktionen"
Gruß R

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Sa, 25.02.2023 15:14

Ich habe nun über eine Abfrage berechnet und diese Abfrage als Basis für das Unterformular herangezogen. Das funktioniert nun gut. Aber nun kann keine Transaktion erfasst oder geändert werden. Woran kann das liegen?
Ich habe die odb als Dateianhang beigelegt.
TransaktionenErfassen.png
TransaktionenErfassen.png (83.83 KiB) 2658 mal betrachtet
Dateianhänge
WP-Verwaltung.odb
(57.19 KiB) 78-mal heruntergeladen

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Sa, 25.02.2023 11:43

Ich habe mir deine odb angesehen. Nun ist mir einiges klarer. Werde es nun mit einer Abfrage probieren,
vielen Dank einstweilen, heinz

Re: Einen Wert in Formular errechnen und anzeigen

von F3K Total » Sa, 25.02.2023 11:30

Moin,
wo erfaßt du denn die Daten? In Base? In einer Tabelle?
Die Abfrage basiert auf der Tabelle, auch in meinem Formular werden die Daten erfasst.
hk3003 hat geschrieben: Sa, 25.02.2023 11:17 Ich kann keine Abfrage machen, weil ich die Daten ja erst im Formular erfasse,
Zum Einbinden von Screenshot, erstmal als Dateianhang hochladen, dann findest du bei der hochgeladenen Datei einen Knopf "Im Beitrag anzeigen"
Gruß R

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Sa, 25.02.2023 11:17

Ich kann keine Abfrage machen, weil ich die Daten ja erst im Formular erfasse,
lg heinz

PS: Kannst du mir sagen wie du die Screenshots einbinden tust?

Re: Einen Wert in Formular errechnen und anzeigen

von F3K Total » Sa, 25.02.2023 10:27

Moin,
ich verstehe nicht, wozu du ein Makro benötigst.
Den Wert kannst du einfach in einer Abfrage berechnen:
Q.png
Q.png (17.66 KiB) 2693 mal betrachtet
...die dann die Datengrundlage für das Formular ist:
F.png
F.png (9.18 KiB) 2693 mal betrachtet
Nur darauf achten, dass die berechneten Felder "Wert" die EIgenschaft "Eingabe erforderlich = Nein" haben.
E.png
E.png (12.32 KiB) 2693 mal betrachtet
Beispiel anbei.

Gruß R
Dateianhänge
WERT_MENGE.odb
(12.55 KiB) 78-mal heruntergeladen

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Sa, 25.02.2023 09:11

Auch als Textfeld wird nichts angezeigt. Ich habe bei der Felddefinition im Formular einen Standardwert angegeben, auch dieser wird nicht angezeigt. Daher vermute ich, dass es bereits bei der Definition des Feldes ein Problem gibt.
Wenn ich die Felder mit dem Tabulator weitergehe und zum Feld "Wert" komme wird auch der Cursor nicht im Feld angezeigt. Es kann daher auch nichts eingegeben werden.

Re: Einen Wert in Formular errechnen und anzeigen

von RobertG » Fr, 24.02.2023 21:11

Dann mach daraus ein Textfeld. Soll doch sowieso nur etwas anzeigen.

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Fr, 24.02.2023 20:28

Ein numerisches Feld.

Re: Einen Wert in Formular errechnen und anzeigen

von RobertG » Fr, 24.02.2023 19:20

Wenn es sich dabei um ein Feld handelt, das gar nicht mit der zugrundeliegenden Datenquelle verbunden ist, dann hilft vielleicht

Code: Alles auswählen

oWert.Text  = oMenge.CurrentValue * oKurs.CurrentValue
In was für einem Formularfeld versuchst Du denn den "Wert" anzuzeigen?

Re: Einen Wert in Formular errechnen und anzeigen

von hk3003 » Fr, 24.02.2023 18:38

Danke für die Antwort!
Ich habe nun ein Macro welches "intern" funktioniert. Das heißt, im Feld "oWert" (Macro) steht der berechnete Wert, aber er wird im Formular nicht angezeigt. Auch der Standardwert den ich für dieses Feld in den "Eigenschaften: Numerisches Feld" eingegeben habe wird dort nicht angezeigt. Leider kann ich den Screenshot der Eigenschaften nicht beilegen WIE? nicht Vielleicht ist da was falsch. Dieses Feld ist in der zugrunde liegenden Tabelle nicht enthalten.

Code: Alles auswählen

Sub WertErrechnen(oEvent AS OBJECT)
	DIM oForm AS OBJECT
	DIM oWert AS OBJECT
	DIM oMenge AS  OBJECT
	DIM oKurs AS  OBJECT
	
	oForm = oEvent.Source.Model.Parent
	oMenge = oForm.getByName("Menge")	
'	dKurs = oForm.getByName("Kurs").EffectiveValue
	oKurs = oForm.getByName("Kurs")	
	oWert = oForm.getByName("Wert")
	oWert.Value = oMenge.CurrentValue * oKurs.CurrentValue

End Sub

Re: Einen Wert in Formular errechnen und anzeigen

von RobertG » Fr, 24.02.2023 17:58

Code: Alles auswählen

dMenge = oForm.getByName("Menge").CurrentValue
Du willst doch nicht den Zugriff auf das Eingabefeld mit allen möglichen Eigenschaften sondern darauf, was da für ein Wert drin steht. Das gilt natürlich auch für die nachfolgenden Elemente.

Code: Alles auswählen

oFeldMenge = oForm.getByName("Menge")
Das wäre also lediglich das Objekt mit allen möglichen Eigenschaften und Methoden.

[gelöst]Einen Wert in Formular errechnen und anzeigen

von hk3003 » Fr, 24.02.2023 14:53

Hallo Forum,
ich möchte in einem Unterformular einen Tabellensatz erstellen wo ich die Felder MENGE(INTEGER) und KURS(DECIMAL) eingebe und beim Verlassen des KURS-Feldes den Wert MENGE * KURS berechnen und im im ungebundene Feld WERT(DECIMAL) anzeigen möchte. Beim Aufruf des Macros bekomme ich folgende Fehlermeldung: "Basic-Laufzeitfehler. Falscher Wert für Eigenschaft." Was mache ich falsch?

Code: Alles auswählen

Sub WertErrechnen(oEvent AS OBJECT)
	DIM oForm AS OBJECT
	DIM dWert AS DOUBLE
	DIM dMenge AS INTEGER
	DIM dKurs AS DOUBLE
	
	oForm = oEvent.Source.Model.Parent
	dMenge = oForm.getByName("Menge")	<-- Fehlerzeile
	dKurs = oForm.getByName("Wert")	
	oForm.getByName("Wert") = dMenge * dKurs
	 
End Sub

Nach oben