Salvare le modifiche alla struttura di un report

di il
30 risposte

30 Risposte - Pagina 2

  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    ...
    Per quanto riguarda il controllo sulle possibilità di modifica il problema sussiste per ogni elemento di tutti i report: SONO TUTTI IMMODIFICABILI.
    Questa cosa riguarda solo i report o anche le maschere (e i relativi controlli)? Hai provato a modificare qualcosa di "insignificante" nelle proprietà delle tabelle o delle query per verificare se queste modifiche vengono salvate?

    mgb ha scritto:


    ...L'impressione è che i report nella conversione da Access 2003 a 2016 abbia blindato le modifiche agli elementi.
    Si tratta forse di un mdb al quale si accedeva con qualche forma di autenticazione (nome utente con o senza pwd) magari a seguito della procedura guidata "Sicurezza a livello di utente"?
    Ti è precluso anche l'inserimento / variazione dei dati delle tabelle? è un db diviso in FE / BE? Hai verificato che il file non sia "di sola lettura" (a livello di filesystem) e di avere accesso completo alla cartella in cui si trova (sempre a livello di filesystem, specie se sotto dominio)?
    Detto questo non mi resta che pensare ad un principio di corruzione del db e di provare ad importare tutti gli oggetti in un file creato ex novo.
  • Re: Salvare le modifiche alla struttura di un report

    Si tratta forse di un mdb al quale si accedeva con qualche forma di autenticazione (nome utente con o senza pwd) magari a seguito della procedura guidata "Sicurezza a livello di utente"?
    Sì si accedeva con Pw
    Ti è precluso anche l'inserimento / variazione dei dati delle tabelle? è un db diviso in FE / BE? Hai verificato che il file non sia "di sola lettura" (a livello di filesystem) e di avere accesso completo alla cartella in cui si trova (sempre a livello di filesystem, specie se sotto dominio)?
    Sulle tabelle non ho alcuna limitazione

    Non capisco cosa significa FE/BE.

    Ho provato ad accedere in apertura file anche in modalità esclusiva per vedere se era questo il problema ma non cambia nulla.

    Non so verificare come si faccia a controllare a livello filesystem.

    Se il file risulta deteriorato come posso crearne uno nuovo mantenendo tutte le caratteristiche impostate?
    Vorrei evitare di fare un lavoraccio

    Grazie infinite per l'attenzione
  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    Si tratta forse di un mdb al quale si accedeva con qualche forma di autenticazione (nome utente con o senza pwd) magari a seguito della procedura guidata "Sicurezza a livello di utente"?
    Sì si accedeva con Pw
    ed ora non più? come è stata tolta quella password? non è possibile rintracciare chi aveva realizzato il db in formato A2003? Se quella forma di protezione con pwd comportava anche limitazioni nell'accesso alla struttura degli oggetti potrebbe essere qui la spiegazione di tutto (ma non chiedermi come si risolve, non lo so)

    mgb ha scritto:


    Non capisco cosa significa FE/BE.
    Acronimo di Front End e Back End, quando il database è "diviso" in due: un file (il Back End) che contiene i dati e che solitamente si trova in una risorsa raggiungibile da più utenti (ad esempio un server) ed un file (il Front End, distribuito ai vari utenti) dove sono inseriti, query, maschere, report, moduli e i collegamenti alle tabelle situate nel BE.
    ===
    Importante: se già non lo stai facendo, lavora sempre e solo su copie del file problematico. Seppur con tutti i suoi difetti almeno una versione intatta deve essere preservata dai danni che possono derivare dai "test" che seguono.
    ===
    Prima di avventurarti nel filesystem (solo perché è più difficile da spiegare se non sai destreggiarti tra menù e schede) prova questo: in un percorso locale (quindi non su una risorsa di rete) segui questa procedura
    partendo da "The Microsoft Access /decompile command". L'avrei lasciata come ultima spiaggia ma l'ho indicata, ripeto, solo perché orientarsi nel filesystem se non hai molta dimestichezza è un po' complicato.

    mgb ha scritto:


    Non so verificare come si faccia a controllare a livello filesystem.
    Da Esplora Risorse (o in qualunque altro modo si chiami) selezioni con un clic il file e da pulsante destro del mouse (o da qualche altra via tramite menù o quello che appare mai nella parte superiore delle finestra) seleziona "Proprietà" (solitamente è l'ultima voce del menù di scelta rapida da pulsante destro): verifica gli attributi. Se è "sola lettura" non puoi fare alcuna modifica (ma nemmeno inserire dati e/o modificare la struttura delle tabella cosa che invece non sembra verificarsi). Sempre dalla stessa posizione, in alto trovi varie schede. Dovresti essere in "Generale" (dove è presente l'attributo di sola lettura rappresentato con una casella spuntata o vuota). Spostati su "Sicurezza" e verifica per i vari utenti e gruppi le autorizzazioni (in particolare il gruppo "Administrators") ma a quel punto bisogna sapere con che tipo di utente ti connetti al sistema operativo.
    Stessa procedura (pulsante destro ecc) per la cartella in cui si trova il file, con un ulteriore accorgimento: l'attributo di sola lettura ha tre rappresentazioni grafiche: vuoto, nessun file di quella cartella è in sola lettura; spunta classica, tutti i file sono in sola lettura; un quadrato, alcuni file potrebbero essere in sola lettura mentre altri no. Se in quella cartella non ci sono altri file delicati prova a deselezinare la casella in modo da togliere ogni possibile attributo di sola lettura. Per la scheda "Sicurezza" valgono più o meno gli stessi principi e gli accorgimenti di prima.
    Il file si trova in locale o su una risorsa di rete?
    Se questo non viola le policy di sicurezza dell'ambiente in cui operi potresti provare a creare una cartella sul tuo disco fisso nella quale copiare solo il file in oggetto ed attribuirti su quella cartella "controllo completo", come pure sul file. Lavorando su un copia grossi rischi non ce ne sono, male che vada perdi la copia e cancelli tutto. Attento al fatto che trattandosi di un nuovo percorso probabilmente devi "sbloccare" il file all'avvio perché il percorso non sarà presente tra le "trusted location". Fai intervenire l'amministratore di rete o chi si occupa delle regole di sicurezza se è un ambiente lavorativo e non sei più che certo di quello che stai facendo (o meglio, di quello che io ho scritto di fare)

    mgb ha scritto:


    Se il file risulta deteriorato come posso crearne uno nuovo mantenendo tutte le caratteristiche impostate?
    Crea un file nuovo in formato accdb da Access (già che ci siamo magari in una cartella in locale sulla quale hai accesso completo, vedi sopra). Apri il file appena creato e selezioni l'importazione di tutti gli oggetti presenti nel file che ha problemi. Avrai a disposizione varie selezioni: tabelle, query, maschere, report, moduli, relazioni ecc. Tu importa tutto. Compatta e ripristina il file nel quale hai importato tutto e fai il debug.
    Ho indicato tutte le possibili strade percorribili che mi sono venute in mente. Se anche questo non risolve... contattare il medico, cioè che ha fatto il file A2003 originale.
  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:
    Si tratta forse di un mdb al quale si accedeva con qualche forma di autenticazione (nome utente con o senza pwd) magari a seguito della procedura guidata "Sicurezza a livello di utente"?
    Sì si accedeva con Pw
    ed ora non più? come è stata tolta quella password? non è possibile rintracciare chi aveva realizzato il db in formato A2003? Se quella forma di protezione con pwd comportava anche limitazioni nell'accesso alla struttura degli oggetti potrebbe essere qui la spiegazione di tutto (ma non chiedermi come si risolve, non lo so)
    Colpito nel segno!
    L'autore del file in 2003 sono sempre io, ricordo di aver inserito delle protezioni in alcune caselle perché i vari utenti non le potessero modificare ma i limiti posti erano su alcune caselle delle maschere non sui report.

    Ora mi metto al lavoro e cerco di seguire tutti i suggerimenti e riferirò sul'esito.
    GRAZIE INFINITE!!!
  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    mgb ha scritto:
    Si tratta forse di un mdb al quale si accedeva con qualche forma di autenticazione (nome utente con o senza pwd) magari a seguito della procedura guidata "Sicurezza a livello di utente"?
    Sì si accedeva con Pw
    ed ora non più? come è stata tolta quella password? non è possibile rintracciare chi aveva realizzato il db in formato A2003? Se quella forma di protezione con pwd comportava anche limitazioni nell'accesso alla struttura degli oggetti potrebbe essere qui la spiegazione di tutto (ma non chiedermi come si risolve, non lo so)
    Colpito nel segno!
    L'autore del file in 2003 sono sempre io, ricordo di aver inserito delle protezioni in alcune caselle perché i vari utenti non le potessero modificare ma i limiti posti erano su alcune caselle delle maschere non sui report.

    Ora mi metto al lavoro e cerco di seguire tutti i suggerimenti e riferirò sul'esito.
    GRAZIE INFINITE!!!
    Sappi che quello che hai detto non trova alcun riscontro in Access a meno di andare a gestire la protezione Utenti con i File MDW..., cosa che nessuno faceva se non con discrete conoscenze di Access, e cosa che ormai non si usa più in quanto non supportato.
    Quindi se effettivamente sei tu l'autore e possiedi il file MWD, potrai ancora fare qualche cosa accedendo come User(Amministratore, non ho detto ADMIN in quanto di norma si declassava a USER normale se le cose erano gestite bene...), altrimenti nulla.
    Se invece non avevi gestito con MDW... in tutti quello che dici, ci sono stranezze su cui ci sarebbe da approfondire...!!!!
  • Re: Salvare le modifiche alla struttura di un report

    Ho iniziato ad usare Access da autodidatta e sono riuscita a fargli fare ciò che volevo.

    Non sono un'esperta e pertanto faccio fatica a capire quanto mi dite.

    Ce la sto mettendo tutta, ma ho limiti che probabilmente non riuscirò a superare.

    Ad ogni modo ho provato a seguire quanto mi è stato detto di fare ma al momento il problema sui report persiste.

    Ho tentato importare tabelle query e report in un nuovo file mdb ma mi compaiono queste scritte:







    Questi messaggi di errore suggeriscono percorsi che possano risolvere il problema.

    Grazie di tutto
  • Re: Salvare le modifiche alla struttura di un report

  • Re: Salvare le modifiche alla struttura di un report

  • Re: Salvare le modifiche alla struttura di un report

  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    ...
    Ho tentato importare tabelle query e report in un nuovo file mdb ma mi compaiono queste scritte:
    Importa tutto, non solo tabelle query e report. Meglio ancora se in un file accdb (ammesso che sia possibile l'importazione diretta da mdb, ora non riesco a verificare) visto che lavori con A2016 e quello è il suo formato "preferito")

    mgb ha scritto:


    ...
    Questi messaggi di errore suggeriscono percorsi che possano risolvere il problema.
    Senza trascurare le osservazioni fatte da @Alex (che fine hanno fatto quelle limitazioni alle maschere? ci sono ancora? come le avevi impostate?), vedo che i messaggi d'errore tirano in ballo l'autocorrezione del nome. Prova a disabilitarla Set name AutoCorrect options (di questa pagina c'è anche la traduzione automatica in italiano ma appunto è automatica e... vatti a fidare dei traduttori automatici)
    Ultima speranza: rendi il db privo di informazioni personali e pubblicalo così possiamo prelevarlo e metterci le mani direttamente. Se non puoi caricarlo qui perché magari non hai ancora raggiunto il limite minimo di post per poter inserire allegati, usa un sito di file sharing (c'è chi usa anche OneDrive, GDrive, DropBox. Per quanto mi riguarda va bene tutto purché non richieda registrazione-iscrizione)
    NB: pessima idea quella i usare gli spazi nei nomi degli oggetti, in generale. Con il classico sottotratto anziché lo spazio [30 1 F] diventa [30_1_F] e si evitano tutte le grane.
    A quel db è per caso "collegato", tramite i rifermimenti in VBE un altro db che a sua volta ha un report che si chiama come quello incriminato o un modulo standard denominato "report_30 1 F"? Alt+F11 e guarda cosa compare a sinistra e nei Riferimenti. Le sto pensando tutte.
  • Re: Salvare le modifiche alla struttura di un report

    Ecco caricato il file epurato da tutti i dati sensibili.

    Spero tanto riusciate a risolvermi il problema.

    https://drive.google.com/file/d/0B2PCWhu7rXRLbklFZEtXRnh4dHc/view?usp=sharing
  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    Spero tanto riusciate a risolvermi il problema.
    Trovato! Quasi tutti i report avevano la proprietà Possiede Modulo (HasModule) = Sì mentre in realtà non c'era alcun codice presente, infatti la finestra VBE è quasi vuota (c'è solo il modulo di una maschera ma anche quello si può togliere visto che contiene solo le dichiarazioni iniziali Option Compare Database e Option Explicit)
    Operazione nr. 1: andare su quella maschera in visualizzazione struttura, aprire la finestra delle proprietà (della maschera, non di un controllo o di altra sezione della maschera) e impostare "Possiede Modulo = No", salva e chiudi.
    Dovresti poi fare la stessa cosa per ogni report (ad eccezione di Elenco Query Generale, quello è già a posto, poverino solo lui)
    ma per sfizio mio ho abbozzato una funzione per fare questa cosa in automatico
    Public Function RemoveHasModule()
        Dim obj As AccessObject, myrpt As Report
        For Each obj In CurrentProject.AllReports
            DoCmd.OpenReport obj.Name, acViewDesign, , , acHidden
            Set myrpt = Reports(obj.Name) 	'riga modificata il 28/04/2017, prima era Set myrpt = Reports(0)
            Debug.Print myrpt.Name & " = " & myrpt.HasModule
            myrpt.HasModule = False
            Debug.Print myrpt.Name & " = " & myrpt.HasModule
            DoCmd.Close acReport, myrpt.Name, acSaveYes
        Next obj
    End Function
    E' sprovvista di gestione degli errori ecc, è fatta solo per evitare di dover aprire in struttura tutti i report e modificare manualmente la proprietà. Dopo averla copiaincollata in un modulo standard e salvato il modulo, scrivi
    ? RemoveHasModule
    nella finestra immediata. Man mano che la funziona lavora vedrai nella finestra immediata il nome del report seguito dal valore della proprietà "Possiede Modulo" (HasModule) prima e dopo la modifica.
    Alla fine puoi anche cancellare il modulo standard dove hai scritto questa funzione, o almeno cancella la funzione per evitare che venga rilanciata per errore (se serve c'è sempre il forum ed è comunque di facile creazione se si capisce il meccanismo)
    Compatta e ripristina. Fine.
    Avvertimento nr. 1 = occhio perché è tarato sul db che hai pubblicato: se ci sono altri report che devono mantenere il codice bisognera cambiare alcune cosucce. Questa funzione toglie tutto da tutti i report, non risparmia nessuno.
    Avvertimento nr. 2 = attenzione al fatto che quando si apre in struttura il report se non trova la stampante a cui era abituato appare una finestra nella quale devi decidere tu cosa fare. Se lavori sempre sullo stesso computer il problema non si presenta.

    Da dove deriva questa situazione molto strana? non ne ho la minima idea.

    Edit del giorno dopo: nel codice ho modificato una riga, perché non è detto che il report appena aperto in modalità struttura sia il Reports(0). Ho dato per scontato che tutti i report fossero chiusi all'avvio della funzione (perché l'avevo provata così)
  • Re: Salvare le modifiche alla struttura di un report

    Carissimo Philcattivocarattere con questo intervento ai miei occhi assurgi a pieno titolo all'Olimpo degli Dei informatici.
    Grazie grazie grazie ora mi metto al lavoro!!!
  • Re: Salvare le modifiche alla struttura di un report

    Ora tutto funziona alla perfezione!
    Codice: Seleziona tutto
    Public Function RemoveHasModule()
    Dim obj As AccessObject, myrpt As Report
    For Each obj In CurrentProject.AllReports
    DoCmd.OpenReport obj.Name, acViewDesign, , , acHidden
    Set myrpt = Reports(0)
    Debug.Print myrpt.Name & " = " & myrpt.HasModule
    myrpt.HasModule = False
    Debug.Print myrpt.Name & " = " & myrpt.HasModule
    DoCmd.Close acReport, myrpt.Name, acSaveYes
    Next obj
    End Function

    E' sprovvista di gestione degli errori ecc, è fatta solo per evitare di dover aprire in struttura tutti i report e modificare manualmente la proprietà. Dopo averla copiaincollata in un modulo standard e salvato il modulo, scrivi
    Codice: Seleziona tutto
    ? RemoveHasModule
    nella finestra immediata. Man mano che la funziona lavora vedrai nella finestra immediata il nome del report seguito dal valore della proprietà "Possiede Modulo" (HasModule) prima e dopo la modifica.
    Non nascondo che non son riuscita a far funzionare questo comando che mi avrebbe permesso di risparmiare un bel po' di tempo.
    Ho provato a controllare in internet come avrei dovuto fare ma non sono riuscita nell'intento.

    Veramente grazie di cuore
  • Re: Salvare le modifiche alla struttura di un report

    mgb ha scritto:


    ...
    Non nascondo che non son riuscita a far funzionare questo comando che mi avrebbe permesso di risparmiare un bel po' di tempo.
    Non sei riuscita perché ha dato errori o perché non hai capito cosa dovevi fare? Se ti interessa approfondire chiedi pure, altrimenti... resto comodamente sulla sedia nell'Olimpo degli Dei informatici che mi hai assegnato (e chi la molla più?)
Devi accedere o registrarti per scrivere nel forum
30 risposte