Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

access zeigt leeres formular an





Frage

Hallo! Bastle jetzt schon ne Weile mit Access2003 rum, stoße aber immer wieder auf kuriose Probleme. Ich gebe in einem Formular einen Text ein. Dieser Text wird per Abfrage in einer Spalte einer Tabelle gesucht. Die Ergebnisse werden in einem weiteren Formular angezeigt. Wenn ich nun aber als Text etwas eingebe, was gar nicht in der Tabelle existiert, dann zeigt Access mir das Formular an, aber überhaupt keine Icons, Befehlsschaltflächen, Rahmen, usw. Nur das Hintergrundbild ist zu sehen. Kennt jemand dieses Problem? Es sind beim Formular auch keine Ereignisse eingestellt. Danke. (Wenn ich einen korrekten Text eingebe funktioniert es prima.)

Antwort 1 von Marie

ja, das ist ein Formular ohne Daten, kann man abfangen

prüfe im Ereignis "BeimÖffnen" des Formulars die RecordCount-Eigenschaft

Private Sub Form_OnOpen(Cancel As Integer)
Dim RST AS RecordSet

Set RST = Me.RecordSet
If Me.RecordSet.Eof Then
Cancel = True
MsgBox "Formular ohne Daten wird nicht geöffnet."
End If

Set RST = Nothing
End Sub

Antwort 2 von Ole

Nee, das ist keine Lösung für mich. Hab mich auch nicht vollständig ausgedrückt. In dem Formular gibt es ein Listenfeld und diverse Textfelder. Das Ergebnis der Abfrage wird in dem Listenfeld dargestellt. Falls es nun dazu keinen Eintrag gibt, muss doch eine leere Liste und auf jeden Fall die Textfelder und Schaltflächen angezeigt werden.

Bei anderen Formularen klappt das auch.
Nur bei diesem nicht.

Ich denke, dass ist mal wieder irgendein interner Access-Fehler. Hatte sowas ähnliches schonmal. Da hat er bei einer einfachen Msgbox nur Fehlermeldungen angezeigt. Habe dann das gleiche Formular nocheinmal erstellt und siehe da, es ging wieder.

Werde das hier auch mal probieren.
Danke trotzdem.

Antwort 3 von erik

Dass ein Formular überhaupt nichts mehr anzeigt ist ein normales Verhalten, wenn

- die zugrundeliegende Abfrage kein Ergebnis liefert und ihrer Natur nach keine neuen Datensätze anlegen kann (z.B. UNION-Abfragen)
- die Abfrage kein Ergebnis liefert aber dafür Daten anfügen könnte, das Formular aber die Eigenschaft Anfügen zulassen=Falsch eingestellt hat

Im ersten Fall brauchst du nur die Abfrage in der Datenblattansicht zu öffnen und zu prüfen, ob eine leere Datenzeile am Ende angeboten wird.

Dein Listenfeld ist in diesem Fall Wurscht, es bezieht sich ja schließlich auf die Datenherkunft des Formulars, oder? Und die wird leer sein. Jedenfalls kann von einem internen Access-Fehler nicht die Rede sein.

Antwort 4 von Ole

Danke.

Die hinterlegte Abfrage zeigt keine Leerzeile an.
Aber ich versteh nicht warum gar nichts angezeigt wird. Die Befehlsschaltflächen z.bsp. haben doch gar nichts mit dem Ausgang der Abfrage zu tun? Gibt es da keine Lösung? Ich könnte sicherlich vorher testen, ob die Abfrage leer ist. Aber geht´s auch anders?

Ole

Antwort 5 von Ole

Ich hab´s jetzt gelöst. Hole mir die Daten nicht über Datensatzherkunft, sondern einfach aus dem vorherigen Formular, wo ich sie eingegeben habe.
Ist ja auch viel unklompizierter.

Antwort 6 von erik

Nach meiner Ansicht ist es schon logisch, warum das Formular überhaupt keine Datensätze anzeigt. Im Prinzip dienen alle Steuerelemente auf dem Formular zum Bearbeiten der zugrundeliegende Daten. Wenn aber überhaupt keine Daten bearbeitet bzw. hinzugefügt werden KÖNNEN, warum sollen dann noch Steuerelemente angezeigt werden? Willst du vielleicht bei jedem Steuerelement-Gefummel prüfen müssen, ob wirklich Daten vorhanden sind? :-)

Antwort 7 von Ole

Ja okay, macht Sinn.
Aber es könnte dann wirklich eine autom. Fehlermeldung kommen. Denn man kommt ja von diesem Formular nun nicht mehr weiter oder zurück. Man muss Access beenden und wieder neu starten.
Es gibt nämlich auch Steuerlemente, die wirklich nichts mit den Daten zutun haben, wie "Zurück" oder "Hauptseite".

Gruß,
Ole

Antwort 8 von sushi

Hallo Ole,

wenn du deinen Zurück-Button vom Detailbereich in den Formularkopf/Fuss setzt, sollte er auch bei nicht vorhandenen Daten angezeigt werden.

Antwort 9 von Ole

Hey Sushi.

Danke für den Tipp. Aber jetzt brauch ich ihn leider nicht mehr. Vielleicht für später.

Kennst du das PC-Spiel "Runaway"? (Adventure)
Da heißt auch jemand Sushi. Ich find den Namen lustig. (Bist du männlich oder weiblich? In dem Spiel war´s eine Frau.)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: