PDA

Vollständige Version anzeigen : #Name? in Formular ausblenden


mille81
04.05.2011, 13:06
Hallo zusammen,

folgendes Problem:
Ich rufe ein Formular auf in dem man nach einem Namen suchen kann.
Beim Aufruf steht in allen Feldern "#Name?"

Grund ist, dass ich die Suche noch nicht gestartet habe (Die wird erst bei Eingabe des Suchwortes und anschließendem Verlassen des Feldes gestartet).

Ich würde gern einfach den Text des Feldes beim Öffnen des Formulars, weiß setzen, damit "#Name?" nicht zu sehen ist. und nach starten der Suche soll der Text wieder schwarz sein.

Bedingte Formatierung mit Ausdruck? wenn ja wie?

thx

Atrus2711
04.05.2011, 13:29
Das wäre nur Symptombehebung. Mach den Detailbereich einfach im Entwurf unsichtbar, und setze ihn auf Sichtbar, sobald die Suche abgeschlossen ist.

ebs17
04.05.2011, 13:53
Ein Unsichtbar-Stellen ist keine Symptom-Behandlung?

Man könnte ein Formular leer oder ohne Datenherkunft öffnen und dann entsprechende Zuweisungen machen, wenn man die notwendigen Inhalte parat hat.

mille81
04.05.2011, 14:16
Symptombehebung wäre okay. ich weiß ja das der Fehler da ist, ist nur für den User verwirrend.

Habs mit Me.Detailbereich.Visible = False/True gelöst

Atrus2711
04.05.2011, 14:17
Das ursächliche Grundproblem von #Name ist, die ergebnistragenden gebundenen Steuerelemente zu zeigen, bevor sie Sinn haben. Also werden sie nicht gezeigt.

Das Zuweisen der Steuerelementinhalte nach der Suche ist letzlich auch nur eine Symptombehandlung...

ebs17
04.05.2011, 14:31
Wenn ich einen Fehler und erst dadurch dessen Anzeige und Wirken gar nicht erst auftreten lasse, würde ich das nicht Symptom-Behandlung bezeichnen. Ohne Fehler gibt es keine Symptome.
ich weiß ja das der Fehler da ist
Dann kennst du doch auch die Ursache dafür? Behebe die Ursache.

#Name resultiert aus einer Berechnung mit einem fehlenden Bezug. Wenn man die Berechnung erst ausführt, wenn der Bezug hergestellt ist, wäre doch alles ok., oder?

mille81
04.05.2011, 14:34
ja klaro dann wär's natürlich sauberer.
ich schau mal. aber erstmal ist es so für mich okay.

Atrus2711
04.05.2011, 14:34
Und was haben die ungebundenen Steuerelemente dann vor dem Such-Ende für einen Sinn? Keinen!

#Name resultiert aus einer Berechnung mit einem fehlenden Bezug
Ja, z.B. weil die Datenquelle noch leer ist. Und solange die Datenquelle leer ist, brauche ich keine daran gebundenen Steuerelemente zu sehen.

ebs17
04.05.2011, 14:55
Eine Sinn-Frage ist eine andere als eine Fehler-Frage.

Vorhersehbare Probleme kann man erkennen und prüfen und so das Auftreten eines Fehlers vermeiden,
- indem man den Prozess anhält oder abbricht,
- einen gültigen Ersatzwert bereitstellt,
- einen anderen fehlerunträchtigen Weg einschlägt o.a.
#Name als Anzeige kommt dann auch nicht plötzlich und völlig überraschend.

Vogel-Strauß-Verhalten (was ich nicht sehe, ist nicht da) ist bestenfalls ein schmutziger Workaround, aber doch keine nachahmenswerte Programmierrichtlinie.

Im konkreten Fall: Eine Suche mit Anzeige des Ergebnisses ist ein sehr überschaubarer Vorgang mit einem Zustand vor und einem Zustand nach Bereitstellung notwendiger Parameter, vermutlich sogar mit einer präzisen Zäsur (Buttonklick).

Atrus2711
04.05.2011, 15:16
Eine Suche mit Anzeige des Ergebnisses ist ein sehr überschaubarer Vorgang mit einem Zustand vor und einem Zustand nach Bereitstellung notwendiger Parameter, vermutlich sogar mit einer präzisen Zäsur (Buttonklick).
Da bin ich ganz bei dir. Beim Klicken kann man die ermittelten Ergebnnisse zeigen. Den schmutzige(n) Workaround verbitte ich mir allerdings. Mit dem Argument wären alle Ein- und Ausblendungen von derzeit unerwünschten Controls schmutzig. Schmutzig ist eher das Anzeigen von Informationen oder deren Platzhaltern, die derzeit noch keinen Sinn haben können. Das legt eine falsche Fährte.

Ersatzwerte haben auch ihre Tücken. Man könnte sie als Treffer missverstehen: "Hey, es gibt tatsächlich einen Kunden, der hat keinen Vornamen und keinen Nachnamen!"

Suchergebnisse sind Ergebnisse. Solange die Suche nicht läuft, sind Ergebnisse gelogen.

ebs17
04.05.2011, 15:29
Mit dem Argument wären alle Ein- und Ausblendungen von derzeit unerwünschten Controls schmutzig.
Ich würde zwischen "derzeit unerwünscht" und "aktuell fehlerbehaftet" unterscheiden. Nach wie vor würde ich erstes Augenmerk auf die fehlerbehaftete Berechnung und die Beseitigung des Fehlers richten. Also kann ich obige Schlussfolgerung nicht nachvollziehen.

In etwa dreieinhalb Stunden gibt es ein Livemeeting (virtueller Stammstisch), zufällig mit dem Thema "Fehlerbehandlung - Wie geht man mit Fehlern um?". Das wäre doch ein idealer Platz, um diese Diskussion unter breiterer Beteiligung zu vertiefen bzw. aufzulösen.

Atrus2711
04.05.2011, 15:33
Der "Fehler" liegt ja offenbar nur in der momentan noch nicht vorhandenen Datenherkunft. Grundsätzlich sind die Ergebnis-Controls ja nutzbar, denn sie verlangen ja keine grundsätzlich unmögliche Wertermittlung . Sie ist eben nur derzeit unmöglich - und damit derzeit unerwünscht.

Zum Livemeeting heute hätte ich mich gerne angemeldet, bin aber terminlich gebunden. Ein andermal.

ebs17
04.05.2011, 15:47
Bezüglich Livemeeting: Vielleicht ist ja schon die Aufzeichnung, die Josef sicher vornehmen wird, ergiebig genug.

Übrigens wäre es ja die Aufgabe des TE, mal konkrete Umstände zu nennen. Recht oft gibt es ja verschiedene Wege und Gestaltungen, die (bestimmte) Fehler gar nicht erst auftreten lassen. (Meine obige Aufzählung ist als unvollständige OR-Aufzählung zu verstehen.)