Form mancato funzionamento proprietà allowedits

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Form mancato funzionamento proprietà allowedits

    Ciao

    ci provo

  • Re: Form mancato funzionamento proprietà allowedits

    Buonasera Franco.

    Ho provato ma le cose non sono mai semplici come a prima vista si può pensare.

    Ho provato a individuare e eliminare le caratteristiche incompatibili ma non ci sono riuscito.

  • Re: Form mancato funzionamento proprietà allowedits

    Buonasera

    dopo un'estenuante nuero di prove ho individuato la causa del problema nell'istruzione, contenuta in ciascun case Me.[NomeCampo].Value = Null. Infatti in presenza di tale istruzione, dopo l'esecuzione del case di volta in volta selezionato, sulla base del valore assunto dalla casella idTipoRazionalizzazione, la procedura, verificata in sede di debug, torna all'istruzione Me.AllowEdits = False che sembrerebbe essere eseguita, ma senza efficacia nel senso che la form  risulta essere modificabile.

    Se elimino dai varii case l'istruzione Me.[NomeCampo].Value = Null, in sede di debug sembrerebbe non cambiare niente, la procedura torna all'istruzione Me.AllowEdits = False che, questa volta, viene eseguita con efficacia e ma form risulta non modificabile.

    Qualcuno sa spiegarmi il motivo e suggerirmi una soluzione ?

    Grazie e riporto di seguito il codice vba della form.

    Option Compare Database
    
    Private Sub cboAcronimo_AfterUpdate()
    Me.Requery
    ControlloCase
    Me.AllowEdits = False
    End Sub
    
    Private Sub ControlloCase()
    
    cmdSalvaRecord.Enabled = False
    Me.cmdSalvaRecord.Enabled = False
        
        If IsNull(Me.idTipoRazionalizzazione) Then
            
            Me.Corpo.Visible = True
            Me.cmdChiudiMaschera.SetFocus   ' non so se si chiama così
            Me.cmdModificaRecord.Enabled = False
            Me.cmdEliminaRecord.Enabled = False   ' non so se si chiama così
        
        Else
            Me.Corpo.Visible = True
            Me.cmdModificaRecord.Enabled = True
            Me.cmdModificaRecord.SetFocus
            Me.cmdEliminaRecord.Enabled = True   ' non so se si chiama così
            
            Select Case Me.idTipoRazionalizzazione
    
            Case 2 'interventi di razionalizzazione
    
            Me.InterventiRazionalizzazione.Visible = True
            Me.InterventiRazionalizzazione_Etichetta.Visible = True
            Me.PresuppostiAttuazione.Visible = False
            Me.PresuppostiAttuazione.Value = Null
            Me.PresuppostiAttuazione_Etichetta.Visible = False
            Me.NoteRazionalizzazione.Visible = True
            Me.Note_Etichetta.Visible = True
    
            Case 5 'alienazione
    
            Me.InterventiRazionalizzazione.Visible = False
            Me.InterventiRazionalizzazione_Etichetta.Visible = False
            Me.InterventiRazionalizzazione.Value = Null
            Me.PresuppostiAttuazione.Visible = False
            Me.PresuppostiAttuazione_Etichetta.Visible = False
            Me.PresuppostiAttuazione.Value = Null
            Me.NoteRazionalizzazione.Visible = True
            Me.Note_Etichetta.Visible = True
    
            Case 6 'cessione gratuita
    
            Me.InterventiRazionalizzazione.Visible = False
            Me.InterventiRazionalizzazione_Etichetta.Visible = False
            Me.InterventiRazionalizzazione.Value = Null
            Me.PresuppostiAttuazione.Visible = True
            Me.PresuppostiAttuazione_Etichetta.Visible = True
            Me.NoteRazionalizzazione.Visible = True
            Me.Note_Etichetta.Visible = True
    
            Case 7, 8, 9, 11, 12 'liquidazione, scioglimento, fusioni e recesso
    
            Me.InterventiRazionalizzazione.Visible = False
            Me.InterventiRazionalizzazione_Etichetta.Visible = False
            Me.InterventiRazionalizzazione.Value = Null
            Me.PresuppostiAttuazione.Visible = False
            Me.PresuppostiAttuazione_Etichetta.Visible = False
            Me.PresuppostiAttuazione.Value = Null
            Me.NoteRazionalizzazione.Visible = True
            Me.Note_Etichetta.Visible = True
    
            Case 12 'Recesso
    
            Me.InterventiRazionalizzazione.Visible = False
            Me.InterventiRazionalizzazione_Etichetta.Visible = False
            Me.InterventiRazionalizzazione.Value = Null
            Me.PresuppostiAttuazione.Visible = False
            Me.PresuppostiAttuazione_Etichetta.Visible = False
            Me.PresuppostiAttuazione.Value = Null
            Me.NoteRazionalizzazione.Visible = True
            Me.Note_Etichetta.Visible = True
    
        End Select
    
    End If
    
    End Sub
    
    Private Sub cmdModificaRecord_Click()
    Me.AllowEdits = True
    End Sub
    
  • Re: Form mancato funzionamento proprietà allowedits

    Ciao,

    difficile giuudicare così senza avere le strutture delle tabelle e come sono impostate le proprietà delle colonne.
    Ma è anche necessario vedere e capire come sono impostate le proprietà del progetto.

    Dopo aver raccolto tali informazioni allora si arriva alla soluzione 

  • Re: Form mancato funzionamento proprietà allowedits

    Ciao Franco

    continuerò a trovare un modo per salvare il dbase in una versione compatibile con quelle precedenti. Per proprietà del progetto si intende il settaggio delle opzioni di access ?

  • Re: Form mancato funzionamento proprietà allowedits

    Buongiorno Franco

    ho ridotto all'osso il Dbase e l'ho salvato in formato access 2002-2003 ed è accessibile a questo link

    https://www.dropbox.com/scl/fi/3zmxxynfcwj0d43pjupy9/Database.mdb?rlkey=jmvo8n7o1eqkpn1r6lwnukb8k&dl=0

    Forse riesci ad accedervi e aprirlo.

  • Re: Form mancato funzionamento proprietà allowedits

    Buonasera

    ho potuto verificare che se nella routine ControlloCase sostituisco l'istruzione Me.[NomeCampo].Value = Null con l'istruzione isNull(Me.[NomeCampo])  funziona tutto alla perfezione e la maschera, dopo la selezione dell'Acronimo e la visualizzazione del corrispondente record, non è modificabile a meno, ovviamente, di non attivare il pulsante cmdModificaRecord.

    Ovviamente non so spiegarmene il motivo.

    Saluto e ringrazio quelli che sono intervenuti per aiutarmi.

  • Re: Form mancato funzionamento proprietà allowedits

    Buonasera

    ho potuto verificare che se nella routine ControlloCase sostituisco l'istruzione Me.[NomeCampo].Value = Null con l'istruzione isNull(Me.[NomeCampo])  funziona tutto alla perfezione e la maschera, dopo la selezione dell'Acronimo e la visualizzazione del corrispondente record, non è modificabile a meno, ovviamente, di non attivare il pulsante cmdModificaRecord

    vi prego di non tener conto di quanto ho affermato nel mio precedente messaggio. E' vero che se sostituisco le istruzioni, dopo la selezione e la visualizzazione dell'Acronimo la form non è modificabile, ma l'istruzione isNull(Me.[NomeCampo]) non attribuisce il valore nullo al campo [NomeCampo].

    Avevo cantato vittoria troppo presto !

  • Re: Form mancato funzionamento proprietà allowedits

    Intanto credo che tu abbia dei grossi problemi nella struttura delle tabelle, relazioni tra le stesse e normalizzazione.

    Che senso hanno tblRazionalizzazioniInCorsoHeader e tblRazionalizzazioniInCorsoRows che sembrerebbero dover essere in relazione e se fosse così il replicare quasi tutti i campi anche nella altra non ha niente a che vedere con la logica di un database.

  • Re: Form mancato funzionamento proprietà allowedits

    Buonasera Stifone

    hai perfettamente ragione, infatti la tabella tblRazionalizzazioniInCorsoRows non la utilizzo più e i suoi campi li ho inseriti nella tabella Header.

  • Re: Form mancato funzionamento proprietà allowedits

    Qui puoi vedere un'esempio di come poter gestire i dati, rimane il fatto che da quello che si può vedere dalla finestra delle relazioni c'è stata una cattiva gestione nella struttura delle Tabelle, delle Proprietà dei Campi e Normalizzazione.

Devi accedere o registrarti per scrivere nel forum
25 risposte