|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Récupération dans un autre fichier |
| Débuté par MB, 11 mar. 2025 05:56 - 14 réponses |
| |
| | | |
|
| |
Membre enregistré 62 messages |
|
| Posté le 11 mars 2025 - 05:56 |
Bonjour J'utilise ces lignes récupérées dans un exemple Windev pour lorsque je saisis un code postal dans mon fichier B, mon menu déroulant me propose le ou la ville correspondant enregistrée dans mon fichier A
SI MoiMême..Modifié ET Taille(SAI_Code_postal)>= 2 ALORS // Supprimer tous les enregistrements de la liste ListeSupprimeTout(COMBO_ville) // Filtrer toutes les villes selon le code postal saisi SI HFiltre(CEDEX, Code_postal, SAI_Code_postal+hValMin, SAI_Code_postal+hValMax,"Code_Postal ]='" + SAI_Code_postal +"'" ) <> "" ALORS // Lire le premier enregistrement trouvé HLitPremier(CEDEX) // Initialiser le sablier Sablier() TANTQUE PAS HEnDehors() // Ajouter les villes dans la combo ListeAjoute(COMBO_ville, CEDEX.Ville) // lire l'enregistrement suivant HLitSuivant(CEDEX) FIN // Enlever le sablier Sablier(Faux) //Ouvrir la combo automatiquement pour permettre le choix ComboOuvre(COMBO_ville) RepriseSaisie(COMBO_ville) FIN FIN
Mais je ne trouve pas la solution pour pouvoir récupérer également d'autres données se trouvant dans mon fichier A ( fichier CEDEX) comme par exemple l'adresse, un téléphone ou autre champ
merci d'avance
-- MB |
| |
| |
| | | |
|
| | |
| |
| Posté le 11 mars 2025 - 09:06 |
Bonjour,
Il faudrait faire un tour dans l'autoformation .
Tout se passe sur la ligne
ListeAjoute(COMBO_ville, CEDEX.Ville)
C'est cette ligne qui rempli la combo.
Un exemple serait donc :
ListeAjoute(COMBO_ville, CEDEX.Ville+" ("+CEDEX.Adresse+" - "+CEDEX.Téléphone+")")
A compléter et mettre en forme comme souhaité.
Bon dev
MB a écrit :
Bonjour J'utilise ces lignes récupérées dans un exemple Windev pour lorsque je saisis un code postal dans mon fichier B, mon menu déroulant me propose le ou la ville correspondant enregistrée dans mon fichier A
SI MoiMême..Modifié ET Taille(SAI_Code_postal)>= 2 ALORS // Supprimer tous les enregistrements de la liste ListeSupprimeTout(COMBO_ville) // Filtrer toutes les villes selon le code postal saisi SI HFiltre(CEDEX, Code_postal, SAI_Code_postal+hValMin, SAI_Code_postal+hValMax,"Code_Postal ]='" + SAI_Code_postal +"'" ) <> "" ALORS // Lire le premier enregistrement trouvé HLitPremier(CEDEX) // Initialiser le sablier Sablier() TANTQUE PAS HEnDehors() // Ajouter les villes dans la combo ListeAjoute(COMBO_ville, CEDEX.Ville) // lire l'enregistrement suivant HLitSuivant(CEDEX) FIN // Enlever le sablier Sablier(Faux) //Ouvrir la combo automatiquement pour permettre le choix ComboOuvre(COMBO_ville) RepriseSaisie(COMBO_ville) FIN FIN
Mais je ne trouve pas la solution pour pouvoir récupérer également d'autres données se trouvant dans mon fichier A ( fichier CEDEX) comme par exemple l'adresse, un téléphone ou autre champ
merci d'avance
-- MB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 62 messages |
|
| Posté le 11 mars 2025 - 14:46 |
Merci Ambroise d'avoir lu le sujet. Mais je ne veux pas récupérer des infos dans mon fichier CEDEX (fichier A) pour tous les coller dans ma combo Ville (fichier  je veux simplement qu'en validant ma ville dans ma combo (fichier , mes autres champ intègrent leur équivalent se trouvant dans le fichier A

-- MB |
| |
| |
| | | |
|
| | |
| |
| Posté le 12 mars 2025 - 07:18 |
MB a écrit :
Merci Ambroise d'avoir lu le sujet. Mais je ne veux pas récupérer des infos dans mon fichier CEDEX (fichier A) pour tous les coller dans ma combo Ville (fichier  je veux simplement qu'en validant ma ville dans ma combo (fichier  , mes autres champ intègrent leur équivalent se trouvant dans le fichier A

-- MB
Ok j'avais mal lu.
Je ne peux accéder à l'image mais de ce que je comprends, tu as une zone de saisie dans laquelle tu commence à taper le code postal et tu veux qu'en cours de frappe, la combo ne s'alimente qu'avec les villes dont le code postal commence par ce que tu as tapé.
Dans ce cas, le code doit fonctionner mais il faut le mettre dans la partie "A chaque modification" du champ de saisie. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 62 messages |
|
| Posté le 12 mars 2025 - 21:49 |
Ambroise a écrit :
MB a écrit : Merci Ambroise d'avoir lu le sujet. Mais je ne veux pas récupérer des infos dans mon fichier CEDEX (fichier A) pour tous les coller dans ma combo Ville (fichier  je veux simplement qu'en validant ma ville dans ma combo (fichier  , mes autres champ intègrent leur équivalent se trouvant dans le fichier A

-- MB Ok j'avais mal lu. Je ne peux accéder à l'image mais de ce que je comprends, tu as une zone de saisie dans laquelle tu commence à taper le code postal et tu veux qu'en cours de frappe, la combo ne s'alimente qu'avec les villes dont le code postal commence par ce que tu as tapé. Dans ce cas, le code doit fonctionner mais il faut le mettre dans la partie "A chaque modification" du champ de saisie.


En fait, avec ce code dans ma sélection de combo ville, ca fonctionne : SAI_Mairie="Mairie de "+COMBO_ville SAI_Mairie_adresse=CEDEX.Adresse SAI_Mairie_contact=CEDEX.Contact SAI_Mairie_téléphone=CEDEX.Téléphone SAI_Mairie_email=CEDEX.Email
mon fichier B est bien approvisionné par les données se trouvant dans le fichier CEDEX mais pour qu'il fonctionne bien, il faut que j'ai un seul et unique code postal dans le fichier CEDEX (63112 par exemple)
Si par contre j'ai plusieurs villes avec le même code postal (19170 par exemple) dans le fichier CEDEX, ca ne fonctionne plus du tout.
-- MB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 009 messages |
|
| Posté le 13 mars 2025 - 08:41 |
Bonjour,
Pour une capture d'écran, le nom de la capture doit rester court et se limiter aux caractères a à z et aux chiffres 0 à 9 (pas de caractères spéciaux, pas d'accent, pas d'espace, etc...), par exemple "capture1.png" fonctionne. ça aidera peut-être à comprendre le cas de plusieurs villes avec le même code postal ??? Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 317 messages |
|
| Posté le 13 mars 2025 - 13:12 |
Bonjour, Le CP n'a jamais été la PK d'une commune. Dans ton ListeAjoute, il faut ajouter un gLien sur la PK de ta table CEDEX. La combo retournera alors la PK et tu pourra avoir accès aux données concernant ta commune.
... TANTQUE PAS HEnDehors() ListeAjoute(COMBO_ville, CEDEX.Ville) HLitSuivant(CEDEX) FIN ... Attention, gLien renvoie une chaîne, il faudra utiliser Val pour obtenir la PK.
HLitRecherchePremier(CEDEX,PKèCEDEX,Val(COMBO_Ville))
SAI_Mairie=ChaîneConstruit("Mairie de %1",CEDEX.Ville) SAI_Mairie_adresse=CEDEX.Adresse SAI_Mairie_contact=CEDEX.Contact SAI_Mairie_téléphone=CEDEX.Téléphone SAI_Mairie_email=CEDEX.Email
Une solution plus propre serait d'alimenter COMBO_Ville via une requête sur le CP, et de définir la PK comme valeur mémorisée.
-- Il y a peut être plus simple, mais, ça tourne Quand tout a échoué, utilise l'option RTFMMessage modifié, 13 mars 2025 - 13:24 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 62 messages |
|
| Posté le 13 mars 2025 - 16:43 |
Voroltinquo a écrit :
Bonjour, Le CP n'a jamais été la PK d'une commune. Dans ton ListeAjoute, il faut ajouter un gLien sur la PK de ta table CEDEX. La combo retournera alors la PK et tu pourra avoir accès aux données concernant ta commune. ... TANTQUE PAS HEnDehors() ListeAjoute(COMBO_ville, CEDEX.Ville) HLitSuivant(CEDEX) FIN ... Attention, gLien renvoie une chaîne, il faudra utiliser Val pour obtenir la PK. HLitRecherchePremier(CEDEX,PKèCEDEX,Val(COMBO_Ville))
SAI_Mairie=ChaîneConstruit("Mairie de %1",CEDEX.Ville) SAI_Mairie_adresse=CEDEX.Adresse SAI_Mairie_contact=CEDEX.Contact SAI_Mairie_téléphone=CEDEX.Téléphone SAI_Mairie_email=CEDEX.Email
Une solution plus propre serait d'alimenter COMBO_Ville via une requête sur le CP, et de définir la PK comme valeur mémorisée. -- Il y a peut être plus simple, mais, ça tourne Quand tout a échoué, utilise l'option RTFM
Bonjour, Voroltinquo
qu'est ce que le PK ?
-- MB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 299 messages |
|
| Posté le 13 mars 2025 - 17:42 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 009 messages |
|
| Posté le 13 mars 2025 - 17:57 |
Bonjour, PK : Primary Key - clé primaire - identifiant Unique Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 290 messages |
|
| Posté le 13 mars 2025 - 18:37 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 62 messages |
|
| Posté le 14 mars 2025 - 14:00 |
Jean-Pierre BLOCH a écrit :
On est loin de l'Identifiant Automatique ! 
-- MB |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 317 messages |
|
| Posté le 14 mars 2025 - 14:33 |
MB a écrit :
On est loin de l'Identifiant Automatique !
Rien n'empêche d'utiliser un identifiant automatique comme PK et en fonction des besoins d'utiliser ou non le code INSEE. S'il est utilisé, il sera défini en tant que clé alternative.
-- Il y a peut être plus simple, mais, ça tourne Quand tout a échoué, utilise l'option RTFM |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 299 messages |
|
| Posté le 14 mars 2025 - 15:14 |
MB a écrit :
J'ai aussi beaucoup rigolé en voyant comme je m'étais "planté". J'aurais pû aussi dire PéKin 
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 009 messages |
|
| Posté le 14 mars 2025 - 15:58 |
Bonjour Jean-Pierre BLOCH J'avoue que ça m'a au minimum fait sourire également. On comprend vite que c'était une réponse trop rapide et ça peut arriver à tout le monde, surtout quand on voit l'imprécision de certaines questions. Cdlt |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|