Newsgroup: it.comp.appl.access
Titolo: problema con allowedits=no

Ho una maschera in proprieta' gli metto allowedit= no, e per miracolo quando 
apro la maschera posso fare tutte le modifche che voglio mi pare strano.
Non capisco sembro impazzito ma non e' cosi'.
Vi risulta che per un qualche motivo ci sia un caso in cui questa propireta' 
non ha valenza sull'apertura della maschera??
IL database e' con access 2003 e win xp.

"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio 
news:46dfff4c$0$10627$4faf...@reader2.news.tin.it...

A me non risulta il comportamento che descrivi.
Non è che per caso volevi dire che, anche se metti allowedit= no puoi 
comunque inserire dei nuovi record?
Ciao.
-- 
Sergio MAZZA 

 comunque inserire dei nuovi record?
No no proprio mi lascia variare tutto, e se pero' alla maschera gli lascio 
la proprieta' selettore record= si allora non mi fa fare modifiche, ma se 
invece lo metto a no, posso scrivere all'interno delle caselle senza che 
succeda nulla.

"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio 
news:46e006b8$0$10619$4faf...@reader2.news.tin.it...

ma sta proprieta' dove che la vai ad impostare?
AllowEdits non si puo' impostare a "no", al massimo a "true" o "false"
Magari dalle proprieta' della form puo' impostare "consenti modifiche" a 
"no".
Se vuoi impostarla da codice allora:
private sub form_load()
allowedits = false
end sub
-- 
Ciao
Access

Ciao Alessandro,
"alessandro" <alex> ha scritto nel messaggio 
news:46e0654a$0$37206$4faf...@reader3.news.tin.it...

Non credo che questo possa influenzare quella proprieta', forse tu 
nell'aprire la form valorizzi qualche controllo?
Cioe' qualcosa del tipo:
NomeTuoControllo = "valore"
In questo caso la proprieta' allowedits viene ignorata.
Se cosi fosse, nell'evento load della form inserisci:
refresh
vedrai che cosi allowedits sara impostato correttamente.
-- 
Ciao
Access

 refresh vedrai che cosi allowedits sara impostato correttamente.
niente da fare. ecco un pezzo di codice all'apertura della form:
Private Sub Form_Load()
Me.AllowEdits = False
Me.Refresh
If Me.chk_completa = True Then
 Me.cbo_banca.Enabled = False
 Me.cbo_cliente.Enabled = False
 Me.cbo_professionista.Enabled = False
Me.ID_CLIENTE.Enabled = False
Me.Fattura_data.Enabled = False
Me.Fattura_numero.Enabled = False
Me.Fattura_DataPagamento.Enabled = False
Me.ID_CLIENTE.Enabled = False
Me.IDProfessionista.Enabled = False
Me.Ing_Cap.Enabled = False
Me.ING_CITTA.Enabled = False
Me.Ing_Indirizzo.Enabled = False
Me.Ing_PIVA.Enabled = False
Me.Ing_RagSoc.Enabled = False
Me.Ing_Provincia.Enabled = False
Me.Cliente_Cap.Enabled = False
Me.Cliente_Citta.Enabled = False
Me.Cliente_Indirizzo.Enabled = False
Me.Cliente_Piva.Enabled = False
Me.Cliente_Provincia.Enabled = False
Me.Cliente_RagSoc.Enabled = False
Else
 Me.cbo_banca.Enabled = True
 Me.cbo_cliente.Enabled = True
 Me.cbo_professionista.Enabled = True
Me.ID_CLIENTE.Enabled = True
Me.Fattura_data.Enabled = True
Me.Fattura_numero.Enabled = True
Me.Fattura_DataPagamento.Enabled = True
Me.ID_CLIENTE.Enabled = True
Me.IDProfessionista.Enabled = True
Me.Ing_Cap.Enabled = True
Me.ING_CITTA.Enabled = True
Me.Ing_Indirizzo.Enabled = True
Me.Ing_PIVA.Enabled = True
Me.Ing_RagSoc.Enabled = True
Me.Ing_Provincia.Enabled = True
Me.Cliente_Cap.Enabled = True
Me.Cliente_Citta.Enabled = True
Me.Cliente_Indirizzo.Enabled = True
Me.Cliente_Piva.Enabled = True
Me.Cliente_Provincia.Enabled = True
Me.Cliente_RagSoc.Enabled = True
End If 

"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio 
news:46e1088f$0$4788$4faf...@reader4.news.tin.it...

Secondo me fai prima a marcare i controlli che vuoi boloccare/sbloccare 
utilizzando il Tag e ciclando nell'insieme dei controlli:
es.
dim oCtrl as Control
for each oCtrl in Me.Controls
    if oCtrl.Tag = "daBloccare" Then
        oCtrl.Enabled = Me!chk_completa
    end if
next
Set oCtrl = nothing
Ciao.
-- 
Sergio MAZZA 

Ciao Alex,
"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio 
news:46e1088f$0$4788$4faf...@reader4.news.tin.it...

no, questo codice non influenza assolutamente la proprieta' allowedits, 
piuttosto da qualche parte esegui un'operazione che va ad effettuare qualche 
operazione sul record corrente.
fai cosi sull'evento load inserisci questo:
if me.dirty = true then
   msgbox"record corrente modificato"
end if
se ti esce il messaggio vuol dire che vengono effettuate operazioni su 
record corrente da qualche parte e per questo la proprieta allowedits non 
funziona.
-- 
Ciao
Access 

 non funziona.
Grazie provo a cercare grazie mille veramente! 

 Grazie
Ciao.
-- 
Sergio MAZZA 

Ciao Alex,
"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio 
news:46e4f2cc$0$37196$4faf...@reader3.news.tin.it...

A questo punto, non avendo il tuo db sottomano, non so cos'altro dirti.
Altrimenti, poichè con sto allowedits non ne usciamo fuori, per rendere le 
textbox di sola lettura potresti sfruttare la soluzione di Sergio MAZZA, 
usando la proprieta' locked in questo modo:
Private Sub form_load()
Dim oCtrl As Control
For Each oCtrl In Me.Controls
    If oCtrl.Tag = "daBloccare" Then
        oCtrl.Enabled = Me!chk_completa
End If
    If oCtrl.ControlType = acTextBox Then
        If oCtrl.Enabled = True Then
     oCtrl.Locked = True
End If
End If
Next
Set oCtrl = Nothing
End Sub
E' ovvio che per poter inserire un nuovo record o modificarlo devi gestire 
nel modo opportuno la proprieta' locked.
-- 
Ciao
Access

 Se non è così, descrivi come o modifica il codice...
si esatto sergio, ma dove gli hai detto che e' a enabled= true o false?
grazie


ok ti ringrazio riprovo.

 grazie
Ciao.
-- 
Sergio MAZZA 


non credo ti sfugga qualche cosa a parte il fatto che io sia un somaraccio 
ma forse non ti e' sfuggito nemmeno quello :)