Salve a tutti, sto realizzando un database per uno studio legale, e mi sono bloccato davanti ad un ostacolo che non riesco a sorpassare con le mie sole forze.
Premetto che ho una conoscenza di base di access, che a poco a poco sto approfondendo, ma sono bianco in materia di VBA (anche se, sto incominciando a leggere qualcosa).
Il database(vedasi allegato per una maggior chiarezza):
per una maggior chiarezza ho nominato tutte le tabelle Tbl[sigla tabella] e le maschere saranno nominate Frm[sigla tabella].
per questioni di spazio, ho preferito realizzare una serie di database singoli, al cui interno ci sono una o più tabelle, infine, tutte queste tabelle sono state inserite come collegamenti in un database vuoto, in cui creerò, al suo interno, le maschere, query, macro etc.
questo metodo mi ha impedito di relazionare le varie tabelle attraverso la spuntatura dell’integrità referenziale e dell’eliminazione a catena (non lo sapevo, ma al momento di realizzare il collegamento, poiché le tabelle appartengono a database differenti, evidentemente mi è preclusa tale opzione).
Ed è qui che ha origine il problema, ho la necessità di inserire un tasto nella FrmPrt (la maschera della TblPrt) che al suo click mi elimini non solo il record visualizzato nella FrmPrt, ma anche i record che sono legati a tale maschera attraverso i vari legami che ho creato: FrmEvolRprtStorCausa; FrmNot.
Queste maschere sono legate fra di loro tutte dall’IDPrt (l’identificativo della tabella pratiche), quello che vorrei creare è un pulsante che al click trovi nelle maschere da me indicate [FrmEvolRprtStorCausa; FrmNot], i record che abbiano identici campi IDPrt e li elimini dopo una conferma.
Data la mia scarsa conoscenza del vba, mi sono limitato a fare varie prove con le macro di access.
Dati gli scarsi risultati, ho pensato di fare una query di eliminazione, dove ho riportato tutti i campi delle tabelle di cui voglio eliminare i record, impostando alcuni criteri:
primo criterio: “[Frm]![IDPrt]” nel campo “IDPrt” della “TblPrt”
secondo criterio:“[TblPrt]![IDPrt]” nei campi:
- “IDEvolRprtStorCausa” della “TblEvolRprtStorCausa”
- “IDPrt” della “TblNot”
così che il campo si identico a quello dell’ ”IDPrt” della “TblPrt”.
In seguito ho inserito nella “FrmPrt” una macro per aprire la query di eliminazione, ma quando la cerco di aprire, mi chiede di specificare la tabella da cui voglio eliminare i record
Qualcuno saprebbe dirmi dove sbaglio? Il mio dubbio è sul primo criterio visto sopra (l’intento di questo criterio dovrebbe essere quello di eliminare il record della TblPrt che ha lo stesso campo IDPrt della FrmPrt di cui clicco il pulsante per eseguire la macro che apre la query di eliminazione).
Ho fatto svariate prove, ma non riesco a venirne a capo. Cosa mi consigliate?
Allegati: