Newsgroup: it.comp.appl.access
Titolo: nascondere finestra modulo

Buonasera a tutti,
sono nuovo di questo ng che ho scoperto solo oggi.
É un piacere vedere che ci sono persone con le stesse passioni e gli stessi
problemi discutere su access.
Oggi per la prima volta ho usato il comando CreateEventProc per scrivere
il modulo 
di una maschera creata con il comando createform... ma mi rimane aperta la
finestra
del modulo! Sapete come fare per nasconderla o chiuderla?
Grazie Emiliano
-- 
Non conosceremmo nemmeno il nome della giustizia se non ci fosse l'offesa
(Eraclito)
La ricchezza secondo natura ha confini ben precisi ed è facile a
procacciarsi, quella secondo le vane opinioni cade in un processo
all'infinito. (Epicuro)
DIONISO :Io sono nato dio, ma da voi ho subito violenze. (le Baccanti
Euripide)
Le convinzioni sono per la verità nemiche più pericolose che le menzogne.
(Friedrich Nietzsche)
www.emilianocelli.altervista.org
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Premetto non sono mai ricorso all'utilizzo di questa tecnica
ma presumo tu abbia aperto in qualche modo il modulo(che penso
sia un Modulo di Form)
With Application
            .DoCmd.OpenForm Ogg!Name, acDesign
            If .Forms(Ogg!Name).HasModule = True Then
            .Forms(Ogg!Name).Module.CreateEventProc
("Click","NomeControllo")
            '.......Fai quello che vuoi.....!
            .Forms(Ogg!Name).HasModule = False
            .DoCmd.Close acForm, Ogg!Name, acSaveYes
End With
Se hai usao un metodo diverso dovresti indicare quale.
Questo č il metodo piů semplice e poichč poi lo devi salvare dovrebbe
andare...!!!
Facci sapere.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 Facci sapere.
-- 


Ma hai chiuso la Form creata salvandola. a me non pare.
Se non la Chiudi e la Salvi poi ne modifichi il Nome la Form
di Default ha Nome "Maschera"+Progressivo
cosė come per i Controlli, li Crei poi cambi il nome...altrimenti non
funziona.
Sostituisci questo codice alla fine con:
    'NON USARE
    frm.mdl.Quit
    'USARE
    DoCmd.Close acForm, NomeForm, acSaveYes
    Set mdl =Nothing
In ogni caso non credo funzioni.
Come ti ho detto devi:
1)Creare la Form
2)Ogni controllo che Crei devi poi impostare il Nome es:
Set mds_txt = CreateControl(frm.Name, acTextBox, , , "mds", _
      0, 500, 1500, 400)
    mds_txt.Name="Nome controllo"
3)Aggiungere le Linee di Codice al Modulo
4)Chiuderla+Salvarla
5)Rinominarla con Rename OldName,acForm,NewName
6)Riaprirla(se serve)
Se segui questi passi funziona in quanto in un Demo che ho fatto qualche
anno fā usavo questo metodo...!
Ti allego un paio di Funzioni d'esempio, se vuoi vedere come Funzionano
trovi il Demo in A97 sul SitoComune nella Sezione "FORMS"
"Wizard per la creazione di menų nelle maschere stile "Visual Basic"
Ciao.
Private Function CreaForm() As Boolean
   On Error GoTo Error_CreaForm
   Dim frm As Form
   Dim intSection As Integer
   Set frm = CreateForm()
   DoCmd.Restore
   intSection = Me.OpzMenųPosition
   If intSection = 1 Then
      DoCmd.RunCommand acCmdFormHdrFtr
   End If
   With frm
      .Caption = Nz(Me.txtFormCaption, "Menų By @Alex")
      .PopUp = Me.opzPopup
      .AutoCenter = Me.opzAutoCenter
      .AutoResize = False
      .BorderStyle = acDialog
      .DividingLines = Me.opzLineDiv
      .HasModule = True
      .ScrollBars = 0
      .RecordSelectors = Me.opzSelRec
      .NavigationButtons = Me.opzPulsSpost
      .InsideHeight = 3000
      .InsideWidth = 4000
      .RecordSelectors = False
   End With
   DoCmd.Close acForm, "Maschera1", acSaveYes
   DoCmd.Rename FrmName, acForm, "Maschera1"
   CreaForm = True
exit_CreaFrom:
   Exit Function
Error_CreaForm:
   CreaForm = False
   Resume exit_CreaFrom
End Function
Private Function CreaMenų() As Boolean
   On Error GoTo Err_CreaMenų
   Dim ctl As Control
   Dim rs As DAO.Recordset
   Dim ctlposition As Integer
   Dim intLeft As Integer
   Dim SQLmenų As String
   intLeft = lblLft / 2
   ctlposition = Me.OpzMenųPosition
   DoCmd.OpenForm FrmName, acDesign
   With Forms(FrmName)
      If ctlposition = 1 Then
         .Section(1).Height = lblHeight + lblTop + lblLft
         .Section(2).Height = 0
         .Section(0).OnMouseMove = "=effectme(" & Chr(34) & "X" & Chr(34) &
",2)"
      End If
      'Inserisce il codice del MODULO di Maschera copiandolo
      'dalla Form_Contenitore
      CopiaModulo
      'Definisce le Routine Evento
      .Section(ctlposition).OnMouseMove = "=effectme(" & Chr(34) & "X" &
Chr(34) & ",2)"
      .OnMouseMove = "=effectme(" & Chr(34) & "X" & Chr(34) & ",2)"
   End With
   'Estrae dalla Tabella TblMenų i campi(Menų) per generare le LABEL
dedicate
   'mettendole in Orine di Generazione
   SQLmenų = "SELECT Menų, First(NumFunzione) AS PrimoDiNumFunzione FROM " &
TblName & _
             " GROUP BY Menų, FormName " & _
             "HAVING FormName = '" & FrmName & "' " & _
             "ORDER BY  First(NumFunzione)"
   Set rs = CurrentDb.OpenRecordset(SQLmenų)
   If Not (rs.BOF And rs.EOF) Then
      rs.MoveFirst
      Do Until rs.EOF
         Set ctl = CreateControl(FrmName, acLabel, ctlposition, "", "", , ,
100, 100)
         DoCmd.Restore
         With ctl
            .Width = 120 * Len(rs.Fields(0)) 'lblWidth
            .Height = lblHeight
            .Top = lblTop
            .Left = intLeft
            .SpecialEffect = 0
            .BorderColor = 16777215
            .Backcolor = 16777215
            .Name = rs.Fields(0)
            .Caption = .Name
            .FontName = "MS Sans Serif"
            .FontSize = 8
            .Tag = C_Alex
            'Definisce gli EVENTI delle LABEL
            .OnClick = "=sMenų(" & Chr(34) & .Name & Chr(34) & ")"
'=sMenų("File")
            .OnMouseDown = "=effectme(" & Chr(34) & .Name & Chr(34) & ",2)"
'=effectme("File";2)
            .OnMouseMove = "=effectme(" & Chr(34) & .Name & Chr(34) & ",1)"
'=effectme("Modifica";1)
         End With
         intLeft = intLeft + ctl.Width
         If Forms(FrmName).InsideWidth < intLeft Then
Forms(FrmName).InsideWidth = intLeft
         rs.MoveNext
      Loop
   End If
   rs.Close
   Set rs = Nothing
   intLeft = intLeft + lblLft
   'crea la Linea di limitazione Superiore e Inferiore
   Set ctl = CreateControl(FrmName, acLine, ctlposition, "", "", 0, 20,
Forms(FrmName).InsideWidth)
   ctl.SpecialEffect = 3
   Set ctl = CreateControl(FrmName, acLine, ctlposition, "", "", 0, lblTop +
lblHeight + 10, Forms(FrmName).InsideWidth)
   ctl.SpecialEffect = 3
   'Crea il controllo "txtFocus" per evitare errori con la gestione del
Focus
   Set ctl = CreateControl(FrmName, acTextBox, ctlposition, "", "", 0, 0, 0,
0)
   ctl.Name = "txtFocus"
   'crea la ComboBox e ne definisce le proprietā
   Set ctl = CreateControl(FrmName, acComboBox, ctlposition, "", "", 0, 0)
   With ctl
      .Name = "cboMenų"
      .Width = 1500
      .Height = lblHeight
      .SpecialEffect = 0
      .BorderColor = acWhite
      .Backcolor = acWhite
      .BoundColumn = 1
      .ColumnCount = 2
      .ColumnWidths = "0;1700"
      .ListWidth = 1700
      .OnClick = "[Event Procedure]"
   End With
   DoCmd.Close acForm, FrmName, acSaveYes
   CreaMenų = True
Exit_Creamenų:
   Exit Function
Err_CreaMenų:
   CreaMenų = False
   Resume Exit_Creamenų
End Function
------------------------------------
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ---------------------------------------------------------------------------
-- 
Non conosceremmo nemmeno il nome della giustizia se non ci fosse l'offesa
(Eraclito)
La ricchezza secondo natura ha confini ben precisi ed č facile a
procacciarsi, quella secondo le vane opinioni cade in un processo
all'infinito. (Epicuro)
DIONISO :Io sono nato dio, ma da voi ho subito violenze. (le Baccanti
Euripide)
Le convinzioni sono per la veritā nemiche pių pericolose che le menzogne.


 ---------------------------------------------------------------------------
-- 
Non conosceremmo nemmeno il nome della giustizia se non ci fosse l'offesa
(Eraclito)
La ricchezza secondo natura ha confini ben precisi ed č facile a
procacciarsi, quella secondo le vane opinioni cade in un processo
all'infinito. (Epicuro)
DIONISO :Io sono nato dio, ma da voi ho subito violenze. (le Baccanti
Euripide)
Le convinzioni sono per la veritā nemiche pių pericolose che le menzogne.


Beh spiega almeno a cosa serve Creare una Maschera
per poi non salvarla....!!!???
E' forse masochismo....?
