PDA

Vollständige Version anzeigen : Eckdaten in Formular als Standart


Streetshark
22.03.2004, 16:06
Hallo zusammen

Ich möchte einen Bericht anhand eines Formulars erstellen. In diesem Formular werden die Eckdaten (Startdatum, Enddatum) für den Bericht definiert. Da ich meist die selben Eckdaten verwende, hatte ich vor, einen Standartwert zu definieren. Dieser kann man dann mit einem Haken setzen. Bei jedem weiteren Aufruf des Formulars werden nun diese Daten angezeigt.

wie krieg ich das nun am besten hin?

notre
22.03.2004, 18:27
Hallo streetshark,

also: das problem ist, dass sich dein formular was merken müsste, nämlich, dass du deinen schalter schon gedrückt hattest oder eben nicht.

leider kann sich das formular sowas nicht merken, d.h. du musst den wert, ob standard(!) an oder aus ist, in ein extra feld (z.b. in einer eigenen tabelle für einstellungen) ablegen.

den wert kannst du dann über vba abfragen und ggf. deine standard-daten dann abhängig vom ergebnis setzen.

war das verständlich oder brauchst mehr infos?

gruß
notre

Streetshark
23.03.2004, 07:12
Diese Idee hatte ich auch bereits einmal. Leider krieg' ich es nicht hin, dass das Formular seine Daten in eine Tabelle speichert, bzw. wieder abruft.

Webster
23.03.2004, 07:20
versuchs mal mit dem Setzen deiner Wünsche in einem Unterformular und dem Aufruf des Berichts aus dem Hauptformular.

Engeli
23.03.2004, 08:10
Hallo

Würdest Du Bitte nochmals genau erklären, was Du machen möchtst. Die Info's sind für mich ein bisschen dürftig. evt. kleine DB anhängen.

Gruss Markus

Arne Dieckmann
23.03.2004, 09:23
Wenn es sich um reines Statistikformular handelt, das ansonsten ungebunden ist, dann langt es, dieses an eine "Einstellungstabelle" zu binden. Dann kannst Du die Standardwerte für die Suchoptionen dort einfach speichern, indem Du die Steuerelementinhalte der Textfelder ("von", "bis") auf die entsprechenden Tabellenfelder einstellst. So "merkt" sich Access immer die letzten Sucheinstellungen.
Zum Rücksetzen kannst Du Dir einen Button basteln, der die Inhalte mit Konstanten ersetzt ...

Streetshark
23.03.2004, 09:45
Ich habe eine Tabelle "STA-AMAG". In dieser befinden sich "Transporteur", "Abgeber", "Ort", "Menge", "Datum".

In meinem Formular habe ich ein Kombinationsfeld und 2 Textfelder. Im Kombifeld wird der entsprechende Transporteur ausgewählt (funktioniert) und in den Textfeldern die Eckdaten (funktioniert ebenfalls). Anhand dieser Daten wird nun ein Bericht erstellt.

Nun möchte ich, dass man mit einem Haken das aktuell in das Textfeld eingegebene Datum als Standart speichert und von nun an als "Vorschlag" im Feld hat.

Arne Dieckmann
23.03.2004, 09:58
Zunächst solltest Du 2 Datumsfelder in "STA-AMAG" haben, um End- und Startdatum speichern zu können. BTW: Verwende keine Sonderzeichen wie "-" in Bezeichnern, damit machst Du Dir das Leben nur unnötig schwer. S. auch FAQ 1.5 (Link in meiner Signatur).


Binde das Formular an die o.g. Tabelle. Lege 2 unsichtbare Textfelder an, die Du wiederum an die Datumsfelder in der Tabelle bindest (über den Steuerelementinhalt). Dann verwende am besten Buttons statt der Checkbuttons neben den ungebundenen Textfeldern "Startdatum" und "Enddatum". Das Buttonereignis müsste dann jeweils so aussehen:

'Button#1 - Textfeldnamen anpassen:
Me![UnsichtbarStart]=Me![Startdatum]

'Button#2 - Textfeldnamen anpassen:
Me![UnsichtbarEnde] = Me![Enddatum]


Beim Laden des Formulares kannst Du durch Umkehrung der o.g. Ereignisse die Kriterienfelder wieder befüllen:

Me![Startdatum]= Me![UnsichtbarStart]
Me![Enddatum]=Me![UnsichtbarEnde]


Wenn es unbedingt über die Checkboxen gehen soll, muss man natürlich anders vorgehen. Dann müsstest Du zunächst aber sagen, wann die Werte gespeichert werden sollen (beim Schliessen des Formulares?)


BTW: Standard wird immer noch mit "d" am Ende geschrieben. :)

Streetshark
23.03.2004, 10:12
Funktioniert leider nicht so ganz.
Wenn ich auf den "Standart speichern" Button klicke, kommt eine Fehlermeldung.

Streetshark
23.03.2004, 10:12
Sorry, hab vergessen den Code mitzuschicken:

Arne Dieckmann
23.03.2004, 10:15
Wie sieht denn momentan der Steuerelementinhalt der beiden Felder standartstarthide und standartendhide aus?


Bitte das nächste Mal den Code per Text und nicht als Bild einfügen, danke.

Streetshark
23.03.2004, 10:37
Es erscheint in beinden Steuerelementen "#Name?".

Ich habe jedoch nicht 2 Datumsfelder in der Tabelle "STA-AMAG" erstellt. Stattdessen habe ich eine separate Tabelle für diese Wert erstellt. (habe jedoch bereits 1 Datensatz eingegeben).
Ich kann in der Tabelle "STA-AMAG" kein 2. Datum eingeben, da es sich um Transprotaufträge handelt. Wird an 1 Tag erledigt (Bericht beinhaltet dann sämtliche Transportaufträge zwischen startdatum und enddatum)

Arne Dieckmann
23.03.2004, 10:41
Sorry, ich dachte, dass es sich bei "STA-AMAG" um die Tabelle handelt, die dazu dient, die Optionen festzuhalten (nennen wir die separate Tabelle jetzt einmal "tblOptionen").

Dann lasse das Statistik-Formular auf "tblOptionen" (die mit den beiden Datumsfeldern) basieren und weise den Steuerelementinhalten (s. Eigenschaften der Textfelder) die Felder aus "tblOptionen" zu:

standartstarthide
standartendhide

ohne Tabellenname davor - das wird nämlich schon über die Formulareigenschaft "Datenherkunft" geregelt.


Wenn Du nicht weiterkommst, dann erstelle eine Beispieldatenbank mit dem Formular und "tblOptionen". Lade diese Beispieldatenbank hier hoch und ich sehe, was sich da machen lässt.

Streetshark
23.03.2004, 11:22
Wesshalb wird meine DB nicht kleiner wenn ich Datensätze lösche???

Kann sie so nicht schicken da sie zu gross ist...

Arne Dieckmann
23.03.2004, 11:25
Hast Du meine Änderungen im vorigen Beitrag schon gesehen? Evtl. liegt es schon daran ...

Um die Datenbank kleiner zu bekommen, gehe einmal auf Extras/Datenbankdienstprogramme/Datenbank reparieren und komprimieren.

Anschliessend musst Du die Datenbank noch mit WinZip komprimieren, da reine MDBs nicht hochgeladen werden könne.

Streetshark
23.03.2004, 12:55
Tja nun hab ich den Fehler gefunden... :stupid:
Hatte keine Datenherkunft definiert.

Nun kann ich einen neuen Standard ;) definieren und er wird im versteckten Steuerelement angezeigt.
Leider weiss ich nicht so recht, wie ich das ganze "Beim Öffnen des Formulars" hinkriege.
Wie kann ich "onOpen" richtig einsetzen?

Arne Dieckmann
23.03.2004, 13:08
Versuche einmal beim Formular-Ereignis "Bei Laden":

Private Sub Form_Load()

Me!startdatum_txt = Me!standartstarthide
Me!enddatum_txt = Me!standartendhide

End Sub

Streetshark
23.03.2004, 13:26
Tja nun hab ich das Problem gefunden :stupid:
Ich habe gar keine Datenherkunft angegeben.

Ich kann nun einen neuen Standard ;) definieren. Leider weiss ich nicht so recht, wie ich das ganze "Beim Öffnen" hinkriege. Wie muss ich "onOpen" verwenden?

Arne Dieckmann
23.03.2004, 13:28
Wenn ich eine Webcam hätte, dann wüsstest Du, dass ich momentan so aussehe:

:confused:


(s. meinen vorigen Beitrag).

Streetshark
23.03.2004, 13:41
Sorry bin echt zu dumm für diese Formum.... :stupid: :stupid: :stupid:

Hab nicht gescheckt, dass der Thread auf mehrere Seiten aufgeteilt wurde.... Dachte deshalb, dass meine Antwort sei nicht angenommen worden... :holy:

ABER ES FUNKTIONIERT!!!! :dance:

Danke vielmals