Buongiorno osvaldo scusa non sono stato abbastanza chiaro allora ho una maschera denominata "Menu" dove tra gli altri tasti ho un tasto che si chiama
"Elabora Cedolino LTI" in questo pulsante c'è il seguente codice:
DoCmd.OpenForm "MascheraElabincorsoLTI", acNormal, "", "", , acNormal
DoCmd.Close acForm, "MascheraMenu"
la Maschera sull' evento Apertura ha questo codice:
'DATI PER CEDOLINO LTI
DoCmd.Hourglass True
'connessione DAO Server
Dim dbs As DAO.Database
Set dbs = CurrentDb
dbs.Connect = TempVars![ScDao] 'connetto l' ARCHIVIO GENERALE
'Resetto Tabelle TEMP Cedolino
dbs.Execute "TRUNCATE TABLE TabellaCalcoloVociTemp" & TempVars![TempUser] & " " & _
"DBCC CHECKIDENT (TabellaCalcoloVociTemp" & TempVars![TempUser] & ", RESEED, 0)", dbSQLPassThrough
'****************************
'QueryInsertToTabvocicedTemp*
'****************************
dbs.Execute "INSERT INTO TabellaCalcoloVociTemp" & TempVars![TempUser] & " ( Matricola, [Id Listino], Voce, Descrizione, [Valore Voce], [Q tà], Aliquota, [Val A Perc], [Valor I], MalattiaINPS, Importo ) " & _
"SELECT Matricola, [Id Listino], Voce, Descrizione, [Valore Voce], [Q tà], Aliquota, [Val A Perc], [Valor I], MalattiaINPS, Importo " & _
"FROM QueryCalcoliVociLTI" & TempVars![CodCliente] & TempVars![TempUser] & " WHERE (Importo>0) ", dbSQLPassThrough
'CHIUDO connessione ed Apro Maschera CedoliniLTI
DoCmd.Hourglass False
DoCmd.OpenForm "MascheraCedoliniLTI", acNormal, "", "", , acNormal
DoCmd.Close acForm, Me.Name
End Sub
quindi in sostanza questa maschera cancella la tabella temporanea e la ripopola tramite la vista di sql server "querycalcolivocicedolinilti" poi apre la "MascheraCedoliniLTI" e si chiude
Questo l 'ho fatto, nella mia inesperienza, perchè mi sembra più fluida l' apertura della mascheraCedoliniLTI passando prima da un maschera "di appoggio" che non mettere il codice per popolare la tabella temporanea direttamente su apertura MascheraCedoliniLTI.
Nella maschera cedolini LTI su Apertura c'è il codice
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
End Sub
e come già detto su ridimensionamento ho il codice
Private Sub Form_Resize()
DoCmd.Maximize
End Sub
ovviamente questa Maschera è popolata dalla vista collegata di sql server che si chiama "QueryGeneraleLTI"
Rispondendo ad Alex:
non ho reso invisibile MDI di Access ho tolto i pulsanti nella maschera ed ho fatto due pulsanti
uno di ridimensione con questi codici
DoCmd.RunCommand acCmdAppMinimize
DoCmd.RunCommand acCmdDocMinimize
in modo da ridurre ad icona sia la maschera che access ed a questo punto ho dovuto mettere il comando DoCmd.Maximize su Resize in modo che cliccando l' icona sulla barra si riapra tutto.
l' altro pulsante di uscita con quit
La MascheraCedolinoLTI è imposta con:
Dimensioni Automatiche : SI
Adatta allo schermo: SI
Stile bordo : Sottile
in Pratica ho fatto tutto questo perchè questa applicazione dovrà essere usata da 2 tipologie di utenti
La prima di solo data entry che non deve entrare dentro access per evitare che facciano danno
e la seconda utenti esperto che deve avere accesso ai dati per eventuali elaborazioni non comprese nell' applicazione