MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 12.01.2019, 15:33   #1
Hanibal_Smith
Neuer Benutzer
Neuer Benutzer
Standard Acc2010 - Wert aus vorherigen Datensatz übernehmen

Hallo zusammen,

ich bin schon seit ca. 1 Woche damit beschäftigt eine normalerweise simple Aufgabe zu lösen. Scheitere aber mit jeden weiteren Versuch daran und hoffe nun, dass ich hier in diesem Forum Hilfe finde.

"Das Problem":
Bisher habe ich meine Zählerstände für Heizung und Strom in eine Excel Tabelle eingegeben und berechnen lassen. Da nun aber schon einige Jahre vergangen sind wollte ich zum besseren Vergleich eine DB machen.

An und für sich keine große Aufgabe.
  • Tabelle erstellt
  • Datumsfeld mit Feldtyp Datum/Uhrzeit
  • Feld Zählerstand Haus als Zahl / Double/ Dezimalstelle 1 / Standardzahl
  • Zählerstand Haus Vormonat als Zahl / Double/ Dezimalstelle 1 / Standardzahl
  • Preis pro kwh = Währung
  • Stromverbrauch = Berechnet (Feld Zählerstand Haus - Zählerstand Vormonat)

Es soll der aktuelle Zählerstand des Stromzählers im nächsten Datzensatz als Standardwert für das Feld "Zählerstand Vormonat" eingetragen werden.
über ein Eingabeformular möchte ich dann noch meinen Heizstrom erfassen... nun reicht aber erst mal das Beispiel mit dem Hausstrom :-)

Das Eingabeformular wurde erstellt, Felder angereiht und bei den Formulareigenschaften "nach Aktualisierung" eine Ereignisprozedur hinterlegt.

Code:

me!zahelerstandvormon.defaultValue = me!zahlerstandhausakt
über zwei Buttons kann ich Datensätze im Formular vor und zurückschalten.

Standardwert des Feldes "ZählerstandVormonat" = 0

Es funktioniert komischerweise nur 2-3 mal.. im Anschluss kommt im Feld "Zählerstand Vormonat" #Name!

weiß jemand von Euch Rat?

Danke schon mal für Eure Antworten.

Gruß
Hanibal Smith
Hanibal_Smith ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 15:52   #2
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,
würdest du deine schon vorhandene SQL die du dafür verwendest, für eine Antwort einstellen?
Eventuell gibt es dann einen Rat.
Einen DS vom vor diesen DS bereitstellen wird ev. machbar sein

PS: natürlich in der SQL, wäre für mich gegeben.
Oder eine BeispielDB wäre auch nett.
Eine ID wird ja vorhanden sein, nehme ich mal an.

__________________

Gruß Alfred

Geändert von Kyron9000 (12.01.2019 um 15:59 Uhr).
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 16:27   #3
Lanz Rudolf
MOF Guru
MOF Guru
Standard

Hallo
der Fehler kommt bei diesem Befehl :
Code:

me!zahelerstandvormon.defaultValue = me!zahlerstandhausakt
?
Sind die Felder (me!zahelerstandvormon | me!zahlerstandhausakt)
so vorhanden ?
ich hoffe Du hast inder Tabelle etc. nicht etwa ein ä Zählerstand

und sonst wie Alfred !

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc

Geändert von Lanz Rudolf (12.01.2019 um 16:42 Uhr).
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 16:59   #4
ebs17
MOF Guru
MOF Guru
Standard

1) Derart gesetzte Standardwerte für ein Formulartextfeld funktionieren nur so lange, wie das Formular geöffnet bleibt. Es findet keine Speicherung im eigentlichen Sinne statt. Mit Schließen des Formulars ist dieser Wert futsch. mach Dir dies bewusst.

2) Die Felder Zählerstand Haus Vormonat und Stromverbrauch sind in der Tabelle überflüssig. Diese wird man in einer Abfrage unmittelbar berechnen.
Dafür wäre eine mitgeführte Zählernummer recht sinnvoll, da Zähler desweilen getauscht werden. Außerdem könnte man in die Lage kommen, mehrere Zähler gleichzeitig zu verwalten.
SQL-Ansicht:
Code:

