OVH Cloud OVH Cloud

Delier des tables

12 réponses
Avatar
La Mouette
Bonjour,

En VB je veux lier des tables Access. Ca se lie effectivement avec
Transfertdatabase, mais comment les delier avant parce qu'au lieu de
remplacer les tables qui ont le même nom ca fait : nomTable(1), nomTable(2).
Donc je veux les délier avant. Comment faire?

Merci!

10 réponses

1 2
Avatar
Raymond [mvp]
Bonsoir.
Tu fais un DeleteObject
On Error Resume Next
DoCmd.DeleteObject acTable, "latableliée1"
DoCmd.DeleteObject acTable, "latableliée2"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Bonjour,

En VB je veux lier des tables Access. Ca se lie effectivement avec
Transfertdatabase, mais comment les delier avant parce qu'au lieu de
remplacer les tables qui ont le même nom ca fait : nomTable(1),
nomTable(2).
Donc je veux les délier avant. Comment faire?

Merci!


Avatar
La Mouette
Merci pour ta réponse, ca fonctionne bien.

Deux petites choses par exemple. Quand on delie les tables et qu'on les
relie, ca enleve les permissions que les usagers avait dessus, on fait
comment pour les remettre en VB?

L'autre chose.. on fait comment pour chercher dans les archives de ce forum?

Merci


Bonsoir.
Tu fais un DeleteObject
On Error Resume Next
DoCmd.DeleteObject acTable, "latableliée1"
DoCmd.DeleteObject acTable, "latableliée2"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Bonjour,

En VB je veux lier des tables Access. Ca se lie effectivement avec
Transfertdatabase, mais comment les delier avant parce qu'au lieu de
remplacer les tables qui ont le même nom ca fait : nomTable(1),
nomTable(2).
Donc je veux les délier avant. Comment faire?

Merci!







Avatar
Raymond [mvp]
il faut que tu indiques le mot de passe.
regarde la procédure sur la page :
http://access.vba.free.fr/verifierliens.htm sur laquelle je note:
La procédure en exemple ne tient pas compte de l'utilisateur et du mot de
passe. Si l'un ou l'autre de ces paramètres doit être indiqué, il faudra
rajouter une fonction de composition des données et modifier la ligne
suivante dans la sub Rafraichir_Liens : Tbl.Connect = ";DATABASE=" & Chemin
& ";UID="""";PWD="""""

Très important les archives:
http://groups.google.com/groups?meta=group%3Dmicrosoft.public.fr.access&btnG=Recherche+dans+MPFA

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Merci pour ta réponse, ca fonctionne bien.

Deux petites choses par exemple. Quand on delie les tables et qu'on les
relie, ca enleve les permissions que les usagers avait dessus, on fait
comment pour les remettre en VB?

L'autre chose.. on fait comment pour chercher dans les archives de ce
forum?

Merci


Avatar
La Mouette
Merci pour la réponse, mais je ne comprends pas comment utiliser la
procédure? Ou je la mets et à quoi elle sert?

Peut être que je devrais préciser, quand je détache mes tables, c'est pour
réattacher des tables du même nom mais d'une BD différente qui contient les
archives.

Merci


il faut que tu indiques le mot de passe.
regarde la procédure sur la page :
http://access.vba.free.fr/verifierliens.htm sur laquelle je note:
La procédure en exemple ne tient pas compte de l'utilisateur et du mot de
passe. Si l'un ou l'autre de ces paramètres doit être indiqué, il faudra
rajouter une fonction de composition des données et modifier la ligne
suivante dans la sub Rafraichir_Liens : Tbl.Connect = ";DATABASE=" & Chemin
& ";UID="""";PWD="""""

Très important les archives:
http://groups.google.com/groups?meta=group%3Dmicrosoft.public.fr.access&btnG=Recherche+dans+MPFA

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Merci pour ta réponse, ca fonctionne bien.

Deux petites choses par exemple. Quand on delie les tables et qu'on les
relie, ca enleve les permissions que les usagers avait dessus, on fait
comment pour les remettre en VB?

L'autre chose.. on fait comment pour chercher dans les archives de ce
forum?

Merci







Avatar
Raymond [mvp]
Bonjour.

la procédure est utilisée pour vérifier la bonne attache des tables. si une
seule table n'est pas reliée correctement à la base principale, on fait
composer ou on donne le nom de la base principale, et on ré-attache toutes
les tables. il suffit donc de sauter la séquence de vérif et de lancer
directement l'attache des tables pour ré-aattacher toutes les tables à une
nouvelle base.
Comme indiqué sur la page internet, en général, on place cette procédure
dans la macro autoexec pour que la vérif se réalise immédiatement au
chargement de la base, mais on peut lancer la procédure à volonté et à tout
moment.
dans la procédure, pour lancer le changement de base principale, tu exécutes
la fonction Rafraichir_Liens(). Elle va demander le chemin de la base
principale et attacher les tables.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Merci pour la réponse, mais je ne comprends pas comment utiliser la
procédure? Ou je la mets et à quoi elle sert?

Peut être que je devrais préciser, quand je détache mes tables, c'est pour
réattacher des tables du même nom mais d'une BD différente qui contient
les
archives.

Merci


Avatar
La Mouette
Désolé de devoir encore te revenir là-dessus, mais pourquoi que quand
j'execute Rafraichir_Liens, ca me fait une erreur du genre "Object variable
or With block not set" ???

