Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tables liées sur stick USB

8 réponses
Avatar
Claude B.
Bonjour à tous,

Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
tables, de l'autre les requêtes, formulaires, etc.

Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
conséquent, le lien ne fonctionne pas.
Je dois repasser par le gestionnaire de tables liées pour refaire les liens.

Est-ce quelqu'un connait une solution pour rendre ma table liée totalement
indépendante ?
Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
suivent aussi.

Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.

Bonne soirée.

Claude

8 réponses

Avatar
Richard_35
Bonjour Claude,

Essaies de créer un répertoire sur ta clé USB ; ensuite, tu partages ce
répertoire (click droit/Partage) en lui donnant un nom.
Enfin, l'accès à ce répertoire s'effectuera par NomDuRepBaseSansTable.mdb
BaseNonTable.mdb devra pointer sur NomDuRepBaseAvecTable.mdb
(gestionnaire de tables liées).

Le principe est de "variabiliser" le chemin.

Je ne suis pas certain que cela fonctionne... à tester.
Dis-nous et bon courage,
Richard.

"Claude B." a écrit dans le
message de news:
Bonjour à tous,

Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
tables, de l'autre les requêtes, formulaires, etc.

Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
conséquent, le lien ne fonctionne pas.
Je dois repasser par le gestionnaire de tables liées pour refaire les
liens.

Est-ce quelqu'un connait une solution pour rendre ma table liée totalement
indépendante ?
Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
suivent aussi.

Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.

Bonne soirée.

Claude




Avatar
Dragan
Bonjour Claude,
il y a deux idées; une consiste à créer une procédure VBA qui met à jour les
liens
l'autre est de créer une table qui recense le nom complet du fichier de
données par ordinateur + une procédure qui met à jour les liens.

Exemple de procédure à tester :

CONST DatasFile = "nomdufichierdedonnees"
SUB SetLinkTables ()
DIM TBL As DAO.TableDef, NewLink As String
NewLink=";DATABASE=" & CurrentProject.Path & "" & DatasFile

FOR EACH TBL IN CurrentDb.TableDefs
WITH TBL
IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
IF .Connect<>NewLink THEN
.Connect=NewLink
.RefreshLink
END IF
END IF
END WITH
NEXT

END SUB

"Claude B." a écrit :

Bonjour à tous,

Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
tables, de l'autre les requêtes, formulaires, etc.

Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
conséquent, le lien ne fonctionne pas.
Je dois repasser par le gestionnaire de tables liées pour refaire les liens.

Est-ce quelqu'un connait une solution pour rendre ma table liée totalement
indépendante ?
Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
suivent aussi.

Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.

Bonne soirée.

Claude






Avatar
Claude B.
Hello Richard,

NON, ça ne fonctionne pas. Le chemin commence toujours par J:..... sur un
PC et E: sur l'autre.

Merci beaucoup pour ton aide.

Bonne journée.

Claude


"Richard_35" a écrit dans le message de news:

Bonjour Claude,

Essaies de créer un répertoire sur ta clé USB ; ensuite, tu partages ce
répertoire (click droit/Partage) en lui donnant un nom.
Enfin, l'accès à ce répertoire s'effectuera par
NomDuRepBaseSansTable.mdb
BaseNonTable.mdb devra pointer sur NomDuRepBaseAvecTable.mdb
(gestionnaire de tables liées).

Le principe est de "variabiliser" le chemin.

Je ne suis pas certain que cela fonctionne... à tester.
Dis-nous et bon courage,
Richard.

"Claude B." a écrit dans le
message de news:
Bonjour à tous,

Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
tables, de l'autre les requêtes, formulaires, etc.

Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
conséquent, le lien ne fonctionne pas.
Je dois repasser par le gestionnaire de tables liées pour refaire les
liens.

Est-ce quelqu'un connait une solution pour rendre ma table liée
totalement indépendante ?
Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
suivent aussi.

Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.

Bonne soirée.

Claude









Avatar
Claude B.
Hello Dragan,

Merci pour cette procedure. Elle marche presque parfaitement bien.

J'ai 4 tables. Cette procedure met à jour les 3 premières puis plante.

Comme je suis incapable de trouver la solution, est-ce que j'ose encore
abuser de ton aide ?
Voilà ce qui se passe :
Elle plante à la ligne : .connect = Newlink
Le message d'erreur est : Erreur d'éxécution 3219, opération non valide
A ce moment, la variable Newlink contient la bonne valeur. Par contre,
.connect est vide.
J'ai constaté que pour les 3 premières tables, les valeurs des 3 variables
sont identiques (1073741824) dans la fonction IF suivante :
IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
Par contre, pour la 4ème table, .Attributes = 2

