MODIFICARE UN CAMPO BLOCCATO

di beasissi il
26 risposte
Buongiorno.
Per evitare cancellazioni involontarie, ho bloccato tutti i campi compilabili di una maschera.
E' possibile renderli nuovamente modificabili con un comando?
Tipo: premo un button con scritto modifica, modifico il campo che mi interessa e poi premo un altro button che mi salva la modifica e mi blocca nuovamente i campi.

Grazie

26 Risposte

  • Si è possibile ma prima di pasticciare, chiarisci alcune cose:
    1) Sei in Maschera singola o Continua...?
    2) Come hai Bloccato...? Da struttura..?
  • Giusto.............da maschera singola e campi da struttura....cioè dal menu proprietà dei campi ( ma se c'è un'altro modo, piu pratico.......)

    Grazie
  • In base a come l'hai raccontata tu, implementa i seguenti codici ai corrispondenti Button1 e Button2, immaginando tu abbia 3 campi da sbloccare/bloccare.
    Private Sub Button1_Click()
    Me!Campo1.Locked = False
    Me!Campo2.Locked = False
    Me!Campo3.Locked = False
    End Sub
    
    Private Sub Button2_Click()
    Me!Campo1.Locked = True
    Me!Campo2.Locked = True
    Me!Campo3.Locked = True
    End Sub
    
  • Perfetto, grazie davvero....No, i campi sono un pò piu di tre....pazienza non farò altro che ripetere il ciclo per il numero dei campi da bloccare)

    Grazie ancora
  • Infatti quella soluzione non è da usare...
    Sei sicuro non sia meglio usare la proprietà ALLOWEDITS della maschera...?
    Se la forzi a FALSE non editi se la forzi a TRUE editi.

    Questo si usa se nella maschera non ci sono controlli non associati da modificare...

    Altrimenti si fa con 3 righe di codice per bloccare/sbloccare.
  • Alex, io non sono sicuro di nulla, purtroppo.
    Se tu pensi sia meglio scrivere 3 righe di codice invece che tutta la pappardella che il gentile Osvaldo mi ha suggerito?
    Perfetto!

    Spiegami che fare ed io lo farò.

    Per informazione i campi son 9, in tutto, da bloccare o da sbloccare in caso di modifica.

    Attendo tua soluzione e ancora GRAZIE!
  • La soluzione migliore ti ho già spiegato essere quella della gestione Allowedits ... leggi come usarla e vedi se fa al caso tuo...
    Poi si pensa al resto.
  • Ok...grazie...se non riesco però, ti ricontatto.....
    Buona serata
  • Giusto @Alex.
    Private Sub Button1_Click()
    Me.AllowEdits = False
    End Sub
    
    Private Sub Button2_Click()
    Me.AllowEdits = True
    End Sub
  • Su evento Current, per essere certo che se ti sposti con lo stato attivo venga protetto, metti
    me.allowedits=false
    Se vuoi puoi usare un solo button
    
    Private Sub Button1_Click()
       Me.AllowEdits = Not Me.AllowEdits 
    End Sub
    
    Ciao
  • Ciao a Tutti e grazie Alex.

    Ho provato la routine che mi hai segnalato .
    Bellissima ma nel mio caso non utilizzabile perchè nella mia maschera ho inserito anche una casella combinata dalla quale scelgo il fornitore.

    Utilizzando la funziona allowedits mi si blocca l'intera maschera e smette di funzionare anche la casella combinata.

    A me serve proteggere da modifiche involontarie i campi contenenti i dati dei fornitori lasciando attiva la casella combinata cosnetindo i cosi la navigazione "protetta" tra i vari fornitori.

    Che noioso che sono, eh?

    Saluti
  • Allora può andare bene il mio suggerimento del 06 feb 2020, 17:36.
  • Si, infatti Osvaldo....ti dirò che l'avevo provata ma VBA mi notificava un errore...ma può essere che avessi commesso qualche errore di digitazione io....ora riproverò.

    Grazie
  • N.B.: io ho chiamato i tuoi controlli/campo Campo1, Campo2, Campo3, ma tu al loro posto devi mettere i nomi veri, ossia quelli che risultano dalla proprietà "Nome elemento".
Devi accedere o registrarti per scrivere nel forum
26 risposte