Newsgroup: it.comp.appl.access
Titolo: Aperura Form in base a risoluzione video

Buona sera a tutto il NG, la mia domanda ritengo sia di banale
soluzione ma non riesco a trovarla.
Ho utilizzato l'esempio
Determinare la risoluzione dello schermo
www.donkarl.com/it?FAQ4.20
e vorrei fare in modo di aprire Forms diverse secondo la risoluzione
chge mi viene restituita ... ritengo che si debba procedere con una IF
ma non sono riuscito a risolvere ...
Grazie per l'attenzione e buona serata
Francesco

 ma non sono riuscito a risolvere ...
Una via di tante sarebbe di cambiare la funzione che fornisce
la risoluzione:
Public Function fctResolution() As Long
Select Case GetSystemMetrics(SM_CXSCREEN) & "x" & _
                      GetSystemMetrics(SM_CYSCREEN)
    Case "1280x1024"
        fctResolution = 1
    Case "1024x768"
        fctResolution = 2
    Case "800x600"
        fctResolution = 3
End Select
End Function
Le tue maschere chiami p.e.
frmArticolo_1
frmArticolo_2
frmArticolo_3
dove 1 è la versione grande, 2 media, 3 piccola.
Poi quando vuoi aprire la maschera usi
DoCmd.OpenForm "frmArticolo_" & fctResolution
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 ...
Volevo ancora aggiungere che di solito basta anche di controllare
la risoluzione una sola volta all'apertura del db e da qui usare una
variabile Public.


Innanzitutto grazie per l'attenzione ...
ho subito messo in opera il consiglio e, ovviamente, funziona
perfettamente ... quindi grazie per questo ... avrei comunque due
veloci quesiti da porre:
1) ho provato ad inserire il comando "DoCmd.OpenForm "frmArticolo_" &
fctResolution " (come esegui codice) in una macro autoexec al fine di
avviare poi l'apertura della maschera predefinita in base alla
risoluzione ricontrata, ma evidenzia l'errore "Errore di sintassi
nell'espressione. E' possibile che sia stato immesso un operando senza
un operatore;
2) cosa intendi, materialmente per "basta anche di controllare la
risoluzione una sola volta all'apertura del db e da qui usare una
variabile Public".
Grazie molte ... sempre di notevole aiuto ...

 ha scritto nel messaggio 
news:8fc4df6a-ec81-4228...@s14g2000vbp.googlegroups.com...

Alla prima
usa una variabile stringa
dim frm as string
frm = "frmArticolo_" & fctResolution
DoCmd.OpenForm frm
Alla seconda
Intende che basta che registri in una variabile pubblica il valore della 
risoluzione all'apertura in modo tale che per tutte le altre maschere che 
apri non debba continuamente interrogare la risoluzione.
risoluzione = legge ill valore la prima volta all'apertura
if risoluzione = ... then
In questo modo per tutta la durata dell'istanza del db quella variabile 
mantiene il suo valore
Solo alla riapertura rileggerà il valore.
Ciao
-- 
Roberto da Parma 

 - Mostra testo citato -
... Ciao Roberto,
ad essere sincero non sono riuscito ad utilizzare i tuoi preziosi
consigli perché non ho ben compreso come poterli applicare (come
inserirli ?!?! in una macro ?!?!?) ...
diciamo che comunque, in maniera sicuramente più macchinosa, li ho
applicati inserendo il codice nell'evento "su apertura" di una form
vuota che, in relazione alla risoluzione che legge, si chiude
immediatamente dopo e lancia l'aperturta delle form predisposte per il
valore letto. Non è siocuramente questo il modo di procedere ... ti
ringrazio comunque per l'attenione ... e buona giornata

 ha scritto nel messaggio 
news:b2c55cc3-af2e-48c3...@s24g2000vbp.googlegroups.com...


Il codice è quello di Karl....devi seguire quello...poi per l'applicazione 
non è mica sbagliata fino in fondo la soluzione che hai adottato.
Per far quello che chiedi, per forza all'apertura, deve leggere il dato 
della risoluzione...se poi hai scritto bene il codice una volta letto il 
dato della risoluzione tutte le altre maschere "sanno" già qual'è la 
risoluzione e non devono, tutte le volte che vengono aperte, andare a 
leggere continuamente il dato.
Personalmente uso un'altro sistema che è quello del resize (uso le funzioni 
Height,Top,Width ) ma è molto macchinoso perchè devi considerare tutti i 
controlli....ma una volta fatto non ha importanza la risoluzione che 
adotti....dalla versione 2007 credo che tutto questo sia gestito meglio 
(addirittura i controlli credo che si adattino...chiedi però conferma a MA 
lui ne sa un pò più di me a riguardo!).


 ha scritto nel messaggionews:b2c55cc3-af2e-48c3...@s24g2000vbp.googlegroups.com...

Perfetto ... allora avevo interpretato soatnzialmente bene ... ti
ringrazio per l'ulteriore delucidazione ... e ti rinnovo l'augurio di
una buona giornata