Formular-Textfeld (de)aktivieren

Diskutiere Formular-Textfeld (de)aktivieren im Programmierung Forum im Bereich Software Forum; MS Access 2003 Liebe Mituser! Ich habe: Ich arbeite mit einer MS Access 2003-Datenbank. In einem Formular der Datenbank befindet sich ein...
S

Streethawk02

Gast
MS Access 2003

Liebe Mituser!

Ich habe:
Ich arbeite mit einer MS Access 2003-Datenbank. In einem Formular der Datenbank befindet sich ein Textfeld. Daneben ist ein Kontrollkästchen.

Ich möchte:
Das Textfeld soll nur dann aktiviert sein, wenn das Kontrollkästchen auf "ja" steht. Und zwar je nach Datensatz individuell. D.h.:
Datensatz A: Kontrollkästchen "ja" - Textfeld aktiviert
Datensatz B: Kontrollkästchen "nein" - Textfeld deaktiviert

Bisher:
Bisher habe ich es nur geschafft, dass das Textfeld für alle Datensätze gleichzeitig (de)aktiviert wird.

Der Code dazu:

Private Sub SONSTIGES_Click()
If SONSTIGES = True Then
BESCHREIBUNG_SONSTIGES.Enabled = True
Else
BESCHREIBUNG_SONSTIGES.Enabled = False
End If
End Sub


Vielen Dank für eure wertvollen Tipps!
euer
Streethawk02
:blush
 
Zuletzt bearbeitet:
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.153
Standort
DE-RLP-COC
Du aktivierst bzw. deaktivierst das Beschreibungsfeld nur bei nem Klick auf das Kontrollkästchen. Füge deinen Code mal in die Routine ein, die für das Positionieren auf einem neuen Datensatz zuständig ist.
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Wenn du den Code statt in die Felder in den Datenbereich eingibst dann funktioiert das auch.

if feld.value = true then feld2.visible = false

als Beispiel
 
A

AlienJoker

Gast
Wenn du ein Endlosformular hast, geht das nicht. Da gehen nur alle oder keins, weil die ALLE gleich heißen. Das geht in Access schlichtweg gar nicht. Du kannst aber das Kästchen als textfeld "bearbeiten erlaubt" oder so in deinem Formular anzeigen und im übergeordneten Formular baust du die textbox für die Eingabe ein. Diese eingabe wird dann nur akzeptiert, wenn das "bearbeiten erlaubt"-Feld einen entsprechenden "Ja"-Wert enthält.
 
S

Streethawk02

Gast
Was meinst du mit "im übergeordneten Formular"?

Hallo! :satisfied

Danke für die schnelle Antwort. Was meinst du mit "im übergeordneten Formular"?


Gruß
Streethawk02
 
A

AlienJoker

Gast
naja, ein endlosformular lässt sich als unterformular einbetten, aber der code ist dann schon kniffliger.
 
Quant

Quant

Mitglied seit
19.07.2011
Beiträge
67
Ich versteh zwar im Moment nicht ganz, was du da genau machen willst, aber ich würde den Code in Etwa so erweitern:

Code:
Private Sub CheckXX_Click()
 If CheckXX Then
   TextXX.Enabled = True
   AktiviereDatenSatzA()
 Else
   TextXX.Enabled = False
   AktiviereDatenSatzB()
 End If
End Sub

Private Sub AktiviereDatenSatzA()
' Irgendein Code...
End Sub

Private Sub AktiviereDatenSatzB()
' Irgendein Code...
End Sub

' Das ganze zu Programmstart festlegen
Private Sub Form_Load()
 CheckXX.value = True
 AktiviereDatenSatzA()
End Sub
 
A

AlienJoker

Gast
Ich wiederhole mich da nur ungern, aber in einem Endlosformular geht das nicht Zeilenweise an oder abzuschalten.
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Ich wiederhole mich da nur ungern, aber in einem Endlosformular geht das nicht Zeilenweise an oder abzuschalten.
:D doch das geht .... auch wenn du dich wiederholst :D

und zwar über die bedingte Formatierung.
Dadurch erhalte ich die Möglichkeit (wenn auch nicht ausgeblendet) das Feld zu DEAKTIVIEREN!

lG
 

Anhänge

A

AlienJoker

Gast
Die bedingte Formatierung lässt dich nicht abhängig von "Feld 1" ein anderes Feld deaktivieren. Damit kannst du nur ein Feld vom eigenen Inhalt abhängig machen.
 
Quant

Quant

Mitglied seit
19.07.2011
Beiträge
67
Das reicht ja oder? Dann macht man das halt davon abhängig ob am Ende oder Anfang des Feldes ein Leerzeichen ist oder nicht. Ist zwar ein bisschen sehr tricky aber es dürfte doch hinhauen immer ein Leerzeichen in das Textfeld anzufügen, wenn man es deaktiviert haben möchte und beim wieder Aktivieren setzt man dann halt ein anderes Zeichen; bzw. vlt ist Leerzeichen nicht so gut, aber ein anderes Zeichen, dass der Benutzer nicht so leicht selber eingeben kann und wenn doch, wird das von

Private Sub Text_Change()

rausgefiltert (und ein entsprechende MsgBox ausgegeben). Müsste eigtl. hinhauen...
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Die bedingte Formatierung lässt dich nicht abhängig von "Feld 1" ein anderes Feld deaktivieren. Damit kannst du nur ein Feld vom eigenen Inhalt abhängig machen.
Selbstverständlich geht das:

  • Im Feld1 die bedingte Formatierung machen
  • mit dem Inhalt dass Feld2 z.B. einen Wert oder aktiv/inaktiv sein soll
  • und das Feld "aktivieren/deaktivieren" anklicken

Dadurch ist Feld 1 aufgrund des Status von Feld 2 aktiv oder inaktiv.

Funktioniert komplett gleich wie in Excel um Felder von anderen abhängig zu machen.
 
Thema:

Formular-Textfeld (de)aktivieren

Sucheingaben

vba excel form checkbox deaktiviert textfelder

,

alle Datenfelder eines formulars sperren & Access

,

access sperren aktiviert

,
ms access textfeld enabled
, Access VBA Form Felder deaktivieren, access vba formular textfeld aktivieren, access textfeld vba

Formular-Textfeld (de)aktivieren - Ähnliche Themen

  • Emailvorschläge Eintragung Formular

    Emailvorschläge Eintragung Formular: Firefox macht mir Vorschläge, die ich nicht brauche. Wie kann ich die Löschen? Cookies wurden bereits alle gelöscht. Kurioser Weise ist aber die...
  • Ich kann nicht auf mein Konto zugreifen trotz Wiederherstellung Formular

    Ich kann nicht auf mein Konto zugreifen trotz Wiederherstellung Formular: Hallo mein name ist Tina. Ich habe ein neues handy da das alte defekt ist. Ich kenne mein e-mail passwort nicht mehr und das...
  • Formulare im Druckserver werden gelöscht

    Formulare im Druckserver werden gelöscht: Ich habe in der Firma folgendes Problem: Wir benötigen auf einem Nadeldrucker eine bestimmte Formulargröße. Das Druckerpapier wurde für uns...
  • Outlook Termin Formular lässt sich nicht ändern

    Outlook Termin Formular lässt sich nicht ändern: Hallo, wir würden gerne das Terminformular anpassen. Die Entwicklertools sind eingeschaltet und wir wählen Ein Formular entwerfen aus -...
  • Benutzerdefiniertes Formular mit VBS unter Outlook 2019 funktioniert nicht mehr

    Benutzerdefiniertes Formular mit VBS unter Outlook 2019 funktioniert nicht mehr: Trotz der Anpassung der Registryeinträge (siehe unten) und Veröfentlichung des Namens unseres benutzerdefinierten Formulares...
  • Ähnliche Themen

    Oben