Newsgroup: it.comp.appl.access
Titolo: Maschera di sola lettura, codice non funzionante

Ho provato, da newbie anche in tal senso, a creare una maschera di 
immisiione e visualizzazione dati che sia in sola lettura per impedire 
accidentali modifiche ai ecordgià immessi.
Son andato sulla Proprietà Consenti Modfiche della MAschera e l'ho impostata 
a no.
Poi ho inserito un pulsante di comando che permette di Modificare un Record 
su specifica richiesta dell'utente:
Private Sub ModificaRecord_click()
Me.AllowEdits=True
Nome.SetFocus
End Sub
così riporto a true la proprietà suddetta.
Poi ho un pulsante di comando AggiungiRecord creato col Wizard.
Poi nelle proprietà Maschera, su Corrente ho messo il codice 
Me.AllowEdits=False
che riporta la maschera allo stato di sola lettura ogni volta che passo ad 
un record esistente nella maschera.
Poi, sempre in Proprietà Maschera, ho messo Me.AllowEdits=False
nella Proprietà AfterUpdate,
che riporta la maschera allo stato di sola lettura dopo il salvataggio fatto 
con un tasto di comando da me inserito col wizard nella maschera stessa.
Ora, ecco le due domande:
1) Non bastava mettere il Me.AllowEdits = False dirett nel codice realativo 
al pulsante di cmd Modificarecord? Ed in tal caso che codice andava messo?
2) Ho inserito un pulsnate di comando che nelle mie intenzioni avrebbe 
dovuto riportare la maschera in sola lettura ad ogni suo click.
Il codice è:
Private Sub BloccaModificheMaschera_click()
Me.AllowEdits=False
End Sub
Ma se ci clicco sopra, mentre la maschera è in scrittura, la situazione non 
muta. Perchè?
3) Ho inserito un pulsante di cmd Salva Record col wizard.
Allora, se ci clicco sopra, esce il messaggio Microsoft
"Comando o azione "salva record" non disponibile"
Perchè?
E perchè, se il codice del wizard di tale pulsante di cmd non contiene il 
codice che ora scrivo, poi se vado a leggerlo ci trovo le due righe
Me.AllowEdits=True
Nome.Setfocus
???????
Scusatemi per la prolissicità, ho cercato di darvi tutti gli elementi per 
aiutarmi.
Buona giornata.
Piero 

 ha scritto nel messaggio 
news:IKeqe.363$Fu1...@nntpserver.swip.net...

Veramente è un bel casino; consiglio di fermarsi un attimo e riflettere su 
quello che si deve fare.
Se ho capito bene vuoi una form dove non ci sia la possibilità di inserire 
dei nuovi record o cancellarli, con un bottone che permetta la modifica/il 
salvataggio delle eventuali modifiche (dopo aver attivato la funzionalità).
Puoi non impostare nulla sulla form; con questi bottoni tu:
(blocchi/sblocchi la modifica dei dati)
Private Sub bttnBlocca_Click()
Select Case Me.AllowEdits
    Case -1
        Me!bttnBlocca.Caption = "Sblocca"
    Case 0
        Me!bttnBlocca.Caption = "Blocca"
    Case Else
End Select
Me.AllowEdits = Not Me.AllowEdits
End Sub
(attivi/disattivi l'inserimento di nuovi record)
Private Sub bttnInsersci_Click()
Select Case Me.AllowAdditions
    Case -1
        Me!bttnInsersci.Caption = "Non inserisci"
    Case 0
        Me!bttnInsersci.Caption = "Inserisci"
    Case Else
End Select
Me.AllowAdditions = Not Me.AllowAdditions
End Sub
(attivi/disattivi la possibilità di eliminare il record)
Private Sub bttnElimina_Click()
Select Case Me.AllowDeletions
    Case -1
        Me!bttnElimina.Caption = "Non elimina"
    Case 0
        Me!bttnElimina.Caption = "Elimina"
    Case Else
End Select
Me.AllowDeletions = Not Me.AllowDeletions
End Sub
(salvi le modifiche del record)
Private Sub bttnSalva_Click()
If Me.Dirty Then
    MsgBox "Dati salvati"
    Me.Refresh
Else
    MsgBox "Non c'e' nulla da salvare."
End If
End Sub
Ciao.
-- 
Sergio MAZZA