Comment vois-tu la solution ? Une combo ok mais après tu modifie le type dans la table de quelle manière ?
Comment vois-tu la solution ? Une combo ok mais après tu modifie le type dans la table de quelle manière ?
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:
à 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
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
Mes essais:
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)
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?
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.Je ne suis pas sur de ces valeurs et je ne sais pas non plus si j'ai fait ce que je voulais faire....
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.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?
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 ..
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:
Le but est de passer en revue chaque ligne de la table et de l'ajouter au fichier.
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 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
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+
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.
Le problème c'est que ma table mémoire ne contient au début qu'une seule colonne appelé" (COL_colonne1).
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
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.....
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....
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:
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...
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)
je vous tiens au courrant.
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
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 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)
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....
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)
voici le lien:
http://athomepc84.free.fr/travaux.htm
Un grand merci à tout ceux qui m'ont aidé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager