Impossibile salvare modifiche apportate ad una maschera.

di il
6 risposte

Impossibile salvare modifiche apportate ad una maschera.

Ciao a tutti,

sono nuovo qui e newbie totale circa Access e database, quindi mi scuso in anticipo per le mancanze concettuali e linguistiche.

Ho un file di Access su cui nessuno ha fatto manutenzioni da tempo, viene utilizzato in rete da più utenti, che si limitano a inserire dati e a consultarli tramite una maschera. Avendo la necessità di fare alcune modifiche a questa interfaccia, è stata fatta una copia locale del file .accdb[1] e tentata la modifica. Una volta fatto il lavoro su alcuni oggetti (es. ridimensionamento di un oggetto casella testo), quando si va a chiudere la maschera compare la canonica finestra che chiede se si vogliono salvare le modifiche: con l'OK si torna sempre alla maschera, come se fosse impossibile salvarla. Da ricerche sul forum e tramite Google, mi sono fatto l'idea che ci possa essere: 

  • un problema di connessione al DB (ma nella mia ignoranza non capisco che connessione possa esserci, perché credo che il file sia un “monoblocco” - a meno che Access non abbia architettura client/server “a prescindere”…);
  • un discorso di accesso esclusivo, quindi accessi non regolarmente chiusi prima di fare la copia e/o autorizzazioni del file stesso.

Come posso far sì che le modifiche volute possano essere salvate? (Ho operato in “Visualizzazione Struttura” per effettuarle, sia da utente che da amministratore del PC).

Grazie in anticipo per qualsiasi contributo vorrete darmi

[1] - Nel fare ricerche ho visto che questa non è una buona prassi; risolto il problema il "template" sarà tenuto da parte e verrà messo in condivisione un .accde

