In un codice cambiare in nome di una sottomaschera

Anonimo
2014-10-25T11:38:32+00:00

BUONGIORNO A TUTTI

Avrei bisogno di un aiuto

Ho una maschera che contiene tante schede dentro le quali c'è una sottomaschera.

Il risultato e avere una maschera con tante sottomaschere.

Nella maschera principale ho un campo che mi indica il nome della sottomaschera dove mi trovo , chiamato NomeSottomaschera.

Vorrei che su click in un pulsante della maschera principale lui mi esegua questo codice vedi di seguito.

Per non creare tanti codici per quante sono le sottomaschere (perchè i codici sono uguali cambia solo il riferimento della sottomaschera "Set subForm = Me.S001_031_InfoCommercialiClienti.form" ) vorrei sostituire il nome della sottomaschera con il valore indicato nel campo NomeSottomaschera.

Il problema che non funziona!!!!!

Grazie

Valore nel campo NomeSottomaschera  è (S001_031_InfoCommercialiClienti)

CODICE

Private Sub Modifica_Click()

Dim ind As Integer

Dim subForm As Form

Set subForm = Me. NomeSottoMaschera. form

    For ind = 0 To subForm.Controls.Count - 1

        If subForm.Controls(ind).ControlType = 109 Then    'testo

           subForm.Controls(ind).Locked = False

        End If

        If subForm.Controls(ind).ControlType = 111 Then    'combo

           subForm.Controls(ind).Locked = False

           subForm.Controls(ind).Enabled = True

        End If

    Next

End Sub

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-25T17:02:42+00:00

Ciao Christian_boy,

l'oggetto sottomaschera/sottoreport fa parte dell'insieme Controls indirizzabile per nome o per indice.

Detto questo puoi cambiare il tuo codice così:

Private Sub Modifica_Click()

Dim ind As Integer

Dim subForm As Form

Set subForm = Me.Controls(Me.NomeSottoMaschera).form

    For ind = 0 To subForm.Controls.Count - 1

        If subForm.Controls(ind).ControlType = 109 Then    'testo

           subForm.Controls(ind).Locked = False

        End If

        If subForm.Controls(ind).ControlType = 111 Then    'combo

           subForm.Controls(ind).Locked = False

           subForm.Controls(ind).Enabled = True

        End If

    Next

End Sub

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2014-10-26T09:07:10+00:00

    Ciao Giorgio

    Se veramente un grande!!!!

    2 giorni che sono bloccato su questo argomento.

    Con te un problema ha sempre una soluzione!!!!!

    Inoltre fornisci sempre una spiegazione e questo è molto utile per chi come me vuole anche imparare.

    Spero di sentirti ancora

    Grazie tanto.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento