PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD20] Changer chemin d'une base de donnée par programmation
[WD20] Changer chemin d'une base de donnée par programmation
Iniciado por NICOLAS, 23,jun. 2019 14:42 - 12 respuestas
Miembro registrado
10 mensajes
Publicado el 23,junio 2019 - 14:42
Bonjour tout le monde

Voila j'ai un petit soucis je voudrais savoir comment changer le chemin d'une table qui es relié à un fichier .MDB

exemple : actuellement elle es sur C:\Exemple1\Base1.mdb et je voudrais la faire pointer vers C:\Exemple22\Base2.mdb par programmation

J'ai essayé avec HchangeRep mais je n'y arrive pas ...


Merci d'avance pour votre aide bon dimanche
Miembro registrado
1.002 mensajes
Publicado el 23,junio 2019 - 15:11
bonjour,

Maconnexion est un connexion
Maconnexion..source = "C:\Exemple22\Base2.mdb"
Maconnexion..provider = hOledbAccess2000

HChangeConnexion("*",Maconnexion)


Jordan
Miembro registrado
10 mensajes
Publicado el 23,junio 2019 - 15:28
Jordan a écrit :
bonjour,

Maconnexion est un connexion
Maconnexion..source = "C:\Exemple22\Base2.mdb"
Maconnexion..provider = hOledbAccess2000

HChangeConnexion("*",Maconnexion)


Jordan




Bonjour Jordan,

J'ai essayé comme ci dessus mais ma table affiche rien du tout...

voici le code que j'ai mi dans un bouton

Maconnexion est un Connexion
Maconnexion..Source = "C:\Program Files (x86)\NB Facture Devis\Devis\D-116-2019.MDB"
Maconnexion..Provider = hOledbAccess2000



HChangeConnexion("C:\Program Files (x86)\NB Facture Devis\Base\Bddtemp.mdb",Maconnexion)
Miembro registrado
4.361 mensajes
Publicado el 23,junio 2019 - 16:42
Bonjour,
HChangeConnexion a une table comme premier parmètre. C:\Program Files (x86)\NB Facture Devis\Base\Bddtemp.mdb n'est pas une table mais la base contenant toutes les tables.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
10 mensajes
Publicado el 23,junio 2019 - 21:20
Voroltinquo a écrit :
Bonjour,
HChangeConnexion a une table comme premier parmètre. C:\Program Files (x86)\NB Facture Devis\Base\Bddtemp.mdb n'est pas une table mais la base contenant toutes les tables.

--
Il y a peut être plus simple, mais, ça tourne




D'accord j'ai mi ce code

Maconnexion est un Connexion
Maconnexion..Source = "C:\Program Files (x86)\NB Facture Devis\Devis\D-116-2019.MDB"
Maconnexion..Provider = hOledbAccess2000



HChangeConnexion("Devis",Maconnexion)


"Devis" Correspond a la table de D-116-2019.MDB mais toujours aucun affichage dans ma table ...

Merci de ta patience en tout qu'a mais je débute dans ce domaine...
Miembro registrado
4.361 mensajes
Publicado el 23,junio 2019 - 21:29
Les 2 bases ont-elle la même structure d'analyse?
L'import dans l'analyse s'est-il bien déroulé ?

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
10 mensajes
Publicado el 23,junio 2019 - 21:33
Voroltinquo a écrit :
Les 2 bases ont-elle la même structure d'analyse?
L'import dans l'analyse s'est-il bien déroulé ?

--
Il y a peut être plus simple, mais, ça tourne



Les 2 bases ont-elle la même structure d'analyse? = Oui il son exactement la même structure
L'import dans l'analyse s'est-il bien déroulé ? = Il y a que la base Bddtemp.mdb qui es dans l'analyse l'autre base D-116-2019.mdb n'ai pas dans l'analyse car il y un numéro pour chaque devis exemple : D-117-2019, D-118-2019 etc...
Miembro registrado
1.002 mensajes
Publicado el 23,junio 2019 - 22:28
Bonjour,

Il ne faut pas confondre table et base,

Dans ton analyse tu ne peux avoir que les tables

Dans ton analyse tu dois avoir une table nommé, par exemple, "devis" qui est lié à la base "bddtemp.mdb"

Le hchangeconnexion() te permet de changer le chemin de "bddtemp.mdb",

si ta table "devis" à un autre nom dans ta base "bddtemp.mdb" alors il faudrai utiliser en plus hchangenom()

Jordan
Miembro registrado
10 mensajes
Publicado el 24,junio 2019 - 10:49
Jordan a écrit :
Bonjour,

Il ne faut pas confondre table et base,

Dans ton analyse tu ne peux avoir que les tables

Dans ton analyse tu dois avoir une table nommé, par exemple, "devis" qui est lié à la base "bddtemp.mdb"

Le hchangeconnexion() te permet de changer le chemin de "bddtemp.mdb",

si ta table "devis" à un autre nom dans ta base "bddtemp.mdb" alors il faudrai utiliser en plus hchangenom()

Jordan



Bonjour Jordan,

Mon fichier Bddtemp.mdb la table à l'intérieur s'appelle "Devis"
le fichier D-116-2019.mdb la table à l'intérieur et identique a celle de Bddtemp.mdb donc "devis"

Vous auriez un exemple a me formuler je comprendrai mieux je pense ....

Cordialement
Miembro registrado
4.361 mensajes
Publicado el 24,junio 2019 - 12:01
Avec certaines bases, "Devis" n'est pas la même chose que "devis".
Que renvoie
HChangeConnexion("Devis",Maconnexion)
, vrai ou faux ?
Que donne
HChangeConnexion("*",Maconnexion)
?

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
10 mensajes
Publicado el 24,junio 2019 - 12:57
Voroltinquo a écrit :
Avec certaines bases, "Devis" n'est pas la même chose que "devis".
Que renvoie
HChangeConnexion("Devis",Maconnexion)
, vrai ou faux ?
Que donne
HChangeConnexion("*",Maconnexion)
?

--
Il y a peut être plus simple, mais, ça tourne



Maconnexion est un Connexion
Maconnexion..Source = "C:\Program Files (x86)\NB Facture Devis\Devis\D-116-2019.MDB"
Maconnexion..Provider = hOledbAccess2000



Trace(HChangeConnexion("Devis",Maconnexion))

Celui ci me renvoi "1" dans la trace
Miembro registrado
10 mensajes
Publicado el 24,junio 2019 - 13:04
Nickel ca fonctionne :) Merci a tous pour votre temps de m'avoir aidé :)

Bonne après-midi à vous
Miembro registrado
4.361 mensajes
Publicado el 24,junio 2019 - 13:50
Voroltinquo a écrit :
Avec certaines bases, "Devis" n'est pas la même chose que "devis".

Il en va de même avec les accents. Certaines bases refusent les caractères accentués pour les noms de table et de colonne.

--
Il y a peut être plus simple, mais, ça tourne