Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular mit extrem vielen Datenfeldern ... welcher Lösungsansatz?

Begonnen von derilzemer, Februar 01, 2015, 11:25:34

⏪ vorheriges - nächstes ⏩

derilzemer

#105
Hi,
ja weil ich der Meinung war, daß sich ja das frmErfassungUfoQuartUfoKarten zu aktualisieren habe. Das frmKartenMerkmal waren die Daten ja nach Eingabe sichtbar aktuell. Aber da fällt es mir oftmals schwer die Zusammenhänge zu begreifen :(. Einfach ist anders für mich, leider. Ich habe jetzt noch für das Formular frmErfassungUfoQuartUfoKarten unter Ereignis "Beim Schließen" den Code Private Sub Form_Close()
    Forms!frmErfassung!frmErfassungUfoQuart.Form!frmErfassungUfoQuartKarten.Form.Requery
End Sub

hinterlegt. Es fand keine Aktualisierung statt. Auch hier hätte ich das rein von der Logik aus im Ereignis "Bei Geändert" gesehen, da sich doch das Formular nicht wirklich schließt. Das schließt ja erst, wenn ich das Formular frmErfassung schließe. Das habe ich dann mal versucht. Naja, beim lesen wirst du schon den Kopf geschüttelt haben, was ich nach dem versuchen festgestellen musste. Ergo, es geht nicht.
Gruß und Gute Nacht
Andreas

PS: Bei dem hinterlegten Textfeld zur Erkennung ob Werte eingetragen sind, was muss man da tun, damit er bei leeren Feldern
nicht #Fehler

erscheint? Da muss man doch noch was wegen Null Werten im Code ergänzen, oder?
Grüße und Dank im voraus
Andreas

HB9876

Hallo,
ZitatPS: Bei dem hinterlegten Textfeld zur Erkennung ob Werte eingetragen sind, was muss man da tun, damit er bei leeren Feldern
nicht #Fehler
so wie ich das sehe must du hier die NZ Funktion nutzen.
Nz([dein_Feld],0)
Probiere das mal, kann aber evtl. auch falsch sein.

Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

MaggieMay

Hi,
Zitat von: derilzemer am Februar 25, 2015, 00:00:40Ich habe jetzt noch für das Formular frmErfassungUfoQuartUfoKarten unter Ereignis "Beim Schließen" den Code Private Sub Form_Close()    Forms!frmErfassung!frmErfassungUfoQuart.Form!frmErfassungUfoQuartKarten.Form.Requery
End Sub

hinterlegt.
das ist überflüssig, beim Schließen aktualisieren sich die daten automatisch, außerdem sieht das dann ja keiner mehr. ;-)

Wie gesagt sollte die Aktualisierung beim Schließen des Eingabeformulars für die Merkmale ("frmKartenMerkmal") stattfinden, denn das ist der Zeitpunkt wo du zum Erfassungsformular ("frmErfassung") zurückkehrst und den veränderten Zustand der Quartettkarten gerne sehen möchtest.

Zitatwas muss man da tun, damit er bei leeren Feldern nicht #Fehler erscheint?
Das lässt sich folgendermaßen lösen:=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & NZ([QuKartenID];0))Mit "#" als Formateinstellung des Textfeldes machst du die so erzeugte 0 unsichtbar.
Freundliche Grüße
MaggieMay

derilzemer

Hi,
Zitat
so wie ich das sehe must du hier die NZ Funktion nutzen.
Nz([dein_Feld],0) Probiere das mal, kann aber evtl. auch falsch sein.
das hätte schon gepasst. Dein Vorschlag wurde ja bestätigt, deshalb auch dir danke.

Gruß Andreas
Grüße und Dank im voraus
Andreas

derilzemer

Hi,
Zitat
Wie gesagt sollte die Aktualisierung beim Schließen des Eingabeformulars für die Merkmale ("frmKartenMerkmal") stattfinden, denn das ist der Zeitpunkt wo du zum Erfassungsformular ("frmErfassung") zurückkehrst und den veränderten Zustand der Quartettkarten gerne sehen möchtest.
......Okay jetzt habe ich das auch richtig platziert. Ich hatte ....
ZitatDas Aktualisieren des anderen Formulars sollte beim Schließen des Eingabeformulars passieren. Das wäre das Close-Ereignis.
völlig fehlinterpretiert :(. Dachte ich muss im anderen Formular zusätzlich eine Ereignis platzieren :(. Hab es jetzt korrekt gesetzt und es passt.

ZitatDas lässt sich folgendermaßen lösen:=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & NZ([QuKartenID];0))Mit "#" als Formateinstellung des Textfeldes machst du die so erzeugte 0 unsichtbar.
Auch das funktioniert (ich weiss, das war dir klar :) .....). Danke für die Erklärung.
Gruß Andreas
Grüße und Dank im voraus
Andreas

derilzemer

Hi,
da hätte ich noch ein Thema zum aktualisieren bei Eingabe. Im gleichen Formular wie zuvor beschrieben habe ich ja die Möglichkeit Quartette einzugeben. Das ist auch nötig um später die Kartenmerkmale hinterlegen zu können. Dazu nutze ich die Schaltfläche Quartett hinzufügen im frmErfassungUfoQuart. Dann gebe ich die Quartett KZ ein und los geht es mit der Eingabe der 4 Einzelkartzen des Quartetts. Habe ich das getan und möchte ein weiteres Quartett hinzufügen, dann bleibt das Listenfeld lstQuartettAuswahl noch leer, auch wenn ich weitere Quartette hinzufüge. Erst wenn ich den Datensatz wechsel, z.B. rein und raus gehe, dann ist lstQuartettAuswahl befüllt. Nun dachte ich, nimm einfach das Feld QuartettKZ und gebe über Ereignis --> Beim verlassen folgende Code ein
Private Sub QuartettKz_Exit(Cancel As Integer)
    Me.lstQuartettAuswahl.Requery
End Sub

Es passiert nicht das von mir erwartete, dass er das Listenfeld aktualisiert und das zuletzt eingegebene Quartett dann anzeigt. Ich habe Alternativ das ganze auch bei Fokusverlust versucht, mit dem selben Ergebnis.
Was habe ich jetzt wieder nicht verstanden, bzw. muss ich ändern?
Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

Hallo,

Exit ist hier nicht das geeignete Ereignis, statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.
Freundliche Grüße
MaggieMay

derilzemer

Hi,
ZitatExit ist hier nicht das geeignete Ereignis, statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.
Beim Speichern, da würde mir adhoc dazu einfallen, dass ich die Schaltfläche "Quartett hinzufügen" mit dem Requery belegen wollte. Das habe ich verworfen, weil ich dachte, der ist doch schon mit einer Klick Aktion belegt. Das muss man mir nachsehen, da ich keine Ahnung von VBA habe, wusste ja nicht wie man so etwas ergänzen kann/soll/darf. Ich habe das Ereignis einfach ergänzt und es geht. Manchmal  :-\

Private Sub cmdQuartettNeu_Click()
On Error GoTo Err_cmdQuartettNeu_Click

    [b]Me.lstQuartettAuswahl.Requery[/b]
    DoCmd.GoToRecord , , acNewRec

Exit_cmdQuartettNeu_Click:
    Exit Sub

Err_cmdQuartettNeu_Click:
    MsgBox Err.Description
    Resume Exit_cmdQuartettNeu_Click
   
End Sub



Danke.
Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

#113
Hallo,
Zitat von: MaggieMay am Februar 26, 2015, 23:11:48statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.

und das wäre das Formularereignis "Nach Aktualisierung".

Nachtrag:
Aber das aktualisiert sich doch bereits scheinbar ganz von allein. ?
Freundliche Grüße
MaggieMay

derilzemer

Hi Maggie,
Zitat
Aber das aktualisiert sich doch bereits scheinbar ganz von allein. ?
bevor ich diesen Zusatz nun gemacht habe nicht. Zuvor erhielt ich erst die Aktualisierung, wenn ich den kompletten Datensatz gewechselt habe, also raus und rein. Dann sah ich erst das oder die angelegten Quartette. Jetzt sehe ich sie, sobald ich die Schaltfläche anklicke.

