Non visualizzare un pulsante sulla riga di un nuovo record

di il
4 risposte

Non visualizzare un pulsante sulla riga di un nuovo record

Ho una maschera continua con tre campi e 152 record.
Al lato dei tre campi vi è un pulsante (cmdApriElencoVisite) che apre una maschera singola che dettaglia il contenuto del record scelto.
Il problema è che il pulsante mi appare anche sulla riga del nuovo record. Cosa che non vorrei che accadesse.
Per non visualizzarlo ho approntato questo codice:
Private Sub Form_Load()
If Me.NewRecord Then
cmdApriElencoVisite.Visible = False
Else
cmdApriElencoVisite.Visible = True
End If
End Sub
che però non funziona. Perché?
Enzo86

4 Risposte

  • Re: Non visualizzare un pulsante sulla riga di un nuovo record

    Forse If vuole una sintassi completa. Prova così
    If Me.NewRecord = True Then
         cmdApriElencoVisite.Visible = False
    Else
         cmdApriElencoVisite.Visible = True
    End If
    Inoltre io non ci vedo l'evento "Su caricamento" (Load), magari "Su corrente" è meglio.

    P.S.: come da regolamento, ricorda di evidenziare il codice VBA e cliccare sul tasto Code per farlo apparire come l'ho postato io con i caratteri tipici monotype.
  • Re: Non visualizzare un pulsante sulla riga di un nuovo record

    Facciamo attenzione sempre perchè le Maschere continue, lavorano così... quello che è nel CORPO, non è in realtà getibile RECORD PER RECORD, ma ha effetto su tutti i RECORDS visualizzati, non fa eccezione il NUOVO.

    Per questo motivo è da disincentivare l'utilizzo di Controlli NON ASSOCIATI nei Record(nel corpo), soprattutto Pulsanti, in quanto graficamente sono un macello...
    Si utilizza per questo la sezione PièDiPagina o Intestazione di Maschera per inserire i controlli come Button ecc... che devono essere gestiti su CURRENT... allora si che il tuo codice funziona.

    Chiaramente per aspetti grafici su Controlli TextBox si usa la F.C. che è applicabile benissimo invece anche sui singoli Records.
  • Re: Non visualizzare un pulsante sulla riga di un nuovo record

    A proposito. Forse c'è stata una ulteriore omissione (Me!). Così dovrebbe essere più ortodosso. Lo riscrivo completo considerando l'evento Current
    Private Sub Form_Current()
    If Me.NewRecord = True Then
       Me!cmdApriElencoVisite.Visible = False
    Else
       Me!cmdApriElencoVisite.Visible = True
    End If
    End Sub
  • Re: Non visualizzare un pulsante sulla riga di un nuovo record

    OsvaldoLaviosa, il codice purtroppo non funziona. Ha ragione Alex Sulle problematiche della gestione record per record delle maschere continue. Infatti se inverto il True e False il pulsante non viene visualizzato su nessun record, compreso Il NewRecord.
    A me, siccome nel caso specifico, fa comodo disporre del pulsante "dettagli" alla fine di ogni singolo record, o preferito per questo di tagliare la testa al toro e di non visualizzare la riga nuovo record, impostando ConsentiAggiunte su No.
    Grazie Enzo86
Devi accedere o registrarti per scrivere nel forum
4 risposte