blocco e sblocco controlli su form e subForm Access 2010

Anonimo
2014-10-28T18:26:36+00:00

Buona sera carissimi esperti e non di questo bellissimo forum, sono un autodidatta ( mi sono appena registrato) ed ho realizzato un database con access 2010 che mi permette di gestire tutte le ritenute di un gruppo di lavoratori ( circa 5020) e che devo mettere in rete poichè l'utilizzo è di più utenti.

Ho creato questo codice che ho inserito in un pulsante di comando ( aiutandomi con varie ricerche in rete) ma non mi permette la modifica dei dati dopo che li ho resi attivi (cioè i controlli risultano sbloccati ma non mi permette di modificarli e di scriverci sopra) chiedo il vostro prezioso aiuto per proseguire con il programma.

Chiedo se è possibile creare una funzione che mi permette (sempre richiamndola da pulsante di comando) di bloccare e sbloccare i controlli all'occorrenza.

Option Explicit

Dim ctr as control

For Each ctr In Me.Controls

   With ctr

        If .ControlType = acComboBox Or .ControlType = acTextBox Or .ControlType = acListBox Then

        .Enabled = False ' o True a seconda se abiliti o disabiliti

        End If

    End With

Next

For Each ctr In Me.FrmRitenuteMilitare.Form.Controls

 With ctr

        If .ControlType = acComboBox Or .ControlType = acTextBox Or .ControlType = acListBox Then

        .Enabled = False ' o True a seconda se abiliti o disabiliti

        End If

    End With

Next

End sub

Un ringraziamento anticipato a chi volesse aiutarmi.

Buona sera a tutti

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-10-28T20:49:57+00:00

Ho provato il tuo codice e tutto funziona salvo il fatto che nella sottomaschera prima di operare devi spostare il focus su un controllo che non verrà interessato (per es. un pulsante di comando).

Me.FrmRitenuteMilitare.Form.cmdTest.SetFocus

For Each ctr In Me.FrmRitenuteMilitare.Form.Controls

La risposta è stata utile?

0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-10-29T09:42:13+00:00

    Penso che finalizzi l'aggiornamento dei records interessati dalla form / subform.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-10-29T08:00:15+00:00

    Buongiorno Mimmo, ti ringrazio per il tuo prezioso aiuto, ho risolto come tu mi hai segnalato e, con tante prove, verificandosi lo stesso problema ( a volte si e a volte no) ho aggiunto alla fine del codice questo :Me.Refresh e funziona alla grande.

    Mi spiegheresti perchè accadeva questo senza Me.Refresh, quando lo stesso codice all'interno di un altro pulsante non mi dava lo stesso problema?

    Sono felicissimo di far parte di questa community, buona giornata a tutti.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-10-28T20:13:44+00:00

    Ciao Mimmo, grazie per il tuo prezioso intervento, non va come mi hai suggerito, non so come accade nel codice.

    Ho provato a sostituire tutto con questo e sembra funzionare:

    Me.AllowEdits = False

    Me.FrmRitenuteMilitare.Form.AllowEdits = False

    Con questo codice però è molto laboriso poichè devo inserirlo anche nel pulsante  di inserimento nuovo record e nel pulsante salva e devo fare tante volte riferimento a maschera principale e sottomaschere collegate.

    Desiderei una funzione che mi disabilitasse i controlli subito dopo l'inserimento di un nuovo dato nella maschera principale e nella sottomaschera (FrmRitenuteMilitare) tipo .enabled=false e poi me li rendesse modificabili all'oocorrenza.

    Chiedo il vostro aiuto per costruire la funzione che mi permetta da più pulsanti di comando eseguire il blocco e lo sblocco dei controlli sulla maschera e la sottomaschera.

    Grazie ancora.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-10-28T19:09:19+00:00

    Ciao,

    prova a variare l'istruzione:

    For Each ctr In Me.FrmRitenuteMilitare.Form.Controls

    in

    For Each ctr In Me.FrmRitenuteMilitare.Controls

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento