Abilitare campo con condizione da altra maschera

di
Anonimizzato14846
il
5 risposte

Abilitare campo con condizione da altra maschera

Salve a tutti mi presento mi chiamo Fabrizio e sono nuovo nel forum, e quale migliore occasione di approfittare di un aiuto durante la presentazione.

Ho creato un db in cui sono presenti 2 tabelle (tabella1 e tabella2) causa il numero di campi maggiore di 255.
Per l'inserimento ho ovviamente creato altrettante due maschere (maschera1 e maschera2). Fino a qui tutto ok, ma ora viene il dramma. Ambedue hanno come chiave primaria il campo ID.
Ho un campo (D16) nella maschera2 che vorrei disabilitare se il campo D12 della maschera1 è uguale a 2.

Come posso fare?
Mi hanno detto di creare una query, inserire nella maschera2 il campo D12 prima della D16 e sfruttare il forcefocus ma sto nel panico.
Aiutateme... Ahahah
Uhm saluto e buon weekend qui tutti
Fabrizio

5 Risposte

  • Re: Abilitare campo con condizione da altra maschera

    Ciao,
    tabelle con un numero di campi >255 certo di aver normalizzato per bene?
    nella machere ci i controlli nelle tabelle e queries i campi.

    su attivato della tua form prova in questo modo:
    
    Me.tuoControllo.Visible = True
    
    If CurrentProject.AllForms("tuaFormDaControllare").IsLoaded Then
        If Forms!tuaFormDaControllare!ID = 2 Then Me.tuoControllo.Visible = Not MetuoControlloTesto17.Visible
    End If
    
    
    ti saluto.
  • Re: Abilitare campo con condizione da altra maschera

    Grazie mille per la celerità... Ma deVo fare anche una query?

    Inviato dal mio ALCATEL ONE TOUCH 7041D utilizzando Tapatalk
  • Re: Abilitare campo con condizione da altra maschera

    Ho scritto cosi ma non va

    Private Sub D16_1_GotFocus()
    Me.D16_1.Visible = True

    If CurrentProject.AllForms("Maschera2").IsLoaded Then
    If Forms!Maschera1!D12 = 2 Then
    Me.D16_1.Visible = False
    End If
    End If
    End Sub


    ma mi esce il seguente errore:

    errore di run-time '2450':
    Impossibile trovare la 'Maschera1' a cui si fa riferimento in un'espressione macro o nel codice di visual basic.

    mentre se scrivo non disabilita nulla

    Private Sub Tabella2_ID_GotFocus()
    Me.D16_1.Enabled = True
    If CurrentProject.AllForms(Maschera1).IsLoaded Then
    If Forms!Maschera1!D12] = 2 Then Me.D16_1.Enabled = false
    End If
    End Sub

    ho anche creato una query con i due campi ID ma nada

    Se volete vi allego in qualche modo il file.
  • Re: Abilitare campo con condizione da altra maschera

    Ciao,
    sei certo del nome delle maschera?
    è il tipico messaggio di errore in cui non trova la maschera di riferimento.
    L'evento corretto è su attivazione della maschera non su attivato.
    Facci sapere.
    un saluto.
  • Re: Abilitare campo con condizione da altra maschera

    Commetti 2 errori di cui uno grave tecnicamente.
    Questa sintassi è errata
    
    If CurrentProject.AllForms(Maschera1).IsLoaded Then
    [Maschera1] è un Nome quindi una stringa... quindi così
    
    If CurrentProject.AllForms("Maschera1").IsLoaded Then
    Ti ricordo poi che il controllo [D16_1] ha sicuramente il FOCUS nel momento in cui vuoi disabilitarlo..., di conseguenza è impossibile disabilitarlo... prima devi spostare il FOCUS su un'altro controllo.
    A questo punto così rischi di generare un LOOP LOGICO...!

    Prova a riflettere bene...
Devi accedere o registrarti per scrivere nel forum
5 risposte