PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → importer bdd externe
importer bdd externe
Iniciado por gilleswathelet, jul., 20 2005 3:58 AM - 10 respostas
Publicado em julho, 20 2005 - 3:58 AM
j'aimerais savoir comment on peut faire pour importer une base de donnée externe (dont l'analyse et la description des fichiers est inconnue) pour en enregistrer les données dans un fichier hyperfiles c/s existant.

je ne sais pas si cela est possible mais ca m'arrangerait bien

donc ce que j'aimerais c'est par exemple un bouton importer qui m'ouvrirait un sélecteur de fichier pour sélectionner un fichier par exemple sql serveur (mais pourrait être autre chose) et tout les enregistrement qui y serait repertorié serais enregistrer dans le fichier hyper file

si quelqu'un à une solution ce serait sympa

merci d'avance
Publicado em julho, 20 2005 - 11:17 AM
tu as essayer dans l'analyse de creer un nouveau fichier, tu choisi le type de base de données, ensuite, tu choisi son emplacement et puis tu coche l'option convertir en hyperfile

j'espere t'avoir aidé
Publicado em julho, 20 2005 - 1:31 PM
non ca ne vas pas cette solution car je voudrais que la où sera installer l'application, le client puisse le faire
Publicado em julho, 20 2005 - 1:59 PM
Bonjour,

J'utilise des bases de données externe dont je ne connais pas la description.
Pour ce faire, j'ai crée une fenêtre avec un champ table que je rempli automatiquement après avoir sélectionné le fichier.

FichierClient = "FileIn"
Resultat = HDBOuvre(FichierClient, "FI", MonParent) // fichier xBase
ConstruitTableFichier(Table1, FichierClient)

Ensuite, en cliquant sur une colonne, je sélectionne la colonne ( son titre ) et à l'aide d'un menu contextuel, je défini la rubrique de destination dans la base finale.

Colone = TableInfoXY(Table1,tiNumColonne,SourisPosX(),SourisPosY())
NomChamp = Table1..RubriqueAffichée
NomChamp = ExtraitChaîne(NomChamp,Colone,"|")

Avec les redirections, je transfer les données dans la base finale.

Cordialement,

C.AUBRY
Publicado em julho, 20 2005 - 2:59 PM
un grand merci pour cette réponse, cette solution me parait très bien je vais essayer ca tout de suite
Publicado em julho, 21 2005 - 1:45 PM
pourrais-je avoir un exemple complet du code car je ne m'en sors pas tellement.

merci d'avance
Publicado em julho, 21 2005 - 4:21 PM
bonjour, j'ai essayer ce code

fichierclient est une chaîne
résultat est un booléen
FichierClient = Liste1..ValeurMémorisée
Resultat = HDBOuvre(FichierClient, "FI", MonParent) // fichier xBase
ConstruitTableFichier(Table1, FichierClient)

mais cela ne fonctionne pas la valeur mémorisée est le fichier audio
mais j'ai cette erreur :

Erreur à la ligne 5 du traitement Bouton gauche double-clic (WM_LBUTTONDBLCLK) de Liste1.
Vous avez appelé la fonction ConstruitTableFichier.
L'objet audio n'a pas été trouvé.



**********************************************

Informations techniques

Projet : faire connaissance

Dump de l'erreur du module <WD90VM.DLL> <9.01At>.

- Appel WL :
Traitement de <Fen.Liste1>, ligne <5>, thread <0>
Fonction <ConstruitTableFichier>, n° de syntaxe <0>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 1025

- Code erreur WD55 : 0

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
L'objet audio n'a pas été trouvé.

- Infos de debug :
Chargement de la partie exécution d'un objet
Nom logique : audio
Type cherché : 5
Fonction (1,105)

- Infos attachées :
EIT_DATEHEURE : 21/07/2005 14:20:22
EIT_PILEWL :
Bouton gauche double-clic (WM_LBUTTONDBLCLK) de Liste1 (Fen.Liste1), ligne 5
Sélection du menu de _Menu.fichier.ouvreconnexion (menu._Menu.fichier.ouvreconnexion), ligne 1

