Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: mad am Januar 01, 2020, 08:59:39

Titel: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 01, 2020, 08:59:39
Hallo Zusammen,

habe folgendes Phänomen, sobald in meinem UF (UF_JF_Abzeichen_Summe; Abfrage: qyr_JF_Abzeichen_Summe) keine Werte enthalten sind, wird zwar mein HF (frm_Jahresbericht_JF_Anzahl) geöffnet, aber es wird nichts angezeigt. Keine Textfelder, nicht das UF, nichts was sich im Detailbereich befindet. Im Formularkopf werden zwar die Felder angezeigt aber ohne Inhalt.
Habe das erst jetzt zum Jahreswechsel festgestellt, da natürlich für 2020 im UF/Abfrage noch keine Daten existieren.

Wie kann ich mein Formular anzeigen lassen auch wenn das UF/Abfrage keine Daten enthält?
Hätte jemand einen Lösungsansatz?


Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: DF6GL am Januar 01, 2020, 09:59:28
Hallo,

das Verhalten ist normal und gibt es schon seit Anbeginn.


Wenn die Abfrage für das UFO aktualisierbarund die Form-Eigenschaft  "Daten/Anfügen zulassen" ( und evtl. "Daten/Bearbeitungen zulassen") auf ja gestellt ist, wird im Detailbereich ein neuer DS angezeigt.
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: ebs17 am Januar 01, 2020, 13:21:31
Zitates wird nichts angezeigt. Keine Textfelder, nicht das UF
...
Im Formularkopf werden zwar die Felder angezeigt aber ohne Inhalt
Wenn kein Formular sichtbar wäre, wo erkennt man dann Formularköpfe? Solche Dinge bekommt mein Logikprozessor nicht zusammen.

Zwischen gar nichts und keine Daten liegen doch Welten.
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 01, 2020, 17:32:09
Hallo,
ZitatWenn kein Formular sichtbar wäre, wo erkennt man dann Formularköpfe? Solche Dinge bekommt mein Logikprozessor nicht zusammen.
habe mal zwei Bilder im Anhang, wie es aussehen sollte und wie es aktuell Aussieht solange kein DS in der Abfrage vorhanden ist. "rot" ist Formularkopf, "orange" ist Detailbereich.

ZitatWenn die Abfrage für das UFO aktualisierbarund die Form-Eigenschaft  "Daten/Anfügen zulassen" ( und evtl. "Daten/Bearbeitungen zulassen") auf ja gestellt ist, wird im Detailbereich ein neuer DS angezeigt.
Die Formeigenschaften sind bereits so wie beschrieben. Wobei es sich hierbei nur um ein Formular zum Anzeigen handelt, es werden keine Eingaben gemacht.

An was könnte es denn noch liegen?


Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: DF6GL am Januar 01, 2020, 19:24:10
Hallo,

Wenn die Abfrage für das UFO aktualisierbar....

Ist sie das ??

An dem ockerfarbenen Bereich ist nicht zu erkennen, ob es sich um den Detailbereich eines Unterformulars handelt und ob sich die Aussage über die Aktualisierbarkeit der zugrundeliegenden Abfrage darauf bezieht..
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 02, 2020, 11:20:03
Hallo,

ZitatWenn die Abfrage für das UFO aktualisierbar....
weiß leider nicht was damit gemeint ist.

Hilft das Bild im Anhang?
Es handelt sich um das Unterformular (links) nicht um das Listenfeld (rechts).


Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 02, 2020, 16:44:53
Hallo Zusammen,

da mein Formular auf viele Abfrage basiert, bin ich diese nochmals Schritt für Schritt durchgegangen.
Und habe festgestellt das auf allen die Nz() Funktion angewendet ist, nur nicht auf die für das UF (UF_JF_Abzeichen_Summe). Diese basiert wiederum auf der Abfrage "qyr_JF_Abzeichen".

Wie könnte ich nun in meine Abfrage "qyr_JF_Abzeichen" auch die Nz() Funktion anwenden?
SELECT tblJFWWettbewerbTitel.JFWWettbTitel, tblJFWWettbewerb.JFWWettbTitelID_J
FROM (Personal INNER JOIN (tblAufgabeTitel INNER JOIN tblRegistrierungAufgabe ON tblAufgabeTitel.AufgabeTitelID = tblRegistrierungAufgabe.AufgabeID_A) ON Personal.PID = tblRegistrierungAufgabe.PID_A) INNER JOIN ((tblJFWWettbewerbTitel INNER JOIN tblJFWWettbewerb ON tblJFWWettbewerbTitel.JFWWettbTitelID = tblJFWWettbewerb.JFWWettbTitelID_J) INNER JOIN tblRegistrierungJFWWettbewerb ON tblJFWWettbewerb.JFWWettbID = tblRegistrierungJFWWettbewerb.WettbID_J) ON Personal.PID = tblRegistrierungJFWWettbewerb.PID_J
WHERE (((Year([JFWWettbEnde]))=Year(Date())))
GROUP BY tblJFWWettbewerbTitel.JFWWettbTitel, tblJFWWettbewerb.JFWWettbTitelID_J, Personal.PID, Personal.NameP, Personal.statusID_P, tblRegistrierungJFWWettbewerb.StatusRegID_J, tblRegistrierungAufgabe.AufgabeID_A
HAVING (((Personal.statusID_P)=1 Or (Personal.statusID_P)=2) AND ((tblRegistrierungJFWWettbewerb.StatusRegID_J)=2) AND ((tblRegistrierungAufgabe.AufgabeID_A)=113));


