Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: MaxP am Juli 05, 2019, 11:40:13

Titel: Alle Felder eines Formulars identifizieren
Beitrag von: MaxP am Juli 05, 2019, 11:40:13
Hallo zusammen,

ich habe mehrere Formulare mit insgesamt rd. 500 Text-, Memo- u. Datumsfeldern, in denen div. Informationen zu einem Gebäude eingetragen werden.

Nun kommt es häufig vor, dass die eingegebene Information noch unvollständig oder nicht verifiziert ist. Dann trage ich zusätzlich ein ? oder xx ein. Die Breite der Text- u. Memofelder ist häufig kleiner als ihr Inhalt, so dass das Ende des Textes somit z.B. das ? nicht mehr zu sehen ist.

Gibt es eine Möglichkeit, über VBA z.B. beim Öffnen des Forms alle Text- u. Memofelder (ohne Datumsfelder), die ein ? oder xx enthalten, rot einzufärben, um sie für nachträgliche Bearbeitung leichter zu finden? Aufgrund der zahlreichen Felder möchte ich ungern mit Bedingter Formatierung arbeiten.

Zusatzfrage: Gibt es eigentlich unter A03 ein spezielles Text- oder Memofeld, dass man in der Formularansicht aufziehen also vergrößern kann? (wie in diesem Editorfenster)

Gruß
Max
Titel: Re: Alle Felder eines Formulars identifizieren
Beitrag von: DF6GL am Juli 05, 2019, 12:07:26
Hallo,  das Eintragen eines "Status" im betroffenen Datenfeld ist (mindestens) nicht zu empfehlen.


Besser wäre, für jedes in Frage kommende Feld ein zugehöriges Statusfeld zu spendieren. 

Zitatmehrere Formulare mit insgesamt rd. 500 Text-, Memo- u. Datumsfeldern

Das sagt wenig aus.

Wie viele Felder hat das "größte" Formular? Und zeige das Beziehungsfenster und einen Screenshot dieses Forms

Es hört sich stark nach nicht normalisierter Datenstruktur an.
Titel: Re: Alle Felder eines Formulars identifizieren
Beitrag von: MaxP am Juli 08, 2019, 09:55:43
Hallo,

es handelt sich im Wesentlichen um ca. 14 Einzelformulare einer älteren DB, die nicht miteinander verknüpft sind. Das größte hat etwa 50 Text- bzw. Memofelder.

Ich hatte gehofft, dass eine "pauschale" Überwachung pro Formular möglich wäre. Der Aufwand, für jedes infrage kommende Feld ein Statusfeld einzurichten, ist dann doch recht hoch. Und wozu eine Info speichern, die jederzeit auch ohne Speichern abzurufen ist?

Dann könnte ich doch auch für jedes einzelne Feld einen VBA-Einzeiler zum farbigen Markieren des Felds schreiben, oder?

Gruß
Max
Titel: Re: Alle Felder eines Formulars identifizieren
Beitrag von: PhilS am Juli 08, 2019, 10:30:53
Luftcode:

    Dim ctl as Control
    For Each ctl In DeinForm.Controls
        If ctl.ControlType = acTextBox Then
            If ctl.Value Like "*xxx*" Then
                ctl.BackColor = vbRed
            End If
        End If
    Next ctl
Titel: Re: Alle Felder eines Formulars identifizieren
Beitrag von: ebs17 am Juli 08, 2019, 12:44:25
ZitatAufgrund der zahlreichen Felder möchte ich ungern mit Bedingter Formatierung arbeiten.
Diese ist zwar eine Performancebremse, wäre aber das Mittel der Wahl nach Deiner Beschreibung. Wenn Dir das händische Eintragen zu viel Arbeit ist, kannst Du ja auch einen Code schreiben. Mit etwas System kannst Du das Setzen per Schleifen umsetzen.

Ansonsten könnte man der Meinung sein, dass man sich bei der vorhandenen Gestaltung ganz schön verzettelt hat und ggf. über grundlegende Änderungen nachdenken könnte.
Titel: Re: Alle Felder eines Formulars identifizieren
Beitrag von: MaxP am Juli 08, 2019, 13:00:43
Hallo,

@ Phil
Das ist es, was ich gesucht habe!
Habe noch acComboBox hinzugefügt.

Problem gelöst. Danke Euch.

Gruß
Max