Newsgroup: it.comp.appl.access
Titolo: macro per togliere integrità referenziale

In un DB ho bisogno di togliere l'integrità referenziale per poter operare
su una maschera che contiene comandi di eliminazione record. Quale macro o
sub dovrei usare associandola ad un evento click?
Qualcuno mi può dare istruzioni?
Grazie

Donato ha scritto:

Usa un oggetto di tipo relation per scorrere l'insieme currentdb.relations
finchè non trovi la relazione che ti interessa (controllando le proprietà
table e .foreigntable), e poi cambia il valore della proprietà
attributes.
Vedi guida: Relation, Attributes
Namor
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


A dati inseriti non credo sia possibile modificare una integrità
referenziale.
Saluti.
Toni

 ha scritto nel messaggio
news:Ilycb.117809$hE5.4...@news1.tin.it...

E' possibile, è possibile.


Un po' troppo ustica  come procedura per me.
Via macro sapete se è possibile?
Grazie

 wrote in message
news:bkuc69$h6d$
1...@newsread.albacom.net

Questa sicurezza mi strabilia.
E' possibile, si, ma ti sei chiesto se poi riesci a
ripristinarla.....?????
Farla con Macro o con il codice ha lo stesso grado di
difficoltà..... e il metodo che ti ha suggerito namor
è il migliore.
Certo secondo me stai sbagliando strada, le relazioni
servono e se devi ricorrere a questi trucchetti per
fare cose normali significa solo 1 cosa, che hai sbagliato
la perogettazione.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Donato ha scritto:



Ma perchè devi togliere l'integrità referenziale per eliminare dei record?
Puoi andare incontro ad un sacco di guai...
E' più corretto trovare un sistema per eliminare i record lasciando l'i.r.
come stà.
Come sono le due tabelle, cosa contengono?


 @Alex.
Verissimo
Correggetemi se sbaglio:
Supponendo una relazione 1 a molti tra due tabelle e applicando
l'integrità referenziale i record della tabella correlata si possono
tranquillamente cancellare senza alterare alcunchè.
Se però togliamo l'integrità referenziale e andiamo a cancellare record
dalla tabella primaria non sarà poi assolutamente possibile ristabilire
l'integrità referenziale in quanto si troveranno nella tabella correlata
records che non hanno corrispondenza nella primaria.
rgrds
SC


 > la progettazione.
Crudele ma vero.
Saluti.
Toni

 wrote in message
news:YYAcb.163844$
R32.5...@news2.tin.it

Pensavate che volessi imbrogliarvi.......?
;-)
Ciao.


 ha scritto nel messaggio
news:0dd7996278046aecce...@mygate.mailgate.org...

L'applicazione che ho creato, ha una scadenza, nel senso che serve per una
data e poi si esaurisce. Nel senso che non verrà più utilizzata. Per cui non
mi interessa di perdere l'integrità referenziale tra quelle tabelle. Non
sarà più necessario neppure ripristinarla.
grazie

 ha scritto nel messaggio
news:bkufi1$gdl$1...@news.newsland.it...

Mi succede in una maschera dove ho inserito due caselle di riepilogo che
pescano da altrettante query.
Da questa maschera, con un pulsante, devo poter eliminare dei record.
Una delle query nasce dalle due tabelle con integrità referenziale uno a
molti.
Da qui l'impossibilità di eliminare i record.
Grazie






Se usi una query con raggruppamenti non puoi cancellare record.
Se usi una normale query di selezione puoi cancellare record della tabella
secondaria, quella dalla parte molti.
Ma tu con che comando elimini i record?
E se non devi più utilizzare il database, le devi svuotare completamente
le tabelle?
Comunque con l'integrità referenziale attiva devi cancellare prima i
record dalla parte molti e poi quelli dalla parte uno, a meno che non sia
attiva l'opzione "elimina record a cascata".


 attiva l'opzione "elimina record a cascata".
Dove si trova questa opzione?
Grazie

Donato ha scritto:






La trovi nella schermata delle relazioni, quando crei una nuova relazione
o facendo doppio click sulla linea che rappresenta una relazione già
esistente.
Con questa opzione attiva, se elimini un record dalla tabella dove c'è la
chiave primaria (parte "uno"), verranno eliminati anche tutti i
corrispondenti record nella tabella secondaria, ma prima ti verrà chiesta
una conferma (che puoi disabilitare/abilitare con docmd.SetWarnings
False/True).
Se ancora non risolvi manda una descrizione delle tabelle e il codice
delle query di eliminazione che vediamo dove può essere il problema.



Credo che tu sia costretto ad accedere alla collection delle relation
sull'oggetto
Database.
Io sinceramente non l'ho mai affrontata, ma credo non ci siano difficoltà,
si
accede come tutte le collection, comprende il Metodo Delete....!
@Alex.