Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: basti2010 am Februar 02, 2012, 04:34:08

Titel: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 04:34:08
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
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 05:33:44
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]
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: DF6GL am Februar 02, 2012, 14:08:35
Hallo,


dieses hilft (auch):

http://www.donkarl.com/?FAQ4.2
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 14:39:23
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)

Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: DF6GL am Februar 02, 2012, 15:05:23
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.
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 16:09:58
Danke klappt.

Und wie würde ich das machen wenn ich den Button nur "Blind" schalten möchte.
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: DF6GL am Februar 02, 2012, 16:39:11
Hallo,


vermutlich meinst Du die "Aktiviert" ("Enabled")-Eigenschaft....
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 18:17:19
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
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 18:39:51
Meine Deaktivieren also graue Schaltfläche
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 19:14:38
N'abend,

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

Harald
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 19:46:27
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  ??
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: MzKlMu am Februar 02, 2012, 19:49:21
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.
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 19:52:09
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
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 20:05:16
Ja genau es soll dann auch noch was anderes gestauert werden.
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: MzKlMu am Februar 02, 2012, 20:15:58
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
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 20:21:16
 
Zitat von: basti2010 am Februar 02, 2012, 20:05:16
Ja genau es soll dann auch noch was anderes gestauert werden.

Bitte verrate nicht zuviel, ansonsten könnte ich weitere konkrete Hilfe leisten  ;D

Mal so ins Unreine spekuliert: Du willst noch ein anderes Element deaktivieren, dann schreibe hinter den obigen Einzeiler:

Me!frm_UFO_Terminbuch!Dein_anderes_Element.enabled = Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled

Harald
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 20:27:06
Bei den Feldern txtNachname, txtVorname habe ich auch eine If funktion drin die überprüft ob die Zeile leer ist oder nicht.
Falls kein Zeichen drin steht und man Feld verlässt wird das feld rot. (Hinweis auf ein sogenanntes Pflichtfeld)
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 20:31:34
N'abend,

erwartest Du also das:

Private Sub txtNachname_Exit(Cancel As Integer)
    If IsNull(Me!txtNachname) Then
        'MsgBox "Pflichtfeld!!"
        txtNachname.BackColor = RGB(255, 0, 0)
        Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled = false

    Else
        txtNachname.BackColor = RGB(255, 255, 255)
        Me!frm_UFO_Terminbuch!bntKundenUeb.Enabled = true
    End If
End Sub


Harald
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: basti2010 am Februar 02, 2012, 20:40:45
So habe ich es auch gemacht
Titel: Re: Button auf anderer Form sichtbar machen
Beitrag von: bahasu am Februar 02, 2012, 20:49:32
N'abend,

wenn damit dann alles gelöst ist, setze bitte in Deinem ersten Diskussionspunkt den grünen Haken auf erledigt.

Viel Spaß weiterhin
Harald