Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
merci pour vos pistes
Driss
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
merci pour vos pistes
Driss
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
merci pour vos pistes
Driss
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
Bonjour à tous
dans une de mes programmes j'utilise une base Access principale qui
contient
également des tables liées.
J'ai ainsi groupé toutes mes requêtes dans cette table principale.
Le problème est que je cherche à compacter de manière automatique les
bases
de données (principales et liées).
Pour l'instant je note en dur, le nom des bases liées et je les mets dans
le
même répertoire que la base principale.
Je voudrai "automatiser" ce compactage sans donner au préalable les
chemins
des bases liées.
peut-on donc à partir d'une table de cette base principale, déterminer si
elle est liée et si oui , le chemin de la base liée ?
"Driss HANIB" wrote in message
news:%
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
"Driss HANIB" <dhanib@club-internet.fr> wrote in message
news:%23pNue8t7HHA.3916@TK2MSFTNGP02.phx.gbl...
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Driss HANIB" wrote in message
news:%
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
"Driss HANIB" wrote in message
news:%
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
"Driss HANIB" <dhanib@club-internet.fr> wrote in message
news:%23pNue8t7HHA.3916@TK2MSFTNGP02.phx.gbl...
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Driss HANIB" wrote in message
news:%
> Bonjour à tous
> dans une de mes programmes j'utilise une base Access principale qui
> contient
> également des tables liées.
> J'ai ainsi groupé toutes mes requêtes dans cette table principale.
> Le problème est que je cherche à compacter de manière automatique les
> bases
> de données (principales et liées).
> Pour l'instant je note en dur, le nom des bases liées et je les mets
> le
> même répertoire que la base principale.
>
> Je voudrai "automatiser" ce compactage sans donner au préalable les
> chemins
> des bases liées.
> peut-on donc à partir d'une table de cette base principale, déterminer
> elle est liée et si oui , le chemin de la base liée ?
>
Re!
Voila la soulution:
Une Db contient une collection TableDefs, qui contient les tables.
Chaque table a une propriété "Connect".
Cette propriété est vide ("") pour une table "normale", alors que pour une
table liée elle contient le nom et le chemin de la base à laquelle
appartient cette table.
Voici un petit bout de code:
Dim db As Database
Dim tb As TableDef
Set db = OpenDatabase("c:/principale.mdb")
For Each tb In db.TableDefs
If tb.Connect <> "" Then
Debug.Print "la table " & tb.Name & " est une table liée.
= " & tb.Connect
End If
Next
Donc tu ouvres ta base principale (ici "c:principale.mdb")
puis tu parcours les tables (avec Tabledefs par exemple)
et tu examine la propriété Connect.
Dans mon cas, j'avais créé une base "db_liee" et attaché une table:
("Tbl_liee").
Voici la sortie de mon programme:
la table Tbl_dbliee est une table liée. Source = ;DATABASE=C:db_liee.mdb
Et voila :-)
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Salut Jean Marc
voici ma petite fonction qui va chercher la liste des bases liées à une
base
principale
Elle permet de gérer le cas où les bases liées sont avec mot de passe.
Le problème, et c'est la cas pour moi est qu'elle "charge" également des
tables de type PARADOX qui sont liées.
par contre la fin de la chaine de conbtient pas le suffixe .mdb
il faut donc tester cela avant de faire le compactage
On pourrait peut être rajouter un morceau qui permettrait de savoir la
nature de la table, par exemple mettre au début un ";" et avant le type de
BDD
Salut Jean Marc
voici ma petite fonction qui va chercher la liste des bases liées à une
base
principale
Elle permet de gérer le cas où les bases liées sont avec mot de passe.
Le problème, et c'est la cas pour moi est qu'elle "charge" également des
tables de type PARADOX qui sont liées.
par contre la fin de la chaine de conbtient pas le suffixe .mdb
il faut donc tester cela avant de faire le compactage
On pourrait peut être rajouter un morceau qui permettrait de savoir la
nature de la table, par exemple mettre au début un ";" et avant le type de
BDD
Salut Jean Marc
voici ma petite fonction qui va chercher la liste des bases liées à une
base
principale
Elle permet de gérer le cas où les bases liées sont avec mot de passe.
Le problème, et c'est la cas pour moi est qu'elle "charge" également des
tables de type PARADOX qui sont liées.
par contre la fin de la chaine de conbtient pas le suffixe .mdb
il faut donc tester cela avant de faire le compactage
On pourrait peut être rajouter un morceau qui permettrait de savoir la
nature de la table, par exemple mettre au début un ";" et avant le type de
BDD
<jolie fonction>
Voila, j'ai modifié un tout petit peu ta fonction:
(note: n'oublie pas de mettre "Option Explicit" en tête
- J'ai enlevé le redim t(0) en tête de fonction
- j'ai ajouté un peu de code pour détecter le format
et retourner l'info.
Voici la fonction, et ensuite un exemple d'utilisation:
Voila, avec ceci tu devrais être paré :-)
<jolie fonction>
Voila, j'ai modifié un tout petit peu ta fonction:
(note: n'oublie pas de mettre "Option Explicit" en tête
- J'ai enlevé le redim t(0) en tête de fonction
- j'ai ajouté un peu de code pour détecter le format
et retourner l'info.
Voici la fonction, et ensuite un exemple d'utilisation:
Voila, avec ceci tu devrais être paré :-)
<jolie fonction>
Voila, j'ai modifié un tout petit peu ta fonction:
(note: n'oublie pas de mettre "Option Explicit" en tête
- J'ai enlevé le redim t(0) en tête de fonction
- j'ai ajouté un peu de code pour détecter le format
et retourner l'info.
Voici la fonction, et ensuite un exemple d'utilisation:
Voila, avec ceci tu devrais être paré :-)
"jean-marc" a écrit dans le message de
news:46dd66eb$0$14232$
en fait pour la table PARADOX, le format est ajouté avant le premier ";"
je ne sais pas pour les autres formats
+ aussi le mot de passe éventuel
"jean-marc" <jean_marc_n2@yahoo.fr.invalid> a écrit dans le message de
news:46dd66eb$0$14232$ba620e4c@news.skynet.be...
en fait pour la table PARADOX, le format est ajouté avant le premier ";"
je ne sais pas pour les autres formats
+ aussi le mot de passe éventuel
"jean-marc" a écrit dans le message de
news:46dd66eb$0$14232$
en fait pour la table PARADOX, le format est ajouté avant le premier ";"
je ne sais pas pour les autres formats
+ aussi le mot de passe éventuel
"Driss HANIB" wrote in message
news:Owv$n$
>
> "jean-marc" a écrit dans le message de
> news:46dd66eb$0$14232$
>
> en fait pour la table PARADOX, le format est ajouté avant le premier ";"
> je ne sais pas pour les autres formats
>
> + aussi le mot de passe éventuel
Voici par exemple ce qu'on récupère pour une table liée DB2, via ODBC:
TYPE: OTHER, DB:=SCANDB06;MODE=SHARE;DBALIAS=SCANDB06;, COMPACT = NO
En fait, ça peut être très variable d'un type à l'autre.
Comme de toute façon tu ne compactes que les bases access, ça n'a pas
importance pour ton projet, je pense?
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
"Driss HANIB" <dhanib@club-internet.fr> wrote in message
news:Owv$n$v7HHA.5796@TK2MSFTNGP05.phx.gbl...
>
> "jean-marc" <jean_marc_n2@yahoo.fr.invalid> a écrit dans le message de
> news:46dd66eb$0$14232$ba620e4c@news.skynet.be...
>
> en fait pour la table PARADOX, le format est ajouté avant le premier ";"
> je ne sais pas pour les autres formats
>
> + aussi le mot de passe éventuel
Voici par exemple ce qu'on récupère pour une table liée DB2, via ODBC:
TYPE: OTHER, DB:=SCANDB06;MODE=SHARE;DBALIAS=SCANDB06;, COMPACT = NO
En fait, ça peut être très variable d'un type à l'autre.
Comme de toute façon tu ne compactes que les bases access, ça n'a pas
importance pour ton projet, je pense?
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Driss HANIB" wrote in message
news:Owv$n$
>
> "jean-marc" a écrit dans le message de
> news:46dd66eb$0$14232$
>
> en fait pour la table PARADOX, le format est ajouté avant le premier ";"
> je ne sais pas pour les autres formats
>
> + aussi le mot de passe éventuel
Voici par exemple ce qu'on récupère pour une table liée DB2, via ODBC:
TYPE: OTHER, DB:=SCANDB06;MODE=SHARE;DBALIAS=SCANDB06;, COMPACT = NO
En fait, ça peut être très variable d'un type à l'autre.
Comme de toute façon tu ne compactes que les bases access, ça n'a pas
importance pour ton projet, je pense?
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;