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 :

passer mes données access sous HF;connexion à une autre base


Sujet :

WinDev

  1. #21
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Comment vois-tu la solution ? Une combo ok mais après tu modifie le type dans la table de quelle manière ?

  2. #22
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    je suis en train d'essayer.

    j'ai donc fait une combo qui contient une liste:
    numerique
    texte
    date

    Ensuite j'ai un bouton, sur le clic
    je récupère le nom de la colonne qui est triée (j'ai pas trouvé mieux j'ai pas cherché mieux non plus pour le moment) et j'affecte un typesaisie en fonction de la valeur de la combo

    Ok pour le moment c'est du bricologe mais c'est juste pour voir si ça marche....

    code du bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nomcolonne est une chaîne
    nomcolonne = TableColonnesTriées(TABLE_access)
     
    SELON COMBO_typesaisie..Valeur
    	CAS 1:
    		{nomcolonne}..TypeSaisie = typSaisieNum
    	CAS 2:
    		{nomcolonne}..TypeSaisie = typSaisieDate
    	CAS 3:
    		{nomcolonne}..TypeSaisie = typSaisieTexte
    	CAS 4:
    		{nomcolonne}..TypeSaisie = typSaisieNum
    FIN
    à côté de ça j'ai fait un autre bouton pour vérifier si le type changais bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nomcolonne est une chaîne
    Typecolonne est une chaîne
    nomcolonne = TableColonnesTriées(TABLE_access)
    typecolonne = {nomcolonne}..Type
    Info(typecolonne)
    Mes essais:
    Je selectionne une colonne en la triant (censé être numérique mais classée par ordre alpha)
    Je clique sur le bouton pour voir le type ca me renvoie "20001"
    je selectionne un type numérique dans ma combo
    je clique sur le bouton pour changer le type
    je clique pour vérifier et j'ai la valleur "20004"

    Logiquement le type a changé mais je n'ai toujours pas un trié numérique... Bizare....

    d'apres mes essais 20001 => texte
    20002 => date
    20004 => numérique

    Je ne suis pas sur de ces valeurs et je ne sais pas non plus si j'ai fait ce que je voulais faire....


    Est ce qu'il faut changer le type maintenant??
    Mon but est de transferer ces données dans un fichier de type .fic existant et ne faisant pas partie de l'analyse.
    Le type des rubriques dans le fichier est défini, cela ne suffirait il pas?

  3. #23
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Je ne suis pas sur de ces valeurs et je ne sais pas non plus si j'ai fait ce que je voulais faire....
    Oui, j'en suis là aussi, mais je n'arrive pas à récupérer un format numérique "réel". Le typsaisienum donne systématiquement un entier.
    Est ce qu'il faut changer le type maintenant??
    Mon but est de transferer ces données dans un fichier de type .fic existant et ne faisant pas partie de l'analyse.
    Le type des rubriques dans le fichier est défini, cela ne suffirait il pas?
    Ouais, je pense qu'à ce stade il n'est pas forcément utile d'aller plus loin. Lors de l'écriture dans le .fic, il sera toujours temps de convertir si besoin.
    Au fait, j'ai vu que tu était du 84. C'est l'une de mes 2 régions préférées avec la Haute-savoie. J'ai passé qqs années à Avignon. Il y a bien longtemps ..

  4. #24
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    Et oui le vaucluse est une très belle région qui m'a adopté il ya déjà 7 ans.... et on y est vraiment très bien

    Pour en revenir à mon travail
    j'ai reussi à ouvrir un fichier externe (FIC) est à afficher son contenu dans une table.

    Je voudrais donc maintenant ajouter le contenue de la 1ere table (table_access) dans le fichier que je viens d'ouvrir
    J'ai déclaré une variable globale pour le nom du fichier que j'ouvre "sfichier"

    Sur un bouton j'ai testé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    i est un entier
    n est un entier = TableOccurrence(TABLE_access)
    Info(n)
    POUR i=1 A n
    	TableSelectPlus(TABLE_access,i)
    	sfichier.idmembres=TABLE_access.COL_Colonne1
    	sfichier.idetat=TABLE_access.col_colonne2
    	sfichier.nommembre=TABLE_access.COL_Colonne3
    		HAjoute(sfichier)
    FIN
    TableSelectMoins(TABLE_access)
    Le but est de passer en revue chaque ligne de la table et de l'ajouter au fichier.
    Le pb c'est que le nom du fichier change c'est pour cela que j'ai essayé
    sfichier.idmembres
    et
    {sfichier}.idmembres

    mais sans succés, la suite prend bien la bonne valeur....

    par contre "membres.idmembres " est reconnu mais il prend la valeur du dernier enregistrement

  5. #25
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Salut,
    je ne comprends pas ton pb. A partir du moment où tu as ouvert ta table ACCESS, affiché les enreg dans une table mémoire, il me semble que tu as fait le plus difficile. Tu peux alors lire chaque ligne de la table mémoire et la traiter dans ton .FIC que tu as ouvert via HDéclareExterne. Dès lors, tes fichiers .FIC se manipulent normalement avec les ordres Hxxxxx.
    La seule difficulté est d'associer ta table ACCESS avec un .FIC. Mais lorsque tu récupères tes tables ACCESS, tu pourrais associer le nom de tes .FIC dans une table mémoire par exemple.
    Y a t-il qq chose que je n'aurais pas capté ?

    A+

  6. #26
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    dslé pour le délais j'ai eu beaucoup de boulot..
    En fait je n'arrive pas à importer les données de la table access vers le fichier FIC.

    J'ai un soucis avec le nom des colonnes de la tablemémoire qui contient les données de la table access.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    POUR i=1 A n
    	TableSelectPlus(TABLE_access,i)
    	sfichier1.idmembres=TABLE_access.COL_Colonne1..Valeur
    	sfichier1.idetat=TABLE_access.COL_Colonne2..Valeur
    //	Sfichier1.nommembre=TABLE_access.COL_Colonne3..valeur
    	HAjoute({sfichier})
     
    FIN
    Le problème c'est que ma table mémoire ne contient au début qu'une seule colonne appelé" (COL_colonne1).

    Dans mon code je récupére les valeur de la 1ere colonne mais systématqiuement j'ai une erreur à la deuxieme car il ne connait pas la colonne n°2.
    Je ne sais pas s'il faut que j'utilise le nom de la colonne créée ou le titrede cette colonne.....

  7. #27
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    Salut j'ai réussi à avancer un peu
    Je crois avoir trouvé une solution au niveau de l'attribution des noms de colonne. Voici mon dernier code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    i est un entier
    n est un entier = TableOccurrence(TABLE_access)
    j est un entier  //n° de colonne
     
    POUR i=1 A n
       TableSelectPlus(TABLE_access,i)
       POUR j =1 A Nbcolonne
    {"Sfichier1"+".COL_colonne"+j}={"TABLE_access" + ".COL_Colonne" + j}
       FIN
     
    HAjoute(sfichier1)
    FIN
    TableSelectMoins(TABLE_access)

    Ce coup ci la table mémoire est bien parcourue et des données sont bien enregistrées dans mon fichier FIC.
    Mais tout n'est pas encore résolue.

    En fait ça ajoute des enregistrements (le meme nb d'enregistrement que celui de ma table mémoire) mais les données ne sont pas enregistrées.
    Je dois encore avoir un pb au niveau de l'indirection.... Mais là je seche....

    Merci de votre aide

    edit:
    oups
    Je viens de comprendre que là je suis en train de manipuler mon fichier mais les rubriques de mon fichiers ne s'appelle pas "col_colonnexx" donc forcément ça ne fonctionne pas.

    Y a t'il un moyen de dire que la colonne1 de ma table correspond à l rubrique 1 de mon fichier etc....

    Vu que mon pt logiciel se connecte à des fichiers différents je ne peux pas les nommer à la main. Peut etre faut il stocker les nom de rubrique dans une table....

  8. #28
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    J'avance à grand pas aujourd'hui .... c'est une bonne journée

    j'ai réussi à faire correspondre mes colonnes de la table mémoires qui contient les données sources aux rubriques de mon fichier cible

    voici le code:
    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
    21
    22
    23
    24
    25
    sfichier1=sfichier  //   sfichier est une variable globale chaine     sfichier1 est une variable globale de type source de données
    HGèreDoublon("*","*",Faux)
     
    // vérifie que les fichiers sources et cibles correspondent
    SI TableOccurrence(TABLE_Table2)<>TableOccurrence(TABLE_Table4) ALORS
    	Info("Le nombre de  colonne des fichiers sources et cible ne correspond pas. Vérifier vos fichiers")
    	RETOUR
    	SINON
    FIN
     
     
    // passe en revue toutes les lignes de la table sources pour les insérer dans le fichier
    i est un entier
    n est un entier = TableOccurrence(TABLE_access)
    j est un entier  //n° de colonne
    POUR i=1 A n
    	TableSelectPlus(TABLE_access,i)
    	POUR j =1 A Nbcolonne
    		valeurcel est une chaîne
    		valeurcel=TABLE_Table4.COL_Colonne1[j]
    	{sfichier + "." + valeurcel}={"TABLE_access" + ".COL_Colonne" + j}
    	FIN
    	HAjoute(sfichier1)
    FIN
    TableSelectMoins(TABLE_access)
    J'ai encore un pt pb, l'ordre des colonnes ne correspond pas à celui des rubriques du coup mes données ne sont pas enregistrées dans les bonnes rubriques.... mais ça ne devrait pas être trop compliqué à résoudre...
    je vous tiens au courrant.

  9. #29
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    Ce coup ci c'est le bon

    j'ai donc mis à coté de la table 4 (celle qui contient les rubriques de mon fichier fic) 2 bouton quio me permettent de monter ou descendre les lignes de cette table et donc de faire en sorte d'avoir le même ordre dans le fichier source et cible

    code du bouton pour faire monter la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //déplace vers le haut une ligne de la table
    ligneEncours est une chaîne
    Indice est un entier = TableSelect(TABLE_Table4)
    ligneEncours=TABLE_Table4[TableSelect(TABLE_Table4)]
    TableSupprime(TABLE_Table4,indice)
    indice--
    TableInsère(TABLE_Table4,ligneEncours,indice)
    TableSelectPlus(TABLE_Table4,indice)
    et l'autre bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //déplace vers le bas une ligne de la table
    ligneEncours est une chaîne
    Indice est un entier = TableSelect(TABLE_Table4)
    ligneEncours=TABLE_Table4[TableSelect(TABLE_Table4)]
    TableSupprime(TABLE_Table4,indice)
    indice++
    TableInsère(TABLE_Table4,ligneEncours,indice)
    TableSelectPlus(TABLE_Table4,indice)
    je mettrai un lien pour télécharger cette pt application qui s'avere bien pratique puisqu'elle permet de transferer les données d'un fichier acces vers un fichier hf .FIC meme quand les colonnes ne correspondent pas (nom, ordre....etc....

    voici le lien:
    http://athomepc84.free.fr/travaux.htm

    Un grand merci à tout ceux qui m'ont aidé

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/09/2015, 20h23
  2. Réponses: 0
    Dernier message: 07/11/2013, 15h39
  3. Connexion à une deuxième base de données sous Eclipse
    Par mmollinari dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 25/07/2012, 10h21
  4. probleme de connexion à une autre base
    Par ismael2108 dans le forum Connexions aux bases de données
    Réponses: 4
    Dernier message: 11/10/2007, 17h23
  5. Connexion à une autre base de donnée Access
    Par Pitou5464 dans le forum Access
    Réponses: 4
    Dernier message: 12/09/2006, 12h25

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