Da die anderen deutlich einfacher aufgebaut sind, weis ich leider nicht wie ich hier die NZ-Funktion anwenden könnte.


Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: DF6GL am Januar 02, 2020, 20:59:45
Hallo,

die Abfrage ist gruppiert und dadurch nicht aktualisierbar, was zu einem ebenfalls nicht aktualisierbaren Formular führt, das keinen neuen DS anzeigen kann.

Da hilft auch die NZ-Funktion nichts.


Öffne den Abfrage direkt aus der Navibereich und prüfe ob (unten) ein neuer DS angezeigt wird. Wenn nicht, ist die Abfrage für Dateneingabe nicht brauchbar.

Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 03, 2020, 19:08:17
Hallo,

meine Abfrage "qyr_JF_Abzeichen_Summe" für das UF "UF_JF_Abzeichen_Summe" zeigt keinen neuen DS an.
Aber wie Anfangs bereits erwähnt ist dieses HF und UF nicht für eine Dateneingabe gedacht, sondern nur zum zeigen der Daten.
Ich habe auch mal eine andere Abfrage/UF zu Testzwecken für das oben genannte UF in das HF eingefügt, hat aber auch nichts gebracht.

Zum besseren Verständnis habe ich mal eine Test-DB "JF_Jahreszahlen" angehängt.
Wenn man das HF "frm_Jahresbericht_JF_Anzahl" öffnet wird das Formular ohne Inhalte gezeigt.
Wenn man jetzt die Tabelle "tblRegistrierungJFWWettbewerb" umbenennt und dafür die Tabelle "NEU_tblRegistrierungJFWWettbewerb" auch umbenennt ("NEU_" entfernt), sieht man wie das HF die Daten anzeigen soll.

Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: DF6GL am Januar 04, 2020, 08:57:54
Hallo,

Wenn die Abfrage in der Datenherkunft keine Daten liefert, können auch keine Daten angezeigt werden.

Zudem wird der Detailbereich selbst gar nicht erzeugt (durch/von was denn überhaupt..)  . Der Formularkopf, so er denn vorhanden ist, wird davon nicht beeinflusst.

Lege also alle Steuerelemente von Detailbereich in den Formularkopf und setze Detailbereich/Sichtbar auf nein oder verkleinere den Detailbereich maximal.
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 04, 2020, 18:04:51
Hallo,

jetzt werden zwar alle Steuerelemente "angezeigt" aber ohne Inhalte.

Wäre es nicht möglich das in der Abfrage "qyr_JF_Abzeichen_Summe" wenn keine Daten zum Anzeigen zur Verfügung stehen, trotzdem in der Spalte Anzahl eine "0" angezeigt wird, wie z.B. in der Abfrage "qyr_Jahresbericht_JF17". Es sollte aber immer noch die Spalte "JFWWettbTitel" mit angezeigt werden, auch wenn diese leer ist.

Gruss
mad
Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: DF6GL am Januar 04, 2020, 18:49:38
Hallo,

Du kannst Dich drehen und winden wie Du willst, wo nichts ist , ist auch nichts, auch keine 0.

Du musst dafür sorgen, dass die Abfrage einen DS mit "Nullen" liefert, wenn es keine sonstigen Daten gibt.

Das kann evtl. mit einer Union-Abfrage gelöst werden.


Aber ich glaube, Du verrennst Dich in ein Chaos von Abfragen mit unklarer Logik.


Ich würde mal aufräumen und von Anfang an eine vernünftige Tabellenkonstruktion erarbeiten.

Du hast 7  ( 8 ) Tabellen, aber nur 3 in Beziehung gesetzt. Was soll man daraus erkennen?




Titel: Re: HF Werte anzeigen auch wenn UF leer ist
Beitrag von: mad am Januar 05, 2020, 07:20:27
Hallo,

habe mir die ganze Nacht den Kopf zermartert wie ich den das Umsetzen könnte.
Dabei bin ich zufällig auf meinen Fehler gestoßen. In meiner Abfrage "qyr_Jahresbericht_JF_Anzahl" war als Datenherkunft auch die Abfrage "qyr_JF_Abzeichen_Summe" (doppelt-gemoppelt) enthalten.

Habe diese entfernt und jetzt funktionierts.


Danke nochmals
mad