Newsgroup: it.comp.appl.access
Titolo: ESPORTARE RELAZIONI

Ciao a tutti ,
Uso Access 2000 e mi sono posto una domanda .
Come si fa a esportare le relazioni di un database ?
Vi  faccio questa domanda , perchè vorrei creare un sistema che mi permetta
di
esportare le relazioni di un database in un altro in modo tale da applicare
le relazioni del database vecchio a quello nuovo (che ovviamente avrà le
stesse tabelle e contenuti)
Vi spiego : Vorrei riuscire a confrontare le relazioni di 2 database per
vedere quali sono le differenze.
Speriamo che qualcuno sappia darmi spiegazioni in merito.
Ciao con simpatia ,
Marco.

 ha scritto nel messaggio
news:vtKba.6494$7y3.1...@twister1.libero.it...

Non credo che si possa esportare le relazioni tra tabelle, ma puoi crearle
da codice usando il metodo DAO CreateRelation (vedi help).
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 da codice usando il metodo DAO CreateRelation (vedi help).
E' vero erò che le puoi importare.
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.libero.it


Ciao Marco
Con Questa Query puoi interrogare la tabella MSysRelationships per leggere
le relazioni
SELECT szReferencedObject AS Tb_Principale, ccolumn, icolumn,
szReferencedColumn AS Key_Principale, szObject AS Tb_Secondaria, szColumn AS
Key_Secondaria, szRelationship AS NomeReferenza, IIf([grbit] And
256<>0,True,False) AS Agg_A_Catena, IIf([grbit] And 4096<>0,True,False) AS
Elimina_A_Catena
FROM MSysRelationships
WHERE (((szReferencedObject) Not Like "Msys*"))
ORDER BY szReferencedObject, icolumn, szObject;
La colonna ccolumn indica il numero di fields interessati dalla referenza
La colonna icolumn indica la sequenza dei fields
Queste colonne sono utilizzate solo se una referenza è composta da più
fields
Mentre questo è un esempio di creazione di due tabelle referenziate
Da Access2000 in avanti
Sub Crea_Tabelle_Referenziate()
Dim Sqltext As String
'Creo la prima trabella TbPrim
Sqltext = "CREATE TABLE TbPrim (" & _
          "KeyTbPrim int NOT NULL IDENTITY(1,1) PRIMARY KEY," & _
          "Nome text(50))"
CurrentProject.Connection.Execute Sqltext
'Creo la seconda tabella TbSec
Sqltext = "CREATE TABLE TbSec (" & _
          "Id_Record int NOT NULL IDENTITY(1,1) PRIMARY KEY," & _
          "KeyRefPrim int NOT NULL DEFAULT 0," & _
          "[Data] datetime," & _
          "Importo decimal(28,2) DEFAULT 0)"
CurrentProject.Connection.Execute Sqltext
'Creo il secondo indice
Sqltext = "CREATE INDEX TbSec_KeyRefPrim ON TbSec (KeyRefPrim)"
CurrentProject.Connection.Execute Sqltext
'Creo la referenza tra le tabelle
Sqltext = "ALTER TABLE Tbsec " & _
          "ADD CONSTRAINT FK_TbSec_TbPrim " & _
          "FOREIGN KEY (KeyRefPrim) " & _
          "REFERENCES TbPrim (KeyTbPrim) " & _
          "ON DELETE CASCADE " & _
          "ON UPDATE CASCADE"
 CurrentProject.Connection.Execute Sqltext
 'Se Vuoi eliminare la referenza (nel mio esempio) FK_TbSec_TbPrim
 'Sqltext = "ALTER TABLE Tbsec " & _
 '          "DROP CONSTRAINT FK_TbSec_TbPrim "
 'CurrentProject.Connection.Execute Sqltext
End Sub
Con questi esempi rudimentali puoi creare il programma di confronto e
sostituzione delle
referenze tra i due DB
Ciao Giorgio


Grazie mille a tutti , ora mi metto a provare
Ciao con simpatia,
Marco