- Identifiant dans le .err : 1025
Publicado em julho, 21 2005 - 5:16 PM
Bonjour,

Soit une fenêtre :
avec une table Fichier, nommé table1 et une seule colonne et sans liaison.
avec une table Mémoire ( table2) avec 2 colonnes
un sélecteur de fichier ( super champ ).

* Table2 = 2 colonnes, HF et import


***** déclaration globale de la fenêtre :
FichierOrigine est une Source de Données
FieldEncours est une chaîne

***** Affectation de la valeur dans SC_SélecteurFichier
FichierClient est une chaîne
Resultat est un booléen
FichierClient = "FileIn"
Resultat = HDBOuvre(FichierClient, "FI", MonParent)
NomDuFichier = MonParent
SI Resultat = Vrai ALORS
Table1..Visible = Vrai
ConstruitTableFichier(Table1, FichierClient)
SINON
Erreur( "Erreur d'ouverture du fichier")
FIN
FichierOrigine = FichierClient

***** Bonton gauche enfoncé de Table1
Colone est un entier
NomChamp est une chaîne
MoiMême..MenuContextuel = MenuContextuel1
Colone = TableInfoXY(Table1,tiNumColonne,SourisPosX(),SourisPosY())
NomChamp = Table1..RubriqueAffichée
NomChamp = ExtraitChaîne(NomChamp,Colone,"|")
FieldEncours = NomChamp


***** Pour le sous-menu contextuel
Table1..MenuContextuel = ""
table2.Invite = FieldEnCours

***** clic sur Bouton importation
i, EnCours, pasInformation sont des entiers
ChampInvite, champHF sont des chaines

Jauge1..Libellé = "Transfer de la base vers le fichier temporaire"
Jauge1..Valeur = 1
Jauge1..Visible = Vrai
PasInformation = Arrondi(Table1..Occurrence / 100,0)

EnCours = 1
HLitPremier( FichierOrigine )
TANTQUE PAS HenDehors( FichierOrigine)
POUR i = 1 A table2..Occurence
TableSelectPlus( table2,i)
ChampInvite = "FileIn." + Table2.Invite
ChampHF = NomDelaBaseHF + Table2.HF
{ChampHH,IndRubrique} = {ChampInvite,IndRubrique}
FIN
HAjoute( NomDelaBaseHF)
HlitSuivant( FichierOrigine)
SI EnCours = PasInformation ALORS
Jauge1..Valeur++
EnCours = 0
FIN
EnCours++
FIN
Jauge1..Valeur = 0
Jauge1..Visible = Faux

Cordialement,

C.AUBRY
Publicado em julho, 21 2005 - 6:19 PM
j'ai essayé et voici toutes les erreurs que j'obtient :

Erreur :Identificateur 'ChampHH' inconnu ou inaccessible ici : pour accéder à un élément hors portée, utilisez une déclaration EXTERNE.
Fen_import.importation, Clic, ligne 17, colonne 4
Erreur :L'élément 'Invite' n'existe pas dans l'élément 'Table2'.
Fen_import.importation, Clic, ligne 15, colonne 36
Erreur :'Essai' est ici considéré comme le fichier Hyper File. Pour accéder à un autre élément, utilisez une déclaration externe.
Fen_import.importation, Clic, ligne 16, colonne 13


donc qu'est ce que le champhh?
l'élément invite??
mon fichier est bien essai dois-je mettre autre chose??
Publicado em julho, 21 2005 - 6:33 PM
j'ai a chaque fois "erreur d'ouverture de fichier"
Publicado em julho, 21 2005 - 7:04 PM
je crois que le plus simple serais que tu m'envois une fenetre qui fonctionne comme ca je pourrais comprendre tous.
voici mon e mail

merci d'avance