Portare Avanti ed Indietro due Immagini Posizionate in una Maschera di Access usando il vba

Anonimo
2020-05-31T09:43:32+00:00

Buon Giorno a Tutti mi chiamo Maurizio e il mio problema e questo :

In una Maschera di Access ho inserito due Immagini chiamate ( Immaginie5 ) e

( Immagine6 ) in più ho inserito due pulsanti ( CommandButton 1 e 2 ) .

Ora il mio problema e questo :

Io vorrei che ogni volta che premo il ( tasto 1 ) l'immagine 5 si portasse in primo piano Rispetto all'immagine 6.

Al contrario quando premo il ( Tasto  2 )  L'immagine 6 si dovrebbe riportare nuovamente in primo piano rispetto all'immagine 5 tutto qui !

Io mi ricordo che per risolvere questo problema quando usavo (Excel) mi bastava scrivere :

    ActiveSheet.Shapes("Image1").Select

    Selection.ShapeRange.ZOrder msoBringForward

    ActiveSheet.Shapes("Image2").Select

    Selection.ShapeRange.ZOrder msoSendBackward

    Selection.ShapeRange.ZOrder msoBringForward

Oppure in un Userform :

Private Sub CommandButton1_Click()

UserForm1.CommandButton1.ZOrder msoBringForward = 1

UserForm1.CommandButton1.ZOrder msoBringForward = 1

UserForm1.CommandButton2.ZOrder msoSendBackward = 0

UserForm1.CommandButton2.ZOrder msoSendBackward = 0

End Sub

Private Sub CommandButton2_Click()

UserForm1.CommandButton2.ZOrder msoSendBackward = 1

UserForm1.CommandButton2.ZOrder msoSendBackward = 1

UserForm1.CommandButton1.ZOrder msoBringForward = 0

UserForm1.CommandButton1.ZOrder msoBringForward = 0

End Sub

Ora Però con le maschere di Access sembra che non servano più !

Ecco il motivo per qui vi chiedo di darmi una mano in merito !

Grazie

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
2020-06-01T15:27:26+00:00

ciao Maurizio,

come gestisci l'immagine con un controllo immagine?

In access al controllo immagine non si può impostare il focus , come avviene con tutti gli altri controlli.

Ho fatto qualche esperimento associando al controllo ole il campo ole della tabella associata alla form e,. recuperando l'handle del controllo via API, c'è la possibilità di portarlo in primo piano in vari modi, sempre via API.

Da notare che ho specificato "esperimento" proprio perché nelle tabella del database non vanno memorizzati files immagini incluse.

Ovviamente la modalità più immediata e semplice è quella di utilizzare la proprietà visible come ti è stato consigliato, è la stessa tecnica che ho adottato io soprapponendo varie immagini, impostandone la proprietà visible a no e modificandola all'immagine che mi interessa visualizzare.

In VB6 tutti i controlli hanno il proprio handle in Access lo si può ricavare solamente impostando il focus su di esso, nella form sono semplilcemente disegnati...da qui la problematica di questo controllo nel tuo scenario.

ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2020-06-01T15:17:07+00:00

Ciao Maurizio,

nessun disturbo, solo una raccomandazione: le domande hanno un titolo per consentire ad altri utenti con un problema simile di rintracciare più facilmente la discussione. Utilizzando lo stesso post anche per altre questioni diventa complicato, se non impossibile, rendere fruibile una possibile soluzione per tutti gli altri. Per il futuro, per argomenti diversi, "posta" un'altra domanda.

L'equivalente Access di Thisworkbook.Path è CurrentProject.Path

David

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2020-05-31T20:49:56+00:00

Partenza:

Comando1 visibile

Comando2 invisibile

Su click di Comando1:


With Me!Comando2

    .Visible=Tre

    .SetFocus

End With

Me!Comando1.Visible=False


Su click comando2


With Me!Comando1

    .Visible=Tre

    .SetFocus

End With

Me!Comando2.Visible=False


David

La risposta è stata utile?

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

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-05-31T18:06:45+00:00

    Grazie Davide

    Ma e quello che stavo provando di fare in questo momento

    Però quando prova la routine , il sistema si blocca dicendomi che non e possibile disattivare in modalità di esecuzione un oggetto quando il suo stato e attivo.

    Grazie comunque del tuo interessamento 

    Ma dopo quanto detto da te , e dopo tutte le prove da me fatte; L'unica cosa da fare è Rinunciare ho portare uno dei due tasti fuori dalla visualizzazione dello schermo usando un Left e Top.

    Ma questa e tutta un altra storia ?

    Grazie e Buona Serata

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-05-31T16:24:03+00:00

    Ciao Maurizio,

    purtroppo le form di Excel, anche se esteticamente simili, sono diverse da quelle di Excel.

    A quanto mi risulta non è possibile mettere in primo/secondo piano un controllo, con la maschera aperta in modalità normale.

    La cosa che più ci si avvicina, con tutti i limiti del caso, è la possibilità di nascondere/visualizzare un controllo sfruttando la proprietà "Visible". Di conseguenza quello che potresti fare è alternare la visualizzazione delle immagini mostrandone una mentre ne nascondi l'altra.

    Ovviamente se qualcuno ha una soluzione diversa è il benvenuto :-)

    David

    La risposta è stata utile?

    0 commenti Nessun commento