BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Berechnungen im Subformular zwischen Feldern ausführen

BASE ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit OpenOffice.org zu bearbeiten.
Antworten
marcel00
Beiträge: 8
Registriert: Fr 4. Jan 2019, 13:38

Berechnungen im Subformular zwischen Feldern ausführen

Beitrag von marcel00 » So 6. Jan 2019, 13:09

In der angehängten Datenbank versuche ich im Subformular "Subform_grid" des Formulars"Baugruppen_Bauteile_Grd_List" die Spalten "Anzahl/Stück" und "Bruttopreis pro Stück" miteinander zu multiplizieren und das Ergebnis in die Spalte "Total Brutto" zu schreiben. Dafür würde ich gerne die Werte für "Bruttopreis pro Stück" aus der Tabelle bauteile(Feld Nettopreis) für das jeweilig gelistete Bauteil holen.
Für die Berechnung stelle ich mir ein Makro wie folgt vor

Code: Alles auswählen

REM  *****  BASIC  *****

Sub S_Insert_Totalbrutto
    oform = thiscomponent.drawpage.forms.getbyname("SubForm_Grid")
    anzahl = oform.getdouble(2)
    stueckpreis = oform.getdouble(3)
    totalbrutto = anzahl * stueckpreis
    oform.updatedouble(4,totalbrutto)
    if oform.isnew then oform.insertrow else oform.updaterow
    'oform.reload
End Sub
Wie bekomme ich die Daten aus der Spalte "Nettopreis" der Tabelle "bauteile" in die Spalte "Bruttopreis pro Stück" des Subformulars?
Wenn ich das Makro einfüge, dann habe ich nicht mehr die Möglichkeit im Subformular aus Listenfeldern auszusuchen. Warum ist das so?

marcel00
Beiträge: 8
Registriert: Fr 4. Jan 2019, 13:38

Re: Berechnungen im Subformular zwischen Feldern ausführen

Beitrag von marcel00 » So 6. Jan 2019, 13:14

Anbei noch die Datenbank
Dateianhänge
RMC Database.odb
(46.27 KiB) 184-mal heruntergeladen

marcel00
Beiträge: 8
Registriert: Fr 4. Jan 2019, 13:38

Re: Berechnungen im Subformular zwischen Feldern ausführen

Beitrag von marcel00 » Mo 14. Jan 2019, 17:25

Ich habe das Makro mal umgeschrieben, um zwei Felder miteinander zu multiplizieren:

Code: Alles auswählen

Sub S_Insert_Totalbrutto
	DIM oDoc AS OBJECT
	DIM oDrawpage AS OBJECT
	DIM oForm AS OBJECT 'usw für alle mit o
	DIM iFeld1 AS Single 'für Gleitkommazahlen
	DIM iFeld2 AS Single 'für Gleitkommazahlen
	oDoc = thisComponent
	oDrawpage = oDoc.drawpage
	oform = oDrawpage.forms.getByName("F_Baugruppen").getByName("SubForm").getByName("SubForm_Grid")
	oFeld1 = oForm.getByName("Komponente Anzahl")
	oFeld2 = oForm.getByName("Bruttopreis pro Stück")
	oFeld3 = oForm.getByName("Total Brutto")
	iFeld1 = oFeld1.getCurrentValue()
	iFeld2 = oFeld2.getCurrentValue()
	oFeld3.text = iFeld1*iFeld2
	if oform.isnew then oform.insertrow else oform.updaterow
	'oform.reload
End Sub	
Jetzt kommt die Fehlermeldung bei oFeld3.text = iFeld1*iFeld2. Vermutlich stört die Zuordnung eines Textes zu einer Zahl. Gibt es für
oFeld3.text auch eine Bezeichnung entsprechend zu einer Gleitkommazahl wie ofeld3.nummer.
Die Fehlermeldung lautet: Basic Laufzeitfehler Eigenschaft oder Methode nicht gefunden:text

Die Spalte Bruttozahl pro Stück ist von der Listenauswahl in der ersten Spalte des Subformulars abhängig. Wie kann sich der Wert entsprechend ändern?

marcel00
Beiträge: 8
Registriert: Fr 4. Jan 2019, 13:38

Re: Berechnungen im Subformular zwischen Feldern ausführen

Beitrag von marcel00 » Di 15. Jan 2019, 10:33

Anbei nochmal die aktuelle Version der Datenbank im Anhang
Dateianhänge
RMC Database Ver 7.odb
(86.82 KiB) 201-mal heruntergeladen

Antworten