Visualizzazione contolli tramite VBA

Anonimo
2019-12-02T10:14:17+00:00

Buongiorno a tutti.

Situazione: 

ho una form basata su di una query che estrapola dati da una tabella ed una sottotabella ad essa correlata; nella form (impostata a maschere continue) in apertura tutti i controlli (campi testo) non sono visibili e sono visibili solo delle etichette (non associate ai controlli) che identificano il contenuto visibile nei campi; affiancato ad ogni etichetta  c'é un pulsante opzione, non collegato a nessun campo, che sull'evento dopo aggiornamento presenta il seguente codice:

Private Sub Opzione12_AfterUpdate()

If Me.Opzione12 = True Then

Me!marca.Visible = True

Else

Me!marca.Visible = False

End If

End Sub

che rende o meno visibile il controllo indicato dall'etichetta.

Scopo di tutto quanto sopra è quello di visualizzare una maschera in cui siano visibili solo i campi che interessano per poterli esportare in un foglio di calcolo.

Problema:

tutti i campi che traggono origine (tramite la query) dalla tabella principale accettano il comando, invece tutti quelli che traggono origine (sempre tramite la query) dalla sottotabella non lo accettano restituendo un errore di sintassi; di fatto non riconosce il nome di campo cui faccio riferimento come valido -se non ho capito male-.

Un grazie a chiunque possa fornire consigli e/o aiuto.

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
2019-12-02T12:57:14+00:00

ciao Alberto,

wrappa tra [] il nome del controllo....

 Me.[1tipo].Visible = Not Me.[1tipo].Visible

se usi modalita' non convenzionali dei utilizzare i delimitatori.

Ciao, Sandro

La risposta è stata utile?

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

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-12-02T13:18:07+00:00

    Come al solito paziente e competente. :)

    ora funziona tutto

    Grazie mille!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-12-02T12:38:51+00:00

    Ciao Sandro,

    intanto grazie per questo metodo che è molto più speditivo nella compilazione rispetto a quello che avevo architettato io.

    Purtroppo il problema rimane:

    ho creato una nuova form basata sulla query per evitare di tirarmi dietro qualche problema da quella che avevo già modificato; sulla nuova form ho compilato il codice che mi hai suggerito (con le opportune modifiche):

    Private Sub E_1tipo_DblClick(Cancel As Integer)

    Me.1tipo.Visible = Not Me.1tipo.Visible

    End Sub

    Private Sub E_ID_UPS_DblClick(Cancel As Integer)

    Me.ID_UPS.Visible = Not Me.ID_UPS.Visible

    End Sub

    la riga:

     Me.1tipo.Visible = Not Me.1tipo.Visible 

    diventa rossa e, nel debug, mi riporta "errore di sintassi".

    I due controlli sono associati alla stessa query, l'unica differenza è che uno (ID_UPS) ricava i dati dalla tabella principale , l'altro (1tipo) da una tabella correlata alla principale.

    Ho verificato il nome degli elementi, la loro associazione, l'origine dati della form; ho anche effettuato un comando "compatta e ripristina database"... Non gli piace e basta.

    Grazie del supporto

    Ciao

    Alberto

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-12-02T10:37:10+00:00

    ciao Alberto,

    potresti optare per qualcosa del tipo :

    Private Sub TuaEtichetta_Etichetta_DblClick(Cancel As Integer)

    Me.TuoControlloEtichettaAssociato.Visible = Not Me.TuoControlloEtichettaAssociato.Visible

    End Sub

    personalizzando ovviamentte quanto trovi in grassetto esempio :

    Private Sub ID_fornitori_Etichetta_DblClick(Cancel As Integer)

    Me.ID_fornitori.Visible = Not Me.ID_fornitori.Visible

    End Sub

    al posto del controllo opzione per switchare la visibilita' o meno.

    Analogamente potresti procedere con il controllo opzione, ma lo ritterrei superfluo per quanto vuoi ottenere.

    Devi ovviamente rivedere il predicato che esporta in xls in base i controlli visibili....

    Controlli in forms e reports, campi proprio di tabelle e queries.

    Facci sapere.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento