Nascondi campo

di il
7 risposte

Nascondi campo

Ciao a tutti il forum,
In un db ho una casella di testo nella quale va indicato un parametto (NumeroGiorni) che se valorizzato dovrebbe rendere visibile o meno altri 6 campi (caselle di controllo), non so però come fare. Ringrazio anticipatamente chi vorrà aiutare. Ciao

7 Risposte

  • Re: Nascondi campo

    mazda91 ha scritto:


    ...
    In un db ho una casella di testo nella quale va indicato un parametto (NumeroGiorni) che se valorizzato dovrebbe rendere visibile o meno altri 6 campi (caselle di controllo)...
    Immagino che tu stia parlando di una maschera. Sei forse in una maschera con sottomaschera in visualizzazione foglio dati?
    Com'è la situazione iniziale di questa maschera, all'apertura? La casella di testo è già valorizzata? quelle 6 caselle di controllo associate (non campi!) di default sono visibili, credo. Anche queste sono già valorizzate (true o false che sia)? Ulteriore scrupolo, visto che ho toccato l'argomento: le 6 caselle di controllo sono associate o no?
  • Re: Nascondi campo

    Per me c'è solo l'imbarazzo della scelta dell'evento giusto. Apparentemente potrebbe essere "Dopo aggiornamento" del campo...ma così non è...io ci vedrei "Su corrente" della maschera.
    Dopo di che il codice VBA dovrebbe essere più o meno così:
    Me![Controllo1].Visible = True
    Me![Controllo2].Visible = False
    ...
    Me![Controllo6].Visible = ...
    sai tu quali sono i controlli da settare.
  • Re: Nascondi campo

    Eccomi,
    allora lo scenario è questo:
    ho una struttura a schede nella quale ho 5 pagine, su una di queste ho 2 caselle di controllo che se valorizzate devono rendere visibili altrettanti caselle di testo e poi sempre su questa pagina ho una casella di testo che se riempita con il suo valore numerico deve rendere visibili 7 caselle di controllo. Ovviamente quando fai Aggiungi o Nuovo (record) è tutto non valorizzato quindi la condizione è quella che le due caselle di testo e le 7 caselle di controllo devono essere NON visibili. Spero di essere stato chiaro. Grazie
  • Re: Nascondi campo

    Ci siamo accavallati con Osvaldo (intanto grazie anche a lui) ho provato a usare Dopo Aggiornamento però l'evento legato alla casella di testo che rende visibili i 7 controlli dovrebbe essere diverso perché legato al fatto che lì ci sia un numero e non che sia solo stato selezionato. (Ari)grazie
  • Re: Nascondi campo

    Hai ragione. Quel mio codice, scritto solo così non ha senso a "Su corrente". Per "Su corrente" occorre creare una If..Then...Else che analizza la tua casella di controllo...qualcosa come:
    If Me![Nome casella di controllo] = True Then 
    Me![Controllo1].Visible = True
    Else
    Me![Controllo1].Visible = False
    End If
  • Re: Nascondi campo

    mazda91 ha scritto:


    Ci siamo accavallati con Osvaldo (intanto grazie anche a lui) ho provato a usare Dopo Aggiornamento però l'evento legato alla casella di testo che rende visibili i 7 controlli dovrebbe essere diverso perché legato al fatto che lì ci sia un numero e non che sia solo stato selezionato. (Ari)grazie
    Devi gestire 2 Eventi, quindi serve una cosa simile
    
    
    Sub SetVisible(Criteria as Boolean)
       Me!TxtBox1.Visibile=Criteria
       Me!TxtBox2.Visibile=Criteria   
       Me!TxtBoxn.Visibile=Criteria
      ..... 'altri....
    End Sub
    
    Private Sub NomeControllo_AfterUpdate()
       Call SetVisibile(IsNumeric(Me!NomeControllo.Value))
    End Sub
    
    Private Sub Form_Current()
       Call SetVisibile(IsNumeric(Me!NomeControllo.Value))
    End Sub
  • Re: Nascondi campo

    Grazie dell'aiuto prezioso a tutti.
Devi accedere o registrarti per scrivere nel forum
7 risposte