Newsgroup: it.comp.appl.access
Titolo: disabilitare form principale di Access

sapete se e dove se ne parla?
Grazie


          ciao
se per disabilitare intendi non visualizzarla, togli la spunta in
stumenti
avvio
MAssimiliano
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 MAssimiliano
ma no, MA, sbagliavo nell'esprimermi.
Intendo disabilitare la chiusura di Access in maniera da costringere
l'utilizzatore dell'mdb o mde a utilizzare un pulsante sulla form di avvio
creata da me.
(serve perchè su click di questo pulsante faccio eseguire del codice o
macro....
Grazie per l'aiuto e saluti a tutti; sono stato lontano dall'NG per un po'
....

gaetano di zanni ha scritto:

Vedi
http://www.donkarl.com/it/
FAQ 1.12 Impedire la chiusura del database 
--
rgrds
SC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:dk8ec2$k8e$1...@news.newsland.it...

Grazie SV

 ha scritto nel messaggio
news:4367c736$0$24646$4faf...@reader3.news.tin.it...

Mah... sarò stanco... ma non ci ho capito molto... anche perchè si fa
riferimento all'articolo in tedesco dove ci sarebbe il db di esempio: ci
sono andato e... proprio perchè in tedesco non riesco a capire come
scaricarlo.
Mi aiutate?


ciao
metti questo in un modulo a parte
Private Declare Function SendMessage Lib "user32" _
  Alias "SendMessageA" _
  (ByVal hWnd As Long, ByVal wMsg As Long, _
  ByVal wParam As Long, ByVal LParam As Long) As Long
 Private Declare Function SetWindowLong Lib "user32" _
  Alias "SetWindowLongA" (ByVal hWnd As Long, _
  ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 Private Declare Function GetWindowLong Lib "user32" _
  Alias "GetWindowLongA" (ByVal hWnd As Long, _
  ByVal nIndex As Long) As Long
 Private Const GWL_STYLE = -16
 Private Const WS_SYSMENU = &H80000
 Private Const WM_NCPAINT = &H85
 Public Sub ShowAccessBtn(ShowIt As Boolean)
     On Error GoTo Errors
     Dim lngOldStyle As Long
     Dim lngNewStyle As Long
     Dim mhWnd As Long
     mhWnd = Application.hWndAccessApp
     'Legge il valore attuale
     lngOldStyle = GetWindowLong(mhWnd, GWL_STYLE)
     If ShowIt Then
         lngNewStyle = lngOldStyle Or WS_SYSMENU
     Else
         lngNewStyle = lngOldStyle And Not WS_SYSMENU
     End If
     'Questa è l'unica Funzione indispensabile
     'che esegue realmente il comando Hide/Show
     'dei Pulsanti
     Call SetWindowLong(mhWnd, GWL_STYLE, lngNewStyle)
     'Manda un Repaint alla Finestra di Access
     Call SendMessage(mhWnd, WM_NCPAINT, 1, 0)
ExitHere:
     Exit Sub
Errors:
    MsgBox err.Description, vbCritical, "Errore n° = " & err.Number
    Resume ExitHere
 End Sub
e nella prima form che apri
dim s as boolean
 ShowAccessBtn s
    s = Not s
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 Mi aiutate?
Facciamo così :
inserisci questo in un modulo e nominalo "Elimina_Pulsante_Chiusura"
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" 
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam 
As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" 
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" 
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE = -16
Private Const WS_SYSMENU = &H80000
Private Const WM_NCPAINT = &H85
 Public Sub ShowAccessBtn(ShowIt As Boolean)
     On Error GoTo Errors
     Dim lngOldStyle As Long
     Dim lngNewstyle As Long
     Dim mHwnd As Long
     mHwnd = Application.hWndAccessApp
     'Legge il valore attuale
     lngOldStyle = GetWindowLong(mHwnd, GWL_STYLE)
     If ShowIt Then
         lngNewstyle = lngOldStyle Or WS_SYSMENU
     Else
         lngNewstyle = lngOldStyle And Not WS_SYSMENU
     End If
     'Questa è l'unica Funzione indispensabile
     'che esegue realmente il comando Hide/Show
     'dei Pulsanti
     Call SetWindowLong(mHwnd, GWL_STYLE, lngNewstyle)
     'Manda un Repaint alla Finestra di Access
     Call SendMessage(mHwnd, WM_NCPAINT, 1, 0)
ExitHere:
     Exit Sub
Errors:
    MsgBox err.Description, vbCritical, "Errore n° = " & err.Number
    Resume ExitHere
 End Sub
Poi sull'apertura della prima Form usi questo codice :
'Elimina il pulsante chiusura e riduzione ad icona dell'applicazione
Dim S As Boolean
ShowAccessBtn S
S = Not S 


Abbiamo postato la stessa cosa! :-D
-- 
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97 e 2000
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchč un uomo con la testa nel forno


 ha scritto
nel messaggio news:dka3t9$t8j$1...@domitilla.aioe.org...

Ciao Pablitomf e grazie anche a Te.
Sto facendo un po' di confusione: su un altro tread ho chiesto (mi risponde
Alex) praticamente la stessa cosa (problema su riallega tabelle (routine di
Alex), praticamente "evitare che l'utente possa chiudere Access utilizzando
la crocettina in alto, ma pigiando su un pulsante che gli ho predisposto su
una o più form (diciamo per semplicità quella di avvio, anzi, se è
necessario, SOLO su quella). Alex nel thread dice di creare una form
nascosta.... Io penso di provare le due soluzioni, appena le capisco meglio,
però.... non sono bravo come Voi.
Quando ho ben chiare le idee, comunque, anch'io aiuto come fate Voi, altri
che sono meno bravi di me, e questo credo che sia la missione principale che
tiene in vita questo bel sito!
Grazie ancora!

 ha scritto nel messaggio
news:dka3sr$vk1$1...@area.cu.mi.it...

grazie anche a Te, MA.

 Grazie ancora!


 Abbiamo postato la stessa cosa! :-D
Allora entrambi avete sbagliato...! ;-)
Non avete pensato che se vado con il Right_Click sulla
CaptionBar di Access vi frego ugualmente....!!!!!!
Vabbè visto che già ve lo avevo suggerito per questa volta
lo riposto, ma che sia l'ultima...!!!!!
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA"
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA"
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
As Long
Public Const GWL_STYLE = (-16)
Public Const WS_SYSMENU = &H80000
Public Const WM_NCPAINT = &H85
Public Function ShowAccessCloseBtn(ShowIt As Boolean)
    Dim mhWnd        As Long
    Dim lngOldStyle  As Long
    Dim lngNewStyle  As Long
 
    mhWnd = Application.hWndAccessApp
 
    ' Get the current window style of the form.
    lngOldStyle = GetWindowLong(mhWnd, GWL_STYLE)
 
    If ShowIt Then
        ' Turn on the bit that enables system menu.
        lngNewStyle = lngOldStyle Or WS_SYSMENU
    Else
        ' Turn off the bit the shows the system menu.
        lngNewStyle = lngOldStyle And Not WS_SYSMENU
    End If
    Call RemoveItem(mhWnd)
    ' Set the new window style.
    Call SetWindowLong(mhWnd, GWL_STYLE, lngNewStyle)
 
    ' The 1 as the third parameter tells
    ' the window to repaint its entire border.
    Call SendMessage(mhWnd, WM_NCPAINT, 1, 0)
ExitHere:
    Exit Function
HandleErrors:
    Select Case Err.Number
        Case Else
            MsgBox Err.Number & " " & Err.Description
    End Select
    Resume ExitHere
End Function
Sub RemoveItem(hwnd As Long)
      Dim hMnu, y, i
      Const MF_BYPOSITION As Long = 1024
      Const MF_GRAYED As Long = 1
      Const MF_DISABLED As Long = 2
      hMnu = GetSystemMenu(hwnd, 0)
      For i = 6 To 0 Step -1
         y = RemoveMenu(hMnu, i, MF_BYPOSITION)
      Next i
End Sub
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 CaptionBar di Access vi frego ugualmente....!!!!!!
Verifico in cosa ci fregheresti !... ... ...
clik...clik...clik...clik...clik...
Non mi sembra.
Con Right_Click... con Left_Click... con Click_Click... nisba...
;-)


wrote in message news:dkcfge$7mq$
1...@domitilla.aioe.org

Dai Maurizio....!(In realtà non ho capito se scherzavi o meno)
Se disabiliti i Button della Caption rimane attivo il Popup della
Caption che espone un Menù:
Ripristina
Sposta
Ridimensiona
Riduci a Icona
Ingrandisci
--------------
X Chiudi
Ora se premi su quei comandi casualmente fanno proprio
quelle azioni che avresti disabilitato eliminando i Button...!!
OK.


 OK.
Bhč onestamente per CaptionBar di Access io intendo l'intestazione di Access 
(visto che di Caption si parla), quindi ho interpretato male quello che hai 
detto...
se č cosě, mi sembra fin troppo ovvio tu abbia ragione, ma ho presupposto 
( forse erroneamente anticipando eventi ) che chi ha questo tipo di esigenza 
abbia per prima cosa disabilitato la barra dei menů base con quella cara 
CommandBars.ActiveMenuBar.Enabled = 0 che tanto ti ha incasinato (perchč in 
questo modo, poi la situazione si gira a mio favore ;-) )
Ok, punto chiarito.
E' sempre un piacere dibattere con te.
Ciao Ale
;-) 

 E' sempre un piacere dibattere con te.
Aspetta a dirlo dopo che ti abbia insultato...!! ;-)
Ciao


 @Alex

 [ROTFL]
L'IRA(Movimento di liberazione Irlandese) ormai si è riappacificato..!