Das Thema mit dem refresh scheint irgendwie ein allgemeines in Access zu sein.
Wenn ich z.B. einen neuen Datensatz anlege, Dann wähle ich im ersten Schritt den Verlag aus, den er auch anzeigt. Dann Tab --> ins Feld Spiel Titel und schwups, das Feld Verlag ist leer. Erst wenn ich dann ins Feld Serie komme (Reihenfolge Nr.4) und die entsprechende Serie ausgewählt habe und auch das Feld verlasse, zeigt er den Verlag wieder an. Woran liegt das? Das Feld Verlag und Kategorie haben ja eine Abhängigkeit. Nach Auswahl des Verlages stellt das Feld Serie aktualisiert und stellt nur noch die Verlagsspezifischen Serien zur Verfügung. Ich denke mal das Verhalten geht damit einher. Aber wo da der Haken drin ist, da bin ich doch überfragt, auch wenn ich mir in meinem Forumsprofil mittlerweile wohl den Status Access-Profi "erschrieben" habe  :-[.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

Hallo Andreas,
ZitatDas Thema mit dem refresh scheint irgendwie ein allgemeines in Access zu sein.
ich denke das ist nur die Frage, den richtigen Befehl zur richtigen Zeit einzusetzen.
ZitatDann Tab --> ins Feld Spiel Titel und schwups, das Feld Verlag ist leer.
Das ist nicht normal, fragt sich, was du im Hintergrund machst.

Und das mit der Aktualisierung des Listenfeldes hat ja auch schon mal geklappt.

Du kannst ja mal deine aktuelle Version hochladen, dann kann man dir bei der Ursachenforschung helfen.
Freundliche Grüße
MaggieMay

derilzemer

#116
Hi,
ich habe die DB mal angehängt mit abgespecktem Datenbestand. Eines muss ich noch dazu sagen. Das Feld cboVerlagID überlagert das Feld Verlag. Das hat Klaus wegen der Abhängigkeit so gemacht, wenn ich es richtig verstanden habe.
Ich denke mal das ist nichts großes. Ich habe gedacht ich kann das lösen wenn ich es aus der Reihenefolge nehme, aber das geht nicht, weil ich dann die Verlage nicht mehr auswählen kann und die Serien nicht mehr eingeblendet werden. Wäre auch zu einfach gewesen :(.
Gruß Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

#117
Hallo,
das Kombi zur Auswahl des Verlages muss in den Vordergrund. Das kann man über das Formatmenü einstellen. Kombifeld markieren > In den Vordergrund.
Dann bleibt der Inhalt sichtbar.
Oder: Hintergrundart des Textfeldes auf Transparent stellen.

Kannst Du das andere Problem (wenn es noch eines gibt) noch mal beschreiben, sonnst müsste ich das alles noch mal lesen. Ich habe da nicht mehr so verfolgt.
Gruß Klaus

derilzemer

Hallo Klaus,
schön von dir zu hören. Ich hoffe du bist nicht da nieder gelegen wegen der Grippe die da um geht.
Das ist ja schon wieder peinlich für mich die Lösung :(. Problem besteht kein aktuelles. Einzig die Sache mit der tblRSMotiv, also den Rückseiten, wo oder wie ich sie am geschicktesten einbinde, das ist als Thema "offen". Ansonsten sind die kleineren Sachen alle mit Hilfe von den anderen Forumslesern gelöst. Wenn du da noch mal zur Sache mit den Rückseitenmotiven deine Expertise geben könntest, das wäre super.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

Hallo,
nein, ich war nicht krank. Nur wenn andere Forumsteilnehmer an Lösungen arbeiten, halte ich mich meist zurück. Wenn ich nicht gerade Fehler erkenne und das ist ja bei MaggieMay relativ unwahrscheinlich.  ;D

Am Sonntag bin ich wahrscheinlich zu Hause, da werde ich noch mal an die Sache mit den Rückseiten rangehen.
Gruß Klaus