PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → copie de 2 tables sur 2 bases differentes
copie de 2 tables sur 2 bases differentes
Débuté par laure.mouchet, 02 mar. 2006 17:56 - 4 réponses
Posté le 02 mars 2006 - 17:56
Je souhaite copier les enreg d'un table Hyperfile sur une tables Oracle partagée.
Ces 2 tables ont des champs en communs (portant le meme nom) mais pas tous ; c'est justement ça qui m'inquiete.

Le code suivant est-il correct ?

HLitPremier(CLIENT_HYPERFILE)
TANTQUE PAS HEnDehors(CLIENT_HYPERFILE)
HCopieEnreg(CLIENT_ORACLE,CLIENT_HYPERFILE)
HModifie(CLIENT_ORACLE)
HLitSuivant(CLIENT_HYPERFILE)
FIN

Merci de votre aide
Posté le 03 mars 2006 - 09:48
Bonjour,
Apparement, ce code doit fonctionner.
Mais il faut que les 2 tables aient les mêmes rubriques pour pouvoir utiliser la fonction HCopieEnreg().
Est-ce vraiment important de garder les rubriques originales de CLIENT_ORACLE.
Ne pourrait-on pas modifier cette table afin qu'elle soit équivalente à la table HF?
Si c'est pas le cas, il faudrait lister les rubriques de la table, et le code sera plus long.
Tenez nous au courant.
A+
Posté le 03 mars 2006 - 10:33
He non, je ne peux pas adapter ma table Oracle :
Voici les champs de mes tables (ce que je veux copier sont ceux présents ds les 2 tables) :

TABLE HYPERFILE :
CODE_CLIENT_INT
ID_CLIENT_EXTERNE
DATE_CREATION
DATE_MAJ
PK__CLIENT_LIEN__7F21C18E

TABLE ORACLE
CODE_CLIENT
CODE_SYSTEME_INFO
CODE_ENTR_COMMER
CODE_CLIENT_INT
ID_CLIENT_EXTERNE
DATE_CREATION
DATE_MAJ

Merci pour votre réponse (dois-je adapter mon Hcopieenreg, si oui comment dois-je l'écrire ?)
Posté le 03 mars 2006 - 10:40
Si tu veux être sure, copie rubrique par rubrique comme suit:
Le code sera plus long mais pas forcément l'exécution.

HLitPremier(CLIENT_HYPERFILE)
TANTQUE PAS HEnDehors(CLIENT_HYPERFILE)
CLIENT_ORACLE.Rubrique1 = CLIENT_HYPERFILE.Rubrique1
CLIENT_ORACLE.Rubrique2 = CLIENT_HYPERFILE.Rubrique2
CLIENT_ORACLE.Rubrique3 = CLIENT_HYPERFILE.Rubrique4
...
CLIENT_ORACLE.RubriqueN = CLIENT_HYPERFILE.RubriqueZ
SI HAjoute(CLIENT_ORACLE) ALORS
HLitSuivant(CLIENT_HYPERFILE)
SINON
Info("Erreur de copie")
FIN
FIN
Posté le 03 mars 2006 - 11:38
Merci, ca fonctionne bien malgré le fait que ce soit un peu long (de toute façon le HcopieEnreg ne fonctionnait pas).

Merci encore