Un grand merci d'avance pour ton aide.

Claude


"Dragan" a écrit dans le message de news:

Bonjour Claude,
il y a deux idées; une consiste à créer une procédure VBA qui met à jour
les
liens
l'autre est de créer une table qui recense le nom complet du fichier de
données par ordinateur + une procédure qui met à jour les liens.

Exemple de procédure à tester :

CONST DatasFile = "nomdufichierdedonnees"
SUB SetLinkTables ()
DIM TBL As DAO.TableDef, NewLink As String
NewLink=";DATABASE=" & CurrentProject.Path & "" & DatasFile

FOR EACH TBL IN CurrentDb.TableDefs
WITH TBL
IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
IF .Connect<>NewLink THEN
.Connect=NewLink
.RefreshLink
END IF
END IF
END WITH
NEXT

END SUB

"Claude B." a écrit :

Bonjour à tous,

Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
tables, de l'autre les requêtes, formulaires, etc.

Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
conséquent, le lien ne fonctionne pas.
Je dois repasser par le gestionnaire de tables liées pour refaire les
liens.

Est-ce quelqu'un connait une solution pour rendre ma table liée
totalement
indépendante ?
Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
suivent aussi.

Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.

Bonne soirée.

Claude









Avatar
Dragan
Bonjour Claude, le premier test est là justement pour ne traiter que les
tables liées de ta base appli;
le test doit être :
If (.Attributes And DbAttachedTable)ÛAttachedTable Then

Pour précision j'ai écrit deux test par manque de clarté; mais en fait une
seule ligne
suffit:

IF ((.Attributes And DbAttachedTable)ÛAttachedTable) And .Connect<>NewLink

j'ai oublié de placer .Attributes And DbAttachedTable entre parenthèse
l'erreur vient de là

"Claude B." a écrit :

Hello Dragan,

Merci pour cette procedure. Elle marche presque parfaitement bien.

J'ai 4 tables. Cette procedure met à jour les 3 premières puis plante.

Comme je suis incapable de trouver la solution, est-ce que j'ose encore
abuser de ton aide ?
Voilà ce qui se passe :
Elle plante à la ligne : .connect = Newlink
Le message d'erreur est : Erreur d'éxécution 3219, opération non valide
A ce moment, la variable Newlink contient la bonne valeur. Par contre,
..connect est vide.
J'ai constaté que pour les 3 premières tables, les valeurs des 3 variables
sont identiques (1073741824) dans la fonction IF suivante :
IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
Par contre, pour la 4ème table, .Attributes = 2

Un grand merci d'avance pour ton aide.

Claude


"Dragan" a écrit dans le message de news:

> Bonjour Claude,
> il y a deux idées; une consiste à créer une procédure VBA qui met à jour
> les
> liens
> l'autre est de créer une table qui recense le nom complet du fichier de
> données par ordinateur + une procédure qui met à jour les liens.
>
> Exemple de procédure à tester :
>
> CONST DatasFile = "nomdufichierdedonnees"
> SUB SetLinkTables ()
> DIM TBL As DAO.TableDef, NewLink As String
> NewLink=";DATABASE=" & CurrentProject.Path & "" & DatasFile
>
> FOR EACH TBL IN CurrentDb.TableDefs
> WITH TBL
> IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
> IF .Connect<>NewLink THEN
> .Connect=NewLink
> .RefreshLink
> END IF
> END IF
> END WITH
> NEXT
>
> END SUB
>
> "Claude B." a écrit :
>
>> Bonjour à tous,
>>
>> Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
>> tables, de l'autre les requêtes, formulaires, etc.
>>
>> Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
>> conséquent, le lien ne fonctionne pas.
>> Je dois repasser par le gestionnaire de tables liées pour refaire les
>> liens.
>>
>> Est-ce quelqu'un connait une solution pour rendre ma table liée
>> totalement
>> indépendante ?
>> Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
>> suivent aussi.
>>
>> Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.
>>
>> Bonne soirée.
>>
>> Claude
>>
>>
>>
>>
>






Avatar
3stone
Salut,

"Claude B."
| Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
| tables, de l'autre les requêtes, formulaires, etc.
|
| Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
| conséquent, le lien ne fonctionne pas.
| Je dois repasser par le gestionnaire de tables liées pour refaire les liens.
|
| Est-ce quelqu'un connait une solution pour rendre ma table liée totalement
| indépendante ?
| Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
| suivent aussi.


