IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

2 base, 2 analyses. Utiliser EXTERNE ? [WD15]


Sujet :

WinDev

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut 2 base, 2 analyses. Utiliser EXTERNE ?
    Bonjour les windevmen,
    Petite question :

    Base1 a pour analyse Analyse1
    Base2 a pour analyse Analyse2

    J'ai créé un projet avec Analyse2 pour travailler sur Base2.
    Il faut que je récupère des infos de Base1 pour les intégrer dans Base2.
    Seulement lorsque je fais la requête sur Base1, il me dit que je n'ai pas Analyse1 ce qui est logique.

    Comment puis-je contourner le problème ?

    On m'a parlé de la fonction EXTERNE mais je ne comprends pas tellement comment m'en servir.

    Amicalement,

    Eric.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    468
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 468
    Points : 809
    Points
    809
    Par défaut
    Tu peux utiliser la fonction HDéclareExterne pour accéder à tes anciens .FIC, parcourir et mettre à jour les fichiers .FIC actuels...

    Je n'ai que cette solution à fournir, je n'ai jamais utilisé EXTERNE

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    Externe te sera d'aucune utilité.

    Tout dépend de ce que tu veux faire :
    Si tu dois simplement lire une info dans un fichier de Base1, tu peux utiliser HDeclareExterne().


    Si tu dois utiliser régulièrement Base1, je te conseille de créer un composant interne qui est relié à l'analyse Analyse1. Tu pourras ensuite créer une collection de procédure qui fait toutes les opérations nécessaires.

  4. #4
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Merci les gars, j'ai regardé l'aide et à priori oui c'est de cette fonction dont j'ai besoin.
    Le problème est le suivant, le code est de la forme :

    HDéclareExterne("C:\GestCom\Fournisseur.fic", "FournisseurWD")

    Seulement ma base est sur un autre serveur !! Je n'ai donc pas d'accès genre C:\blabla...

    Vous avez une idée ?

    Eric.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    Si c'est une base HF C/S :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cnxBaseHF est une connexion
    cnxBaseHF..Serveur = "nomserveur"
    etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HOuvreConnexion(cnxBaseHf)
    HDeclareExterne(".\Fournisseur.FIC","Fournisseur",cnxBaseHF)
    Balises [CODE] ajoutées par L.nico merci d'y penser à l'avenir

  6. #6
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Ca marche NI-CKEL
    Merci beaucoup

  7. #7
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Un truc de fou...
    La requête suivante fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    HDécritConnexion("CONNEXION214",XXXXX,XXX,"XXXXXXXXXXX:XXX","BDD",hAccèsHFClientServeur)
    HOuvreConnexion("CONNEXION214")
    HChangeConnexion("*","CONNEXION214")
    HDéclareExterne(".\DOSSIERS.FIC","DOSSIERS214","CONNEXION214")
    idconcernés est une Source de Données
    requeteid est une chaîne = [
    SELECT ID_DOSSIER,NUMERO_IMMATRICULATION_FNI,NUMERO_DOSSIER,NUMERO_SIRET_CABINET,INDICE_SITE_CABINET
    FROM DOSSIERS214
    WHERE ID_DOSSIER BETWEEN 1501000 AND 1502000
    ORDER BY ID_DOSSIER ASC
    ]
    HExécuteRequêteSQL(idconcernés,hRequêteDéfaut,requeteid)
     
     
     
     
     
    POUR TOUT idconcernés 
    	TableAjouteLigne(TABLE_Table1,idconcernés.ID_DOSSIER,idconcernés.NUMERO_SIRET_CABINET,idconcernés.INDICE_SITE_CABINET,idconcernés.NUMERO_DOSSIER,idconcernés.NUMERO_IMMATRICULATION_FNI)
    FIN

    Mais pas celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    HDécritConnexion("CONNEXION214",XXXXX,XXX,"XXXXXXXXXXX:XXX","BDD",hAccèsHFClientServeur)
    HOuvreConnexion("CONNEXION214")
    HChangeConnexion("*","CONNEXION214")
    HDéclareExterne(".\DOSSIERS.FIC","DOSSIERS214","CONNEXION214")
    idconcernés est une Source de Données
    requeteid est une chaîne = [
    SELECT ID_DOSSIER,NUMERO_IMMATRICULATION_FNI,NUMERO_DOSSIER,NUMERO_SIRET_CABINET,INDICE_SITE_CABINET
    FROM DOSSIERS214
    WHERE ID_DOSSIER BETWEEN 1501000 AND 1502000
    ORDER BY ID_DOSSIER ASC
    ]
    HExécuteRequêteSQL(idconcernés,hRequêteDéfaut,requeteid)
     
    HDécritConnexion("ERIC214",XXXXX,XXX,"XXXXXXXXXXX:XXX","BDD2",hAccèsHFClientServeur)
    HOuvreConnexion("ERIC214")
    HChangeConnexion("*","ERIC214")
     
    POUR TOUT idconcernés 
    	TableAjouteLigne(TABLE_Table1,idconcernés.ID_DOSSIER,idconcernés.NUMERO_SIRET_CABINET,idconcernés.INDICE_SITE_CABINET,idconcernés.NUMERO_DOSSIER,idconcernés.NUMERO_IMMATRICULATION_FNI)
    FIN
    En fait lorsque je change de connexion après la requête... il oublie ma source de données... En fait je dois faire la requête, tout stocker dans un tableau, changer de connexion et ensuite exploiter le tableau... C'est quand même pénible...

    Quelqu'un aurait une explication rationnelle ?

    Amicalement,

    Eric.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 100
    Points
    1 100
    Par défaut
    Ton HChangeConnexion n'a rien faire là.
    Déclare une source de données avec un nom parlant, et garde tes deux connexions ouvertes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    _ArchiveDOSSIERS214 est une source de données
    _ArchiveCONNEXION214 est une connexion
     
    HDécritConnexion(_ArchiveCONNEXION214,XXXXX,XXX,"XXXXXXXXXXX:XXX","BDD",hAccèsHFClientServeur)
    HOuvreConnexion(_ArchiveCONNEXION214)
    HDéclareExterne(".\DOSSIERS.FIC",_ArchiveDOSSIERS214,_ArchiveCONNEXION214)
    idconcernés est une Source de Données
    requeteid est une chaîne = [
    SELECT ID_DOSSIER,NUMERO_IMMATRICULATION_FNI,NUMERO_DOSSIER,NUMERO_SIRET_CABINET,INDICE_SITE_CABINET
    FROM _ArchiveDOSSIERS214
    WHERE ID_DOSSIER BETWEEN 1501000 AND 1502000
    ORDER BY ID_DOSSIER ASC
    ]
    HExécuteRequêteSQL(idconcernés,hRequêteDéfaut,requeteid)
    Comme ça,tu peux travailler en ayant accès à tous tes fichiers en même temps.

  9. #9
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Pas con, je vais faire ca
    Merci !
    Eric.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question de base sur l'utilisation de la fonction date()
    Par deaven dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/12/2005, 15h33
  2. Copie de 2 bases SQLserver en utilisant des fichiers
    Par dimdidi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2005, 09h26
  3. Bases de données utilisées pour ICQ/MSN/PALTALK & Co ?
    Par Mr.KisS dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 01/08/2005, 10h51
  4. Quelle base de donnée utiliser?
    Par VTwin dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 01/07/2005, 12h34
  5. [Liens externe] Comment utiliser extern
    Par max44410 dans le forum C++Builder
    Réponses: 6
    Dernier message: 03/06/2005, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo