Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Button auf anderer Form sichtbar machen

Begonnen von basti2010, Februar 02, 2012, 04:34:08

⏪ vorheriges - nächstes ⏩

basti2010

Hi
Ich möchte von einem Hauptformular einen Button auf einem Unterfomular sichtbar machen.

So soll es aussehn.

If IsNull(Me!txtNachname) Then
'MsgBox "Pflichtfeld!!"
txtNachname.BackColor = RGB(255, 0, 0)
Else
txtNachname.BackColor = RGB(255, 255, 255)
Forms!frm_UFO_Terminbuch!bntKundenUeb.Visible = True     <--- so klappt es nicht !!! 
End if


Könnt Ihr mir helfen??

Danke
Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.

bahasu

#1
Moin,

Private Sub txtNachname_Exit(Cancel As Integer)
   If IsNull(Me!txtNachname) Then
       'MsgBox "Pflichtfeld!!"
       txtNachname.BackColor = RGB(255, 0, 0)
   Else
       txtNachname.BackColor = RGB(255, 255, 255)
'        Forms!frm_UFO_Terminbuch!bntKundenUeb.Visible = True           ' Deine Formulierung
   End If
   
   If IsNull(Me.txtNachname) Then Me!Unterformular!Text1.SetFocus      ' Focus vom auszublendenem Button entfernen
   
   Me!Unterformular!bntKundenUeb.Visible = Not IsNull(Me!txtNachname)
'    Forms!HFo!Unterformular!bntKundenUeb.Visible = Not IsNull(Me!txtNachname)       ' wenn es denn mit Forms!... sein muss
End Sub



siehe auch Beispiel im Anhang. Damit klappt es.
Was klappte denn bei Dir nicht? Fehlermeldung?

Harald

[Anhang gelöscht durch Administrator]
Servus


basti2010

Warum verweißt du auf "Text1"??

Aber irgendwie will das nicht gehn!
Gib euch mal die genauen Namen oder Objekte

Hauptformular : "frm_Kundenkarte"
Unterformular : "frm_UFO_Terminbuch"

Textfeld: "txtNachname"  (auf dem Hauptformular das bei eingabe den Button Sichtbar schalten soll)

Button auf dem Ufo: "bntKundenUeb"  (das sichtbar werden soll)

Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.

DF6GL

Hallo, 


Du erklärst ungenau.


--Wie heißen das Formular , das als Unterform fungieren soll? (Name findest Du im Datenbankfenster/Formulare)
--Wie heißt das UFO-Steuerlement, das dieses "Unterform" anzeigen soll  (Name findest Du in den Eigenschaften des markierten UFO-St-El. im Hauptformular.)



So sollte das gehen:


Im Haupt-Formular "frm_Kundenkarte":


Sub txtNachname_Change()
Me!Ufo_St_El_Name.Form!bntKundenUeb.Visible =Len(Me!txtNachname.Text) >0
End Sub



Ufo_St_El_Name    ist durch den Namen des UFO_Steuerelementes zu ersetzen.

basti2010

Danke klappt.

Und wie würde ich das machen wenn ich den Button nur "Blind" schalten möchte.
Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.


bahasu

Zitat von: basti2010 am Februar 02, 2012, 14:39:23
Warum verweißt du auf "Text1"??

N'abend,

die Erklärung steht oben im Kommentar.
Wenn der Fokus auf ein Objekt gesetzt ist, kann dieses nur dann unsichtbar gemacht werden, wenn der Fokus auf ein anderes Steuerelement gesetzt wird. Das hatte in meinem Beispiel den Namen "Text1".


Was meinst Du mit "Blind" schalten?
Blind = Unsichtbar?
Blind = deaktiviert?

Harald
Servus

basti2010

Meine Deaktivieren also graue Schaltfläche
Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.

bahasu

N'abend,

1. dann ist das Versetzen vom Focus nicht nötig.
2. Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled = Not IsNull(Me!txtNachname)

Harald
Servus

basti2010

Und wenn ich das ganze jetzt in ein if ... else einbauen möchte...

und noch mal ne andere frage ... Gibt es im VBasic Editor keine Autovervollständigung (vorschlagsliste) mehr  ??
Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.

MzKlMu

Hallo,
ZitatUnd wenn ich das ganze jetzt in ein if ... else einbauen möchte...
mit dem Vorschlag von Harald ist das überflüssig. Der Wahrheitswert des Ausdrucks - Not IsNull(Me!txtNachname) - wird direkt zugeordnet. Es ist weder If noch Else erforderlich.
Gruß Klaus

bahasu

N'abend

wieso noch if else?

Wenn Du das erwartest:
If IsNull(Me!txtNachname) Then
   Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled = true
else
   Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled = false
end if

so ist das die umständliche Formulierung für den obigen Einzeiler.

Oder soll noch mehr gesteuert werden? Andere Objekte aktivieren/deaktivieren?

Harald
Servus

basti2010

Ja genau es soll dann auch noch was anderes gestauert werden.
Brauchst du mehr Onlinespeicher für deine Dropbox ? - 500MB zusätzlich für uns beide.

MzKlMu

Hallo,
ZitatJa genau es soll dann auch noch was anderes gestauert werden.
Und was?
Vermutlich geht das auf die gleiche Art, ohne If..Then..Else
Gruß Klaus