Regarde ceci :
http://www.3stone.be/access/articles.php?lng=fr&pgE7

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Claude B
Hello,

GENIAL !

MERCI pour ton aide. C'est vraiment sympa de ta part.

Merci aussi à tous les autres qui ont pris quelques minutes pour analyser
mon problème.

Bonne fin de journée.

Claude

"Dragan" a écrit dans le message de news:

Bonjour Claude, le premier test est là justement pour ne traiter que les
tables liées de ta base appli;
le test doit être :
If (.Attributes And DbAttachedTable)ÛAttachedTable Then

Pour précision j'ai écrit deux test par manque de clarté; mais en fait une
seule ligne
suffit:

IF ((.Attributes And DbAttachedTable)ÛAttachedTable) And
.Connect<>NewLink

j'ai oublié de placer .Attributes And DbAttachedTable entre parenthèse
l'erreur vient de là

"Claude B." a écrit :

Hello Dragan,

Merci pour cette procedure. Elle marche presque parfaitement bien.

J'ai 4 tables. Cette procedure met à jour les 3 premières puis plante.

Comme je suis incapable de trouver la solution, est-ce que j'ose encore
abuser de ton aide ?
Voilà ce qui se passe :
Elle plante à la ligne : .connect = Newlink
Le message d'erreur est : Erreur d'éxécution 3219, opération non valide
A ce moment, la variable Newlink contient la bonne valeur. Par contre,
..connect est vide.
J'ai constaté que pour les 3 premières tables, les valeurs des 3
variables
sont identiques (1073741824) dans la fonction IF suivante :
IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
Par contre, pour la 4ème table, .Attributes = 2

Un grand merci d'avance pour ton aide.

Claude


"Dragan" a écrit dans le message de
news:

> Bonjour Claude,
> il y a deux idées; une consiste à créer une procédure VBA qui met à
> jour
> les
> liens
> l'autre est de créer une table qui recense le nom complet du fichier de
> données par ordinateur + une procédure qui met à jour les liens.
>
> Exemple de procédure à tester :
>
> CONST DatasFile = "nomdufichierdedonnees"
> SUB SetLinkTables ()
> DIM TBL As DAO.TableDef, NewLink As String
> NewLink=";DATABASE=" & CurrentProject.Path & "" & DatasFile
>
> FOR EACH TBL IN CurrentDb.TableDefs
> WITH TBL
> IF (.Attributes And DbAttachedTableÛAttachedTable) THEN
> IF .Connect<>NewLink THEN
> .Connect=NewLink
> .RefreshLink
> END IF
> END IF
> END WITH
> NEXT
>
> END SUB
>
> "Claude B." a écrit :
>
>> Bonjour à tous,
>>
>> Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
>> tables, de l'autre les requêtes, formulaires, etc.
>>
>> Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
>> conséquent, le lien ne fonctionne pas.
>> Je dois repasser par le gestionnaire de tables liées pour refaire les
>> liens.
>>
>> Est-ce quelqu'un connait une solution pour rendre ma table liée
>> totalement
>> indépendante ?
>> Eventuellement aussi si je déplace mes 2 tables sur un DD, que les
>> liens
>> suivent aussi.
>>
>> Un grand merci d'avance à tous ceux qui peuvent m'aider un peu.
>>
>> Bonne soirée.
>>
>> Claude
>>
>>
>>
>>
>









Avatar
Claude B
Hello,

MERCI. Je vais tester.

Je ne connaissais pas ce site mais je viens de l'ajouter à mes favoris.

Bonne soirée.

Claude

"3stone" a écrit dans le message de news:
%
Salut,

"Claude B."
| Sur un stick USB, j'ai séparer ma base de données en 2. D'un coté les
| tables, de l'autre les requêtes, formulaires, etc.
|
| Suivant le PC que j'utilise, le stick n'a pas la même lettre et par
| conséquent, le lien ne fonctionne pas.
| Je dois repasser par le gestionnaire de tables liées pour refaire les
liens.
|
| Est-ce quelqu'un connait une solution pour rendre ma table liée
totalement
| indépendante ?
| Eventuellement aussi si je déplace mes 2 tables sur un DD, que les liens
| suivent aussi.


Regarde ceci :
http://www.3stone.be/access/articles.php?lng=fr&pgE7

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)