Seite 2 von 2

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: Sa 2. Mär 2019, 18:58
von HansGerstenkorn
Hallo F3K,

es hat mir keine Ruhe gelassen, ich musste es doch jetzt mal probieren, aber irgendetwas mache ich sicher falsch oder habe ich nicht richtig verstanden, so bin ich vorgegangen:

• DB aufgerufen
• SQL-Befehl ausgeführt = einwandfrei
• Formular Stromverbraucher aufgerufen
• „Flurlampe“ ausgewählt durch „Auswahl in der Tabelle, via Kombifeld „Bezeichnung“ funktioniert die Auswahl nicht - ist aber sicher ein anderes Problem.
• Leuchtmittel Halogenlampe-20W im Listfeld ausgewählt, Leuchtmittel-ID wird in Tabelle eingetragen
• Schaltfläche betätig = kein Ergebnis, keine Fehlermeldung

Ich habe die DB noch einmal angehängt, damit es keine Verwechslung gibt.

Viele Grüße :-) Hans

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: Sa 2. Mär 2019, 19:12
von RobertG
Hallo Hans,

im Anhang die richtige Verbindung. Wenn Du das Leuchtmittel auswählst, dann wird automatisch der Wert für die Energie geschrieben. Nur passt der Wert eigentlich nicht zu dem, der dort in dem formatierbaren Feld steht ...

Wie R. schon schrieb: Der Button ist überflüssig. Wähle einfach einmal testweise ein anderes Leuchtmittel aus.

Gruß

Robert

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: So 3. Mär 2019, 12:02
von HansGerstenkorn
Hallo Robert,
hallo F3K,

euch zunächst einmal vielen Dank für eure Mühe :-))))

ich denke, es ist doch wesentlich schwerer, ein Feld mit einem Wert aus einer anderen Tabelle zu befüllen, als ich angenommen habe (mindestens für mich), dabei ist mir bewußt und natürlich ist es von vornherein falsch, dass ich ein bereits in der DB befindliches Datum ein zweites Mal speichere, nur weil ich damit anschließend in einer verbundenen externen Tabelle weitere Rechenoperationen (Jahresverbrauchswert bestimmen) durchführe.

Ich bin deshalb Roberts Empfehlung (siehe Anfang dieses Blogs) gefolgt und lasse mir auch den zweiten Wert = kWh im Listfeld anzeigen. Den übertrage ich dann ganz pragmatisch in das Feld "kWh".....

Trotzdem stellen sich mir aber noch die Fragen:

Im Formular wird im Feld "kWh" der Wert richtigerweise mit 3 Nachkommastellen angezeigt. In der Tabelle Beleuchtungskörper und logischerweise im Listfeld im Formular wird nur 2-stellig angezeigt, augenscheinlich weil es ein Textfeld ist, das ich nicht formatieren kann. Ein Dezimalfeld könnte ich zwar entsprechend formatieren wie ich ausprobiert habe, jedoch kann ich dann den Wert, den ich in dem Formular eingebe nicht speichern, immer wenn ich Speicher, wird nur 0,000 gespeichert, das verstehe ich nicht.

Vielen Dank und einen schönen Sonntag :-) Hans

deshalb noch einmal zur Sicherheit die DB angehängt

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: So 3. Mär 2019, 15:31
von RobertG
Hallo Hans,

die Felder im Formular sind formatierbare Felder. Da kannst Du auch einstellen, wie viele Nachkommastellen Du haben willst.

Die Felder in Deinen beiden Tabellen sind Dezimalzahlen. Einmal mit 2 Nachkommastellen, einmal mit 3 Nachkommastellen. Wenn Du 3 Nachkommastellen haben willst, dann musst Du das an dieser Stelle auch einstellen. Sonst werden nur maximal 2 Nachkommastellen gespeichert.

In Deinem Beispiel ist mir immer noch unklar, woher in dem ersten Datensatz die 150 kWh für die Energiesparlampe kommen. Wenn ich in der zugrundeliegenden Tabelle schaue, dann steht da 0,07kW/h. Beide Werte sind nebulös. kW/h gibt es nicht. Leistung wird in Watt oder Kilowatt usw. gemessen. Eine Energiesparlampe dürfte allerdings nie 70 Watt Leistung umsetzen. Dann wäre es keine Energiesparlampe. In der entsprechenden Tabelle steht vermutlich die Leistung in kW. Für Deine Kalkulation müsstest Du in der Verbraucher-Tabelle nicht die Energie in kWh abspeichern, sondern die Zeit (in Stunden), die z.B. diese Lampe läuft. Nach Deiner Kalkulation mit den angegebenen Werten wäre das 150 kWh/0,07 kW, was ca. 2143 Stunden entspricht. Mit der Zeitangabe und der Angabe der Leistung kannst Du dann den Energieumsatz ausrechnen.

Gruß

Robert

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: So 3. Mär 2019, 17:42
von HansGerstenkorn
Hallo Robert,

dein kritischer Blick stößt sofort auf Fehler, die ich einfach übersehen habe. Ich habe die Nachkommastellen geändert, ebenso die Bezeichnung kWh bei der Leistungsaufnahme, es ist natürlich richtig, dass es kW oder Watt heißen muss.

Bitte verabschiede dich von den 150 kWh, der Wert war natürlich falsch und ist wohl beim Eintippen in die Tabelle der Beispiel-Db vorgekommen. In der letzten DB hatte ich das schon korrigiert.
Wie schon vermerkt und von dir aufgezeigt, benötige ich in dieser Tabelle die Leistungsaufnahme um dann mit den notwendigen Rechenoperationen auf die Jahresverbrauchsleistung oder besser den Jahresenergieumsatz zu kommen. Dafür habe ich im Originaldokument (wie auf der Vorherigen Seite eingefügt) folgende Felder „Anzahl Beleuchtungskörper“; „max. Leistungsaufnahme“; „minimale Leistungsaufnahme“; „durchschnittliche Leistungsaufnahme“; „Tage in Betrieb p.Jahr“, daraus wird dann die Leistungsaufnahme pro Jahr.

Ursprünglich sollte sich das ja mal im Formular bei der Eingabe selbst berechnen, wegen der Komplexität (ist nur für Fortgeschrittene DB-ler) und weil ich ja auch ab und an auf neue Ideen und Erweiterungen verfalle, mache ich das einfach per Kopfrechnung oder bei vielen Daten per externer, verbundener Cale-Tabelle.

Trotzdem bleibt noch die Frage, wie ich die Nachkommastellen in der Tabelle hinbekomme. Bei der Tabelle „Stromverbraucher“ handelt es sich bei dem Feld "2kW“ um ein Textfeld und nicht, wie von dir vermutet, um ein formatiertes Feld, das ist ja gerade das was ich nicht verstehe, nur im Textfeld werden die Inhalte gespeichert (aber nur 3 Nachkommastellen, wenn die letzte Stelle keine „0“ ist), aber Nachkommastellen sind nicht definierbar. In der Tabelle selbst kann ich hingegen eine dritte „0“ einfügen und sie bleibt…, wenn ich das Feld in ein Dezimalfeld ändere, kann ich Nachkommastellen definieren, aber keinen eingegebenen Wert speichern…….

Viele Grüße und einen schönen Wochenanfang
:-) Hans

Im Anhang die letzte Db-Version

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: So 3. Mär 2019, 18:12
von RobertG
Hallo Hans,

in der Tabelle "Stromverbraucher" befindet sich nur ein Textfeld: "Bezeichnung". "kWh" ist in der Beispieldatei ein Dezimalfeld mit 3 Nachkommastellen.
In der Tabelle "Beleuchtungskörper" handelt es sich bei "Leistungsaufnahme..." ebenfalls um ein Feld vom Typ Dezimal, aber nur mit 2 Nachkommastellen.
Die entsprechenden Felder in dem Formular sind "Formatierte Felder" - das bedeutet, dass Du denen jede Formatierung zuweisen kannst. Die sind im Augenblick auf Dezimalzahlen eingestellt. Die Felder zeigen automatisch die richtige Zahl an Dezimalstellen an, die zu der Eingabe passt. Du kannst natürlich auch die Formatierung so wählen, dass daraus grundsätzlich 3 Nachkommastellen werden. Dazu musst Du nur die Eigenschaften des Formularfeldes entsprechend bearbeiten.

Änderst Du bei dem Formular das dem Listenfeld für das Leuchtmittel z.B. auf 'Birne Leuci', dann wird in den Feldern für kWh automatisch der Wert '0,04' eingetragen. Das funktioniert mit der Datenbank, die Du angehängt hast.

Daher verstehe ich Dein Problem zur Zeit nicht.

Gruß

Robert

Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen

Verfasst: Mo 4. Mär 2019, 13:28
von HansGerstenkorn
Die sich neu eingestellten Detailfragen werden jetzt - wie von Robert richtigerweise angeregt - auf privater Ebene geklärt, da sie hier im Forum für das Ursprungsthema nicht mehr relevant sind.

Vielen Dank für all die Mühe :-) Hans

Re: [gelöst] ABSCHLUSS :-)

Verfasst: Di 5. Mär 2019, 09:26
von HansGerstenkorn
Hallo Robert,

ich weiß nicht was ich jeweils gemacht habe :-( , aber mit der DB die du geschickt hast, habe ich keine Probleme und es funktioniert alles so wie es soll und natürlich so wie du geschrieben hast. Ich versehe jetzt auch, warum du meine Fragestellungen nicht verstanden hast, bei dir funktionierte es ja immer…..

Ich bin die gesamte Diskussion noch einmal durchgegangen, habe aber trotzdem keine Erklärung gefunden, ich werde mir jedenfalls zu Herzen nehmen, dass ich in Zukunft immer bei einem Beispiel bleiben werde, damit ich nichts verändern kann. Ich werde mich auch bemühen, künftig Punkt für Punkt nachzuvollziehen, dann hätte ich erst nicht den Gedanken mit dem Makro gehabt, so wie das Feld (kW) jetzt verbunden ist, ist das ja wirklich überflüssig.

Vielen Dank noch einmal für deine Geduld und Mühe, ich kann jetzt unbesorgt weitermachend das hilft mir wirklich sehr.

Viele Grüße
:-) Hans