Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensatz verschieben oder "verbergen"

Begonnen von MarkusR, März 29, 2012, 08:22:51

⏪ vorheriges - nächstes ⏩

MarkusR

Guten Morgen zusammen,

ich brauch mal wieder die Hilfe der Profis...

In meiner Tabelle Auftragsbearbeitung werden alle Aufträge gespeichert. Jetzt möchten wir für den Fall, dass ein Auftrag storniert wird, dass dieser in der Tabelle nicht mehr in den Summen auftaucht, möchten ihn aber nicht ganz löschen, damit man die Preise etc. für den Auftrag noch hat.
Meine erste Idee war, ich erstelle eine Tabelle "Storno", in die ich den jeweiligen Datensatz per Buttonklick verschieben kann. Das hat sich aber als schwierig erwiesen, zum einen raten irgendwie alle im Internet davon ab, zum anderen klappts auch irgendwie nicht, weil der mir immer Fehlermeldungen ausspuckt.
Dann hatte ich die Idee, ich setze per Buttonklick einfach eine Ja/Nein Feld auf Wahr und habe somit den Datensatz als storniert markiert. Bei der Variante habe ich jetzt aber noch das Problem, dass die Preise in den Summen mit gerechnet werden. Nächster Schritt war für mich also, dass die Summen nicht mehr im Formular berechnet werden, sondern in einer Abfrage mit der Bedingung, dass der Auftrag nicht storniert ist. Dann wiederum habe ich aber das Problem, dass wenn man im Formular einen bestimmten Zeitraum filtert, nicht nur die Summen für diesen Zeitraum berechnet werden.

Vielleicht versteht ja jemand mein Dilemma  :-\
Letztendlich ist es mir egal, mit welcher Methode ich das jetzt verwirkliche, ob mit einer anderen Tabelle oder mit einer Markierung als storniert...nur funktionieren sollte es  ;)

Wäre toll, wenn wieder jemand einen Rat für mich hätte!

Vielen Dank im Voraus und beste Grüße,
Markus

DF6GL

HAllo,

"raten irgendwie alle im Internet davon ab"

wie wahr, wir hier auch ;-)


"einfach ein Ja/Nein Feld auf Wahr und habe somit den Datensatz als storniert markiert."

das ist sicher richtig und gut so..


"dass die Preise in den Summen mit gerechnet werden"

nur dann, wenn Du es zuläßt...  d. h. Bei der Berechnung (wie sieht die denn aus )  müssen eben nur die gültigen (nicht stornierten) Aufträge berücksichtig werden.  Im Allgemeinen erledigt man das  für die Berechnung durch Angabe eines (zusätzlichen) Kriteriums im Where-Condition-Abschnitt einer Abfrage oder beim Where-Condition-Parameter irgendeiner Aggregatsfunktion
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MarkusR

Guten Morgen,

siehste mal, lag ich bisher also garnicht so verkehrt :)

Und während ich die Antwort auf Deinen Beitrag geschrieben habe, viel mir dann auch auf, dass ich eins ja bisher noch garnicht probiert hatte. Und siehe da...es funktoniert :)

Als Beispiel einmal das Summenfeld für die Kosten der internen Bearbeitung, so wie ich es jetzt gelöst habe: (wahrscheinlich total umständlich :D)

=Summe((([Menge]*(Wenn([Storniert]=Falsch;[InternStk]+[RichtkostenStk]+[SaegekostenStk];0)))+(Wenn([Storniert]=Falsch;[RuestkostenAuftrag]+[WerkzeugkostenAuftrag];0))))

Vielen Dank für Deine Anregung!

Markus

MarkusR

Hallo,

eine Frage hätte ich dann doch noch. Wenn ich den Button klicke, der den Datensatz als stoniert markiert, wird gleichzeitig ein Text ins Kommentarfeld geschrieben und das Feld mit dem Liefertermin geleert (damit stornierte Aufträge nicht beim Filtern für anstehende Liefertermine angezeigt wird).
Ins Kommentarfeld soll ein Text

"Auftrag wurde storniert am [aktuelles Datum]
Geplanter Liefertermin war [HSPLT]"

Aber irgendwie bekomme ich das mit dem aktuellen Datum nicht hin. Der schreibt mir da immer tt40997,mm.jj rein. Habs probiert mit Date(), mit Format(date, "tt.mm.yy"), mit Format(Date, "dd.mm.yy") etc. etc.! Aber immer mit dem gleichen Ergebnis  ???

DF6GL

Hallo,

zeigt doch mal den Code, mit dem Du das machst....

Sub btnButton1_Click()
.
.
Me!Kommentarfeld = "Auftrag wurde storniert am " & Format (Date,"dd.mm.yy") &  vbCrLf & "Geplanter Liefertermin war " & Format(Me![HSPLT],"dd.mm.yy")
End Sub



Aber auch die Frage: Wozu das denn?   Besser wäre ein Feld "StorniertAm" mitzuführen und das zu setzen. Dann wäre auch das Ja/Nein überflüssig, weil ein gesetztes "StorniertAm"-Datum schon aussagt, dass der Auftrag storniert ist/wurde. Zusätzlich wird eine spätere Auswertung vereinfacht, weil nach diesem StornierAm-Datum gefiltert werden kann.

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access