Newsgroup: it.comp.appl.access
Titolo: Spiegazione sintassi createrelationship

Salve a tutti e buongiorno,
in A2k ho cercato sull'help la spiegazione ma mi dà problemi.
E purtroppo qui non ho la mia bibliteca Access
Me la copiaincollereste?
Grazie
MAssimiliano


Grazie OneEDP
MAssimiliano

Ti prego di aiutarmi: le relazioni le schifo un pò.
Il mio intento sarebbe.
Ho una tabella articoli ed una vendite relazionata uno a molti.
Tolgo la relazione
elimino articoli
importo una tabella articoli nuova
ricollego le relazioni
Dovrebbe essere semplice ma mi blocco nella gestione relazione
MAssimiliano

 ha scritto nel messaggio
news:3UD5b.34701$w8.2...@news.edisontel.com...

Hai creato un indice univoco dal lato Uno e un indice con duplicati dal lato
Molti?
Forse è questo che blocca.
Ti riporto l'esempio dell'help
Esempio di metodo CreateRelation
Nel seguente esempio viene utilizzato il metodo CreateRelation per creare un
oggetto Relation tra un oggetto TableDef Impiegati ed un nuovo oggetto
TableDef denominato Reparti. Nel seguente esempio viene mostrato il modo in
cui la creazione di un nuovo oggetto Relation crea anche tutti gli insiemi
Indexes necessari nella tabella esterna (Index RepartiImpiegati nella
tabella Impiegati).
Sub CreateRelationX()
    Dim dbsNorthwind As Database
    Dim tdfImpiegati As TableDef
    Dim tdfNuovo As TableDef
    Dim idxNuovo As Index
    Dim relNuovo As Relation
    Dim idxCiclo As Index
    Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    With dbsNorthwind
        ' Aggiunge un nuovo campo alla tabella Impiegati.
        Set tdfImpiegati = .TableDefs!Impiegati
        tdfImpiegati.Fields.Append _
            tdfImpiegati.CreateField("IDRep", dbInteger, 2)
        ' Crea una nuova tabella Reparti.
        Set tdfNuovo = .CreateTableDef("Reparti")
        With tdfNuovo
            ' Crea e accoda oggetti Field all'insieme
            ' Fields del nuovo oggetto TableDef.
            .Fields.Append .CreateField("IDRep", dbInteger, 2)
            .Fields.Append .CreateField("NomeRep", dbText, 20)
            ' Crea l'oggetto Index per la tabella Reparti.
            Set idxNuovo = .CreateIndex("IndiceIDRep")
            ' Crea e accoda l'oggetto Field
            ' all'insieme Fields del nuovo oggetto Index.
            idxNuovo.Fields.Append idxNuovo.CreateField("IDRep")
            ' L'indice nella tabella primaria deve essere
            ' univoco affinché sia parte di un oggetto Relation.
            idxNuovo.Unique = True
            .Indexes.Append idxNuovo
        End With
        .TableDefs.Append tdfNuovo
        ' Crea un oggetto RepartiImpiegati Relation,
        ' con i nomi delle due tabelle nella relazione.
        Set relNuovo = .CreateRelation("RepartiImpiegati", _
            tdfNuovo.Name, tdfImpiegati.Name, _
            dbRelationUpdateCascade)
        ' Crea un oggetto Field per l'insieme Fields
        ' del nuovo oggetto Relation. Imposta le
        ' proprietà Name e ForeignName in base ai
        ' campi da utilizzare per la relazione.
        relNuovo.Fields.Append relNuovo.CreateField("IDRep")
        relNuovo.Fields!IDRep.ForeignName = "IDRep"
        .Relations.Append relNuovo
        ' Stampa il report.
        Debug.Print "Properties di " & relNuovo.Name & _
            " Relation"
        Debug.Print "  Tabella = " & relNuovo.Table
        Debug.Print "  ForeignTable = " & _
            relNuovo.ForeignTable
        Debug.Print "Fields di " & relNuovo.Name & " Relation"
        With relNuovo.Fields!IDRep
            Debug.Print "  " & .Name
            Debug.Print "    Name = " & .Name
            Debug.Print "    ForeignName = " & .ForeignName
        End With
        Debug.Print "Indexes in " & tdfImpiegati.Name & _
            " TableDef"
        For Each idxCiclo In tdfImpiegati.Indexes
            Debug.Print "  " & idxCiclo.Name & _
                ", Foreign = " & idxCiclo.Foreign
        Next idxCiclo
        ' Elimina i nuovi oggetti perché si tratta di un esempio.
        .Relations.Delete relNuovo.Name
        .TableDefs.Delete tdfNuovo.Name
        tdfImpiegati.Fields.Delete "IDRep"
        .Close
    End With
End Sub