Condividi tramite

ACCESS 2003 VBA rendere una sottomaschera allowAdition

Anonimo
2014-11-06T19:25:32+00:00

Buongiorno spero tanto che qualcuno mi possa aiutare.Ho problemi nella sintassi di un codice.

Ho una maschera con un pulsante nuovo che richiama una sub. In questa maschera ho un controllo "NomeSottomaschera" che ha come valore il nome di una sottomaschera.

Risultato della sub abilitate l'aggiunta dei dati ,posizionarsi su nuovo record e al primo controlllo in ordine di tabulazione della sottomaschera. In grassetto la parte che non funziona.

Perfavore sono disperato ho perso un giorno intero !!!! Grazie

Esempio nella sub

'Nome controlllo  : NomeSottomaschera ( il valore è il nome della sottomaschera)

Public Sub SettaggioNuovo(ByRef MainForm As Form)

'Settaggio e impostazioni

        MainForm.cboMaschera.Locked = True

        If MainForm.NomeSottomaschera = "MascheraPrincipale" Then

            DoCmd.GoToRecord , , acNewRec

            MainForm.IDMaschera.SetFocus

        Else            

DoCmd.GoToControl MainForm.[NomeSottomaschera]

Set(NomeSottomaschera).AllowAddition = True

DoCmd.GoToRecord , , acNewRec

codice che mi porti al primo record

        End If

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-11-10T09:18:11+00:00

Ciao Christian,

ne abbiamo già discusso nel 3d "In un codice cambiare in nome di una sottomaschera", per indirizzare un controllo il cui nome risiede in una variabile devi usare la collection Controls indirizzabile per nome o per indice.

Quindi:

Public Sub SettaggioNuovo(ByRef MainForm As Form)

'Settaggio e impostazioni

        MainForm.cboMaschera.Locked = True

        If MainForm.NomeSottomaschera = "MascheraPrincipale" Then

            DoCmd.GoToRecord , , acNewRec

            MainForm.IDMaschera.SetFocus

        Else            

**** DoCmd.GoToControl MainForm.NomeSottomaschera

            MainForm.Controls(MainForm.NomeSottomaschera).Form.AllowAddition = True

            DoCmd.GoToRecord , , acNewRec

            'codice che mi porti al primo record 

        End If

End Sub

per quanto riguarda il focus sul primo controllo ti conviene farlo nell'evento Current della sottomaschera in presenza del nuovo record intercettabile dalla proprietà NewRecord

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2014-11-10T13:35:40+00:00

    Ciao Giorgio

    è proprio vero.

    Grazie per l'aiuto.

    La risposta è stata utile?

    0 commenti Nessun commento