Newsgroup: it.comp.appl.access
Titolo: Problemi con il codice

Ciao,
ho gia fatto questa domanda ma probabilmente non sono
stata chiara; oppure il dilemma e' di difficile soluzione.
Ritento:
mi e' stato suggerito (Alex NSB) un codice per
evitare la modifica contemporanea dello stesso
record da partedi due utenti su pc diversi.
Tutto sembra funzionare salvo quando si
aggiunge qualche altra riga di codice per
altri comandi nella maschera. Se aggiungo non
funziona, se tolgo l'aggiunta allora funziona di nuovo.
E' possibile, vi chiedo, che il codice di una
form vada in conflitto col codice per un comando
e di conseguenza viene reso inattivo?
Qualcuno sa dare una qualsiasi risposta
in merito? grazie
ciao
Alxx 

 ha scritto nel messaggio
news:37uji9F...@individual.net...

E' la stessa domanda di 23 ore fà o sbaglio...?
;-)
Scherzi a parte non sò qual'è il suggerimento che
ti ha dato Alex NSB, e di cercarlo per riuscire a capire
di cosa parli non è cosa simpatica per nessuno.
I casi sono 2:
1)Citi il Post con la Data in modo che sia Semplice trovarlo
2)Riporti il suggerimento
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ti ha dato Alex NSB
il suggerimento e' stato quello di inserire questo codice:
Private Sub Form_Dirty(Cancel As Integer)
    Dim rsClone As DAO.Recordset
    Dim strCriteri As String
    On Error GoTo Form_Dirty_Err
    'Prima modifica a questo record tramite QUESTA form
    'controllo se qualcun altro lo sta modificando
    If Not Me.NewRecord Then
       strCriteri = "ID=" & Me.ID
       Set rsClone = Me.RecordsetClone
       rsClone.FindFirst strCriteri
       'se la seguente istruzione non genera errori,
       'posso modificare il record.
       rsClone.Edit
       rsClone.Close
       Set rsClone = Nothing
    End If
    Exit Sub
Form_Dirty_Err:
    Select Case Err.Number
    Case 3218, 3260, 3046
        'non posso modificare il record,
        'qualcun altro lo sta modificando
        MsgBox "Il record e' gia' sotto modifica..", vbOKOnly +
vbInformation, "Record Lock"
        Cancel = True
        rsClone.Close
        Set rsClone = Nothing
        Exit Sub
    Case Else
        MsgBox "Errore numero " & Err.Number & " " & Err.Description,
vbOKOnly + vbInformation, "Errore"
        Exit Sub
    End Select
End Sub
questo codice se messo da solo va tutto bene se invece aggiungo
anche un semplice:
Private Sub Comando42_Click()
quando = "mai"
End Sub
allora il codice della modifica contemporanea non
ha piu' effetto e lo stesso record puo' essere modificato
contemporaneamente da due utenti diversi.
Dunque se aggiungo nuovo codice non funziona,
se tolgo il codice aggiunto allora funziona di nuovo.
lle' chiaro?
ciao
Alxx 


Alessa', mi sa che i casi sono 3,
3)non c'e' soluzione!
e senno' qualcuno avrebbe dato qualche suggerimento,
non credi?
Ciao
Alxx 


perche' non me ne consigli uno migliore?
ciao
Alxx 

 ha scritto nel messaggio
news:380gloF...@individual.net...

Sei tu a doverti preoccupare della cosa.
In questo NG ci sono poche ma importanti regole che
servono a tutti quelli che usano il NG come fonte di Ricerca.
Immaginando questo, capirai come il Subject è importante
per discriminare i messaggi.
Nel tuo caso:
Quanto ti ha consigliato Alex NSB è una cosa che io non trovo
ottimale, pertanto non entro nel merito.
Il problema che evidenzi deriva sicuramente dal fatto che
gli oggetti che hai inserito non sono associati ad un Campo.
Questo ovviamente non fà scatenare l'Evento Dirty di Maschera
come è giusto che sia.
Una pezza potrebbe essere di intercettare tutti gli eventi di Modifica
sui controlli non associati e far eseguire il Dirty, ma lo ritengo un
metodo estremamente scomodo e non corretto.
La soluzione più idonea sarebbe il Blocco Records, ma se non ricordo male
avevi qualche problema ad immplementarla.
Io, invece di usare metodi non comuni, cercherei la spiegazione del perchè
non andava il Blocco Records.
P.S.: Un Subject ottimale era "Blocco Records".
Saluti