Public Sub Rafraichir_Liens()
On Error GoTo Err_Rafraichir_Liens
For I = 0 To Db.TableDefs.Count - 1
Set Tbl = Db.TableDefs(I)
If (Left(Tbl.Name, 4) <> "Msys") And (Tbl.Connect <> "") Then
Tbl.Connect = ";DATABASE=C:Documents and SettingsMonaMes
documentsJURINET II_table.mdb;UID="""";PWD="""""
Tbl.RefreshLink
End If
Next I
Exit Sub
Err_Rafraichir_Liens:
Sclose
Quit
End Sub

Merci!


Bonjour,

En VB je veux lier des tables Access. Ca se lie effectivement avec
Transfertdatabase, mais comment les delier avant parce qu'au lieu de
remplacer les tables qui ont le même nom ca fait : nomTable(1), nomTable(2).
Donc je veux les délier avant. Comment faire?

Merci!


Avatar
Raymond [mvp]
As-tu bien assigner CurrentDb à Db avant de lancer la sub ?
As-tu bien déclaré Db et Tbl ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Désolé de devoir encore te revenir là-dessus, mais pourquoi que quand
j'execute Rafraichir_Liens, ca me fait une erreur du genre "Object
variable
or With block not set" ???

Public Sub Rafraichir_Liens()
On Error GoTo Err_Rafraichir_Liens
For I = 0 To Db.TableDefs.Count - 1
Set Tbl = Db.TableDefs(I)
If (Left(Tbl.Name, 4) <> "Msys") And (Tbl.Connect <> "") Then
Tbl.Connect = ";DATABASE=C:Documents and SettingsMonaMes
documentsJURINET II_table.mdb;UID="""";PWD="""""
Tbl.RefreshLink
End If
Next I
Exit Sub
Err_Rafraichir_Liens:
Sclose
Quit
End Sub



Avatar
La Mouette
Lorsque j'essaie de faire cette opération d'un compte utilisateur normal
(sans droit d'administrer), ca ferme la base de donnée au lieu de changer les
liens!?


As-tu bien assigner CurrentDb à Db avant de lancer la sub ?
As-tu bien déclaré Db et Tbl ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Désolé de devoir encore te revenir là-dessus, mais pourquoi que quand
j'execute Rafraichir_Liens, ca me fait une erreur du genre "Object
variable
or With block not set" ???

Public Sub Rafraichir_Liens()
On Error GoTo Err_Rafraichir_Liens
For I = 0 To Db.TableDefs.Count - 1
Set Tbl = Db.TableDefs(I)
If (Left(Tbl.Name, 4) <> "Msys") And (Tbl.Connect <> "") Then
Tbl.Connect = ";DATABASE=C:Documents and SettingsMonaMes
documentsJURINET II_table.mdb;UID="""";PWD="""""
Tbl.RefreshLink
End If
Next I
Exit Sub
Err_Rafraichir_Liens:
Sclose
Quit
End Sub








Avatar
La Mouette
ok.. en leur donnant le droit de 'Modifier la structure' ca fonctionne. Mais
ce n'est pas très logique je trouve.

Comment empêcher mes utilisateur d'avoir accès aux tables seulement par
l'entremise des formulaires? C'est - à - dire ne pas leur donner le droit de
voir le petite fenêtre qui énumère tous les objets de la bd.

Merci encore!


Oups en effet, c'était le Set CurrentDB... :D

Merci ca marche!

Maintenant, si je suis un utilisateur


As-tu bien assigner CurrentDb à Db avant de lancer la sub ?
As-tu bien déclaré Db et Tbl ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Désolé de devoir encore te revenir là-dessus, mais pourquoi que quand
j'execute Rafraichir_Liens, ca me fait une erreur du genre "Object
variable
or With block not set" ???

Public Sub Rafraichir_Liens()
On Error GoTo Err_Rafraichir_Liens
For I = 0 To Db.TableDefs.Count - 1
Set Tbl = Db.TableDefs(I)
If (Left(Tbl.Name, 4) <> "Msys") And (Tbl.Connect <> "") Then
Tbl.Connect = ";DATABASE=C:Documents and SettingsMonaMes
documentsJURINET II_table.mdb;UID="""";PWD="""""
Tbl.RefreshLink
End If
Next I
Exit Sub
Err_Rafraichir_Liens:
Sclose
Quit
End Sub










Avatar
La Mouette
Oups en effet, c'était le Set CurrentDB... :D

Merci ca marche!

Maintenant, si je suis un utilisateur


As-tu bien assigner CurrentDb à Db avant de lancer la sub ?
As-tu bien déclaré Db et Tbl ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"La Mouette" a écrit dans le message
de news:
Désolé de devoir encore te revenir là-dessus, mais pourquoi que quand
j'execute Rafraichir_Liens, ca me fait une erreur du genre "Object
variable
or With block not set" ???

Public Sub Rafraichir_Liens()
On Error GoTo Err_Rafraichir_Liens
For I = 0 To Db.TableDefs.Count - 1
Set Tbl = Db.TableDefs(I)
If (Left(Tbl.Name, 4) <> "Msys") And (Tbl.Connect <> "") Then
Tbl.Connect = ";DATABASE=C:Documents and SettingsMonaMes
documentsJURINET II_table.mdb;UID="""";PWD="""""
Tbl.RefreshLink
End If
Next I
Exit Sub
Err_Rafraichir_Liens:
Sclose
Quit
End Sub








1 2