6 Risposte

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    Spero di riuscire a rispondere prima di farmi ipnotizzare dal tuo avatar.

    20/08/2023 - saaiboo ha scritto:

    …viene utilizzato in rete da più utenti, che si limitano a inserire dati e a consultarli tramite una maschera…

    considerando anche la nota [1], ben venga l'uso del file accde ma mi auguro che la struttura sia Front End e Back End e che ognuno abbia a disposizione un proprio FE, che cioè non utilizzino tutti lo stesso file (accdb o accde che sia)

    Entrando più propriamente nel contenuto del thread, le ragioni per il mancato salvataggio che hai elencato mi sembrano “strane”.

    La modifica sulla struttura di una maschera ha poco a che fare eventuali problemi di connessione al db o accesso esclusivo. Ovviamente il file che modifichi non deve essere usato da nessuno in quel momento ma questo mi sembra fin troppo evidente, visto che stai lavorando su un file “in sviluppo” che hai solo tu, gli altri continuano a lavorare con i file “vecchi” fino a modifiche ultimate. Se inoltre c'è la suddivisione in FE/BE, per toglierti ogni dubbio sulla connessione ai dati prenditi un BE tuo (se si tratta di un file di Access, se è un database in senso classico lascia stare).

    Hai verificato che per la cartella in cui si trova il file in corso di modifica tu abbia privilegi completi in lettura e scrittura? Che il file stesso non sia in sola lettura? Riesci ad aggiungere un oggetto anche banale, una maschera vuota o con una casella di testo di sola prova? Il percorso in cui lavoro è elencato tra i percorsi attendibili / trusted locations? C'è codice VBA? Se sì, compila? Con un compatta e ripristina cambia qualcosa? Oppure importando tutto in file creato ex novo?

    Come posso far sì che le modifiche volute possano essere salvate? (Ho operato in “Visualizzazione Struttura” per effettuarle, sia da utente che da amministratore del PC).

    Utente o amministratore del PC poco importa, si ricollega al fatto che nella cartella in cui si sta lavorando l'utente che in quel momento opera abbia privilgi di lettura e scrittura (meglio un “controllo completo” per togliersi ogni dubbio).

    Al momento del salvataggio mi sembra di capire che non ci siano messaggi d'errore, salvo poi ritrovarsi la maschera come se nulla fosse avvenuto. Ho inteso bene?

    Verifica che gli oggetti (maschere e report) che non hanno codice VBA abbiano la proprietà “Possiede Modulo” impostata a No. Un modulo che abbia anche solo OPTION EXPLICIT e/o OPTION COMPARE è pur sembra un modulo e quindi lì è giusto che la proprietà “Possiede modulo” sia Sì.

    Le ho elencate praticamente tutte, manca solo il /DECOMPILE e l'esportazione di tutto con SaveAsTest e l'importazione con LoadFromText. Lasciamoli come ultima spiaggia.

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    20/08/2023 - Philcattivocarattere ha scritto:


    Spero di riuscire a rispondere prima di farmi ipnotizzare dal tuo avatar.

    (Snaps fingers) :-)

    (Grazie per la risposta)

    Hai verificato che per la cartella in cui si trova il file in corso di modifica tu abbia privilegi completi in lettura e scrittura? Che il file stesso non sia in sola lettura? Riesci ad aggiungere un oggetto anche banale, una maschera vuota o con una casella di testo di sola prova? 

    Sì, sì, no (vd. oltre)

    Il percorso in cui lavoro è elencato tra i percorsi attendibili / trusted locations? C'è codice VBA? Se sì, compila? Con un compatta e ripristina cambia qualcosa? Oppure importando tutto in file creato ex novo?

    Sì / sì, no - però forse mi hai messo sulla buona strada. Ne avevo già verificato l'assenza (almeno a livello di moduli), ma ho poi notato il bel tastone “Converti macro della maschera in Visual Basic”, sotto “Struttura modulo”. Pigiandolo, ho dovuto rispondere 7 volte “Sì” a questa richiesta 

    fino ad arrivare ad un “Conversione terminata”. In effetti nella finestra del VBA è comparso un modulo con il nome “Form_<Nome_maschera>” e del codice dentro (che non oso tentare di eseguire, se per compilare intendi ciò). Da quel momento ho potuto salvare le modifiche alla maschera. Posso considerare risolto il problema, oppure sono andato a rompere qualcosa?

    Compatta e ripristina fatto, ininfluente. Export in un file vuoto impossibile prima della conversione supra, poi liscio.

    […]

    Al momento del salvataggio mi sembra di capire che non ci siano messaggi d'errore, salvo poi ritrovarsi la maschera come se nulla fosse avvenuto. Ho inteso bene?

    Sì.

    Verifica che gli oggetti (maschere e report) che non hanno codice VBA abbiano la proprietà “Possiede Modulo” impostata a No. Un modulo che abbia anche solo OPTION EXPLICIT e/o OPTION COMPARE è pur sembra un modulo e quindi lì è giusto che la proprietà “Possiede modulo” sia Sì.

    Qui mi hai perso…

    Rispondendo alla domanda sul FE/BE: non penso che ogni operatore abbia un suo FE purtroppo, ma mi documento un po' e faccio presenti i problemi a chi sovraintende.

    Grazie ancora per l'analisi!

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    Posso considerare risolto il problema, oppure sono andato a rompere qualcosa?

    Mah… io direi proprio di sì. Ancora una volta la mia filosofia della programmazione, cioè “VBA è bene, macro è male”, si è verificata corrispondente alla realtà.

    (che non oso tentare di eseguire, se per compilare intendi ciò)

    Se hai poca dimestichezza con VBA è normale avere un po' di timore reverenziale. Per “COMPILA” si intende l'assenza di errori lanciando la voce del menù Debug - Compila (nomedelprogetto).

    L'esecuzione del codice vba sarà sicuramente associata ad eventi vari della maschera, fa tutto Access, dietro le quinte, come prima.

    Verifica che gli oggetti …  “Possiede modulo” sia Sì.

    Qui mi hai perso…

    Non importa, era un tentativo da fare solo se il resto non funzionava.

    Rispondendo alla domanda sul FE/BE: non penso che ogni operatore abbia un suo FE purtroppo, ma mi documento un po' e faccio presenti i problemi a chi sovraintende.

    Deve funzionare in quel modo, magari già è così ma se non lo è bisogna correre subito ai ripari prima di fare danni. Ed arriveranno, non SE ma QUANDO. Mai affidarsi al solo fattore C (che niente ha a che fare con l'omonimo linguaggio di programmazione) che già viene messo alla prova anche nelle condizioni ottimali.

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    21/08/2023 - Philcattivocarattere ha scritto:


    Posso considerare risolto il problema, oppure sono andato a rompere qualcosa?

    Mah… io direi proprio di sì. Ancora una volta la mia filosofia della programmazione, cioè “VBA è bene, macro è male”, si è verificata corrispondente alla realtà.

    Sono ottimista, mi dici che non corro rischi e che l’inghippo era lì, giusto? :-)

    Pensa che per me finora VBA e macro coincidevano, avendo scritto qualcosa in quel linguaggio esclusivamente per Excel…

    […]

    (FE per ogni operatore)

    Deve funzionare in quel modo, magari già è così ma se non lo è bisogna correre subito ai ripari prima di fare danni. Ed arriveranno, non SE ma QUANDO. Mai affidarsi al solo fattore C (che niente ha a che fare con l'omonimo linguaggio di programmazione) che già viene messo alla prova anche nelle condizioni ottimali.

    Lo temevo.

    Grazie ancora, sei stato molto gentile!

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    21/08/2023 - saaiboo ha scritto:


    Sono ottimista, mi dici che non corro rischi e che l’inghippo era lì, giusto? :-)

    Se trovi qualcuno che ti dà un'assicurazione di questo tipo, al 100%, di non correre rischi… fammelo conoscere che poi cerco di capire se stargli lontano o imparare da lui. No, non sono in grado di garantirti con certezza assoluta che l'inghippo era lì e che non corri rischi. Backup, backup, backup, male che vada rimetti in piedi il vecchio front end.

    Pensa che per me finora VBA e macro coincidevano

    ancora con quella parola, ho l'orticaria da ieri. Dietro le quinte sono molto simili, quello che si fa con una _acro (bisogna pur sopravvivere) si può fare anche in VBA (salvo alcune rarissime eccezioni se ancora esistono) ma VBA fa molto molto molto di più.

    (FE per ogni operatore)

    Quindi state già operando correttamente da quel punto di vista, o ho capito male? In ogni caso ora sai cosa dire a chi ha il potere di decidere.

  • Re: Impossibile salvare modifiche apportate ad una maschera.

    21/08/2023 - Philcattivocarattere ha scritto:


    21/08/2023 - saaiboo ha scritto:


    Sono ottimista, mi dici che non corro rischi e che l’inghippo era lì, giusto? :-)

    Se trovi qualcuno che ti dà un'assicurazione di questo tipo, al 100%, di non correre rischi… fammelo conoscere che poi cerco di capire se stargli lontano o imparare da lui. No, non sono in grado di garantirti con certezza assoluta che l'inghippo era lì e che non corri rischi. Backup, backup, backup, male che vada rimetti in piedi il vecchio front end.

    Come dicono i gggiovani, basato.

    Pensa che per me finora VBA e macro coincidevano

    ancora con quella parola, ho l'orticaria da ieri. Dietro le quinte sono molto simili, quello che si fa con una _acro (bisogna pur sopravvivere) si può fare anche in VBA (salvo alcune rarissime eccezioni se ancora esistono) ma VBA fa molto molto molto di più.

    La mia esperienza consisteva nello scrivere semplici _acro per Excel in VBA, non pensavo ne esistessero d’altro tipo.

    (FE per ogni operatore)

    Quindi state già operando correttamente da quel punto di vista, o ho capito male? In ogni caso ora sai cosa dire a chi ha il potere di decidere.

    Riassumevo la tua raccomandazione, purtroppo credo che utilizzino da tempo quel solo file condiviso, che contiene tutto. Riferisco e spero prendano le opportune decisioni.

Devi accedere o registrarti per scrivere nel forum
6 risposte