SELECT 
   T.Datum, 
   T.Zaehlernummer, 
   T.Zaehlerstand, 
   (
      SELECT TOP 1 
         U.Zaehlerstand 
      FROM 
         TabelleX AS U 
      WHERE 
         U.Zaehlernummer = T.Zaehlernummer 
            AND 
         U.Datum < T.Datum 
      ORDER BY 
         U.Datum DESC 
   ) AS VorherigerStand, 
   T.Zaehlerstand - VorherigerStand AS Verbrauch 
FROM 
   TabelleX AS T

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 17:22   #5
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
und, da sich der Preis je KWH ändern kann (möglicherweise sogar während eines Jahres), ist der Preis in eine extra Tabelle mit einem Gültigkeitsdatum auszulagern. Sonst ist es z.B. nicht mögliche Preisvergleiche zu erstellen.

Zitat:

damit beschäftigt eine normalerweise simple Aufgabe zu lösen.

Wenn zusätzlich zur der Preisproblematik auch noch Zählerwechsel mit neuen Afangsständen dazu kommen, wird das nicht mehr so simpel.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 19:14   #6
Hanibal_Smith
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo zusammen,

erst mal vielen lieben Dank für die zahlreichen Antworten.

hier mal eine Beispiel DB für Kyron
--> ist es wichtig eine ID zu haben?? ich habe den Primärschlüssel auf das Datum gelegt

@ebs 17:
Zu deiner Nummer 1: das wusste ich nicht :-) - Dankeschön
zu deiner Nummer 2: war mir bewusst, habe aber die Felder dennoch eingefügt um sie im Formular abbilden zu können..
Mein Haus ist erst 4 Jahre alt und da hoffe ich, dass mir die Zähler doch noch einige Zeit erhalten bleiben :-) aber wäre auf alle Fälle eine Überlegung Wert die Zählernummer noch mit aufzunehmen.

@gpswanderer:
sollte sich der Strompreis ändern und steht der Preis in der gleichen Tabelle werden dann alle Datensätze geändert?? Kann ich das nicht mit dem Standardwert für dieses Feld umgehen??

Danke schon mal für weitere Hilfe

mit einem schönen Gruß aus der tiefsten Oberpfalz

--Hanibal--
Angehängte Dateien
Dateityp: rar Database4.rar (23,0 KB, 5x aufgerufen)

Geändert von Hanibal_Smith (12.01.2019 um 20:20 Uhr). Grund: Dateianhangsbeschreibung vergessen
Hanibal_Smith ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 19:50   #7
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
die Felder für Vormonat und Verbrauch sind in der Tabelle ersatzlos überflüssig, kannst Du löschen.
Diese Felder werden von der Abfrage von Eberhard in #4 erzeugt.
Die Abfrage musst Du an Deine Tabelle anpassen. Das Feld Zählernummer fehlt ja bei Dir, die Feldnamen sind auch anzupassen.

PS:
Bitte keine Leer und Sonderzeichen in Feldnamen verwenden.

__________________

Gruß
Klaus
Office2016, Win10

Geändert von gpswanderer (12.01.2019 um 19:52 Uhr).
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2019, 23:49   #8
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

...habe leider kein RAR mehr, ich mache alles über die Windows-Plattform...
Im Explorer/Desktop die Datei mit der rechten Maustaste anklicken, senden an und ZIP-komprimierter Ordner wählen.

__________________

Gruß Alfred
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2019, 11:01   #9
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

um sie im Formular abbilden zu können..

Man kann auch eine Abfrage statt der Tabelle als Datenherkunft verwenden, und schon ist viel mehr möglich.
Diee Verwendung der Tabelle erfolgt auch nur in der Form SELECT * FROM Tabelle

Da darf man doch schon erste Entwicklerintelligenz hineinlegen: Nur benötigte Felder verwenden, auf benötigte Datensätze filtern, Sortieren, Berechnungen vornehmen usw.

Die als überflüssig - weil aus Werten anderer Felder berechnet werden könnenden - bezeichneten Felder haben ein generelles Problem, dass man in Datenbanken als Grundprinzip vermeiden will. Im Hinterkopf sollte man haben, dass Datenbanken etwas Großes, Umfangreiches, Langlebiges werden können und werden.

Wenn man berechnete Werte in Feldern speichert, bleiben sie erst einmal unberücksichtigt, wenn man deren Ausgangsdaten später ändert, löscht, ergänzt. Man kann ja später einen Zahlendreher bemerken und bspw. ein Geburtsdatum ändern, weil man bemerkt, dass eine Rentnerin eingeschult oder ein Vorschulkind zur Wehrtauglichkeitsuntersuchung erscheinen soll.

Daher strebt man an, nur Urdaten und diese nur einmal zu speichern, und alles Abgeleitete immer wieder neu zu berechnen - solange es Aufwand und Laufzeit hergeben, und da ist einiges möglich, Datenbanken und ihre bestimmungsgemäße Verwendung sind darauf hin konzipiert.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2019, 17:46   #10
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

habe mal eine alte DB herausgekramt und etwas ergänzt. Denke sie sollte in etwa so passen.
Angehängte Dateien
Dateityp: zip Zaehler_V1.zip (33,3 KB, 10x aufgerufen)

__________________

Gruß Alfred
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2019, 08:50   #11
Hanibal_Smith
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen Dank für die zahlreichen Antworten und Ideen

Werde mal versuchen die DB so aufzubauen wie Kyron9000 im angehängten Beispiel.

@ebs17:

Dir auch vielen Dank für die Denkanstöße. Werde ich beim Aufbau beherzigen
Hanibal_Smith ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2019, 10:34   #12
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

so aufzubauen wie Kyron9000 im angehängten Beispiel

Zählerstände und derartiges würde ich in Unterscheidung immer mit einem Datum kennzeichnen, nicht mit einer Kombination aus Monatszahl und Jahreszahl. Ob ich einen Zähler zum 2. oder zum 27. des Monats ablese, wäre doch ein Unterschied. Dann können in einem Monat mehrere Ereignisse anfallen. An jahreswechselübergreifende Auswertungen sollte man auch denken im Sinne einer simplen Umsetzung.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.01.2019, 06:47   #13
Hanibal_Smith
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Guten Morgen Jungs

Habe den Primärschlüssel auf das Datum gelegt, da ich ja immer "nur" zum 30igsten oder 31igsten (im Februar zum 28igsten ) die Zähler ablese.

bis jetzt sieht es gut aus, was aber mein "neues Problem" ist, was ich mir leider nicht erklären kann ist:

Zählerstände vom Vormonat werden übernommen - jedoch nur als Integer

Die Felder Zählerstand aktuell, Zählerstand Vormonat und Verbrauch sind gleich deklariert.

Habe auch schon Versuche gemacht und alles auf Dezimal oder Single aber leider ohne Erfolg...
  • Double
  • Standardzahl
  • Anzahl der Dezimalstellen: 2

Solange ich "nur" Integer in Zählerstand aktuell eingebe, werden sie auch übernommen. Gebe ich z.B. 123,6 ein steht im nächsten Datensatz #Name?

Hat einer von Euch einen Denkanstoß für mich??

Danke schon mal im Voraus für Eure Unterstützung
Hanibal_Smith ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.01.2019, 08:52   #14
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

werden übernommen

Wenn da ein Fehler auftritt, musst Du anders übernehmen.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.01.2019, 08:53   #15
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,

Zitat:

Zählerstände vom Vormonat werden übernommen - jedoch nur als Integer

die Zählerstände sollen ja nicht übernommen werden, sondern in der Abfrage nur berechnet, der Vormonat wird nicht gespeichert.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.