Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eliminare relazioni via codice VBA

130 views
Skip to first unread message

Mirko Caporali

unread,
Jun 7, 2008, 5:52:36 AM6/7/08
to
Ciao a tutti,

Mi si è presentata l'esigenza di eliminare una relazione in un BE via
codice.
Navigando per il NG sono riuscito a reperite tutte le informazioni di
cui avevo bisogno.

Ho deciso di pubblicare la routine costruita per mia futura memoria e
sperando che possa tornare utile anche ad altri.

' ELIMINA RELAZIONI INUTILI
Dim RltXX As dao.Relation
Dim Parte1 As String
Dim ParteMolti As String
Dim NomeRelazione As String
' Individua il nome della relazione da eliminare
For Each RltXX In Dbs1.Relations
' Tabella parte 1
Parte1 = RltXX.Table
' Tabella parte molti
ParteMolti = RltXX.ForeignTable
If Parte1 = "tabella1" And ParteMolti = "tabella2" Then
NomeRelazione = RltXX.Name
' Elimina la relazione
Dbs1.Relations.Delete NomeRelazione
' Elimina il campo
Dbs1.Execute "ALTER TABLE tabella2 DROP COLUMN pippo"
End If
Next RltXX

Roberto da Parma

unread,
Jun 7, 2008, 6:42:47 AM6/7/08
to

"Mirko Caporali" <mirko.c...@tin.it> ha scritto nel messaggio
news:7500234c-6e57-420c...@m3g2000hsc.googlegroups.com...
Ciao a tutti,

Mirko scusami ma è una tua necessità cancellare anche un campo della
tabella?

Ciao

--
Roberto da Parma


Mirko Caporali

unread,
Jun 7, 2008, 6:47:38 AM6/7/08
to
On 7 Giu, 12:42, "Roberto da Parma" <arisib...@libero.it> wrote:
> Mirko scusami ma è una tua necessità cancellare anche un campo della
> tabella?

Si, chiedo scusa. Ho dimenticato di eliminare quel rigo.
Se si vuole eliminare SOLO la relazione, quel rigo va omesso.

Bruno Campanini

unread,
Jun 7, 2008, 7:22:15 AM6/7/08
to
"Mirko Caporali" <mirko.c...@tin.it> wrote in message
news:7500234c-6e57-420c...@m3g2000hsc.googlegroups.com...
Ciao a tutti,

Mi si è presentata l'esigenza di eliminare una relazione in un BE via
codice.
Navigando per il NG sono riuscito a reperite tutte le informazioni di
cui avevo bisogno.

Ho deciso di pubblicare la routine costruita per mia futura memoria e
sperando che possa tornare utile anche ad altri.

' ELIMINA RELAZIONI INUTILI
[...]

Io uso questa da FE a BE (se non è zuppa è pan bagnato...)
=========================================
Private Sub Rel_FE_BE_Click()
Dim LocalDB As Database, ExternalDB As Database
Dim TableName As String, ForeignTableName As String
Dim i As Object

TableName = "T1"
ForeignTableName = "T2"

Set LocalDB = CurrentDb
Set ExternalDB = OpenDatabase("D:\Access\ProvaRel.mdb")

With ExternalDB
For Each i In .Relations
If i.Table = TableName And _
i.ForeignTable = ForeignTableName Then
.Relations.Delete i.Name
End If
Next
End With

End Sub
========================================

Bruno

0 new messages