|
Comment gérer une selection dans un tableau |
Débuté par Nicos77, 20 sep. 2017 16:18 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 63 messages Popularité : +1 (1 vote) |
|
Posté le 20 septembre 2017 - 16:18 |
Bonjour, Je n'ai pas réussi a formuler un titre clair et précis pour ce que je souhaite.
En quelques lignes. Dans le cadre d'un programme d'inventaire, J'ai un bouton de recherche d'articles avec 3 possibilités. L'article n'existe pas, l'article existe et est unique, plusieurs articles correspondent au critères. L'idée est de sélectionné le bon article et charger des champs avec les infos afin de pouvoir les modifier.
Voici mon code :
SI Taille(SAI_Recherche_Article)=7 ALORS REQ_CHERCHE_ARTICLE.ParamNumArticle=SAI_Recherche_Article SINON REQ_CHERCHE_ARTICLE.ParamEAN=SAI_Recherche_Article FIN
HExécuteRequête(REQ_CHERCHE_ARTICLE,hRequêteDéfaut)
SI HNbEnr(REQ_CHERCHE_ARTICLE)=-1 RepriseSaisie(SAI_Recherche_Article) SINON SI HNbEnr(REQ_CHERCHE_ARTICLE)=1 HLitPremier(REQ_CHERCHE_ARTICLE) SINON POUR TOUT REQ_CHERCHE_ARTICLE TableAjouteLigne(TABLE_PRA,REQ_CHERCHE_ARTICLE.IDARTICLE,REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,REQ_CHERCHE_ARTICLE.QuantitéStock) FIN FEN_Index..Plan=3 RepriseSaisie(TABLE_PRA) FIN REQ_DEJA_POINTE.ParamNumArticle=REQ_CHERCHE_ARTICLE.NumArticle REQ_DEJA_POINTE.ParamDateModif=DateDuJour() HExécuteRequête(REQ_DEJA_POINTE) SI HNbEnr(REQ_DEJA_POINTE)<>-1 ALORS HLitDernier(REQ_DEJA_POINTE,REQ_DEJA_POINTE.HeureModif) Info("Article "+REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,"déjà pointé à "+HeureVersChaîne(REQ_DEJA_POINTE.HeureModif),"par "+REQ_DEJA_POINTE.Opérateur) FIN HLitRecherchePremier(ARTICLE,IDARTICLE,REQ_CHERCHE_ARTICLE.IDARTICLE) HBloqueNumEnr(ARTICLE,hNumEnrEnCours,hBlocageLectureEcriture) FichierVersEcran() RepriseSaisie(FEN_Index.SAI_QuantitéStock)
Le problème que j'ai se trouve vers mon TableAjouteLigne
POUR TOUT REQ_CHERCHE_ARTICLE TableAjouteLigne(TABLE_PRA,REQ_CHERCHE_ARTICLE.IDARTICLE,REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,REQ_CHERCHE_ARTICLE.QuantitéStock) FIN FEN_Index..Plan=3 RepriseSaisie(TABLE_PRA)
Il faudrai que dans le code de ma TABLE_PRA je suisse me positionner sur le bon article et continuer mon traitement. Et....Je ne vois pas trop comment du coup. J'ai pensé à mettre ma 2ème partie de code dans une procédure et l'appeler ici comme actuellement, et dans le code de ma TABLE_PRA dans le cas du multi article.
Merci par avance. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 36 messages Popularité : +4 (4 votes) |
|
Posté le 20 septembre 2017 - 18:36 |
Bonjour,
Comment cela vous positionner sur le bon article et continuer votre traitement?
Si vous le souhaitez, vous pouvez m'appeler au 06.37.97.75.34 et nous pourrions trouver plus simplement la solution et la diffuser ensuite sur le forum. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 63 messages Popularité : +1 (1 vote) |
|
Posté le 20 septembre 2017 - 20:37 |
Admettons que j'ai 3 articles avec la même clé de recherche. Partons dans l'idée que je gère des boissons. En cherchant "Eau", je me retrouve avec 3 choix différents. Je voudrais choisir la bonne "eau" dans ma TABLE_PRA puis continuer ce traitement (Avec 2-3 modifs sur les REQ_CHERCHE_ARTICLE
REQ_DEJA_POINTE.ParamNumArticle=REQ_CHERCHE_ARTICLE.NumArticle REQ_DEJA_POINTE.ParamDateModif=DateDuJour()
HExécuteRequête(REQ_DEJA_POINTE) SI HNbEnr(REQ_DEJA_POINTE)<>-1 ALORS HLitDernier(REQ_DEJA_POINTE,REQ_DEJA_POINTE.HeureModif) Info("Article "+REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,"déjà pointé à "+HeureVersChaîne(REQ_DEJA_POINTE.HeureModif),"par "+REQ_DEJA_POINTE.Opérateur) FIN
HLitRecherchePremier(ARTICLE,IDARTICLE,REQ_CHERCHE_ARTICLE.IDARTICLE) HBloqueNumEnr(ARTICLE,hNumEnrEnCours,hBlocageLectureEcriture)
FichierVersEcran() RepriseSaisie(FEN_Index.SAI_QuantitéStock)
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 63 messages Popularité : +1 (1 vote) |
|
Posté le 21 septembre 2017 - 09:26 |
Je m'en suis sortis autrement. Voici mon code pour info
SI Taille(SAI_Recherche_Article)=7 ALORS REQ_CHERCHE_ARTICLE.ParamNumArticle=SAI_Recherche_Article SINON REQ_CHERCHE_ARTICLE.ParamEAN=SAI_Recherche_Article FIN
HExécuteRequête(REQ_CHERCHE_ARTICLE,hRequêteDéfaut)
SI HNbEnr(REQ_CHERCHE_ARTICLE)=-1 RepriseSaisie(SAI_Recherche_Article) SINON SI HNbEnr(REQ_CHERCHE_ARTICLE)=1 HLitPremier(REQ_CHERCHE_ARTICLE) SINON POUR TOUT REQ_CHERCHE_ARTICLE TableAjouteLigne(TABLE_PRA,REQ_CHERCHE_ARTICLE.IDARTICLE,REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,REQ_CHERCHE_ARTICLE.QuantitéStock) FIN FEN_Index..Plan=3 RepriseSaisie(TABLE_PRA) FIN
REQ_DEJA_POINTE.ParamNumArticle=REQ_CHERCHE_ARTICLE.NumArticle REQ_DEJA_POINTE.ParamDateModif=DateDuJour()
HExécuteRequête(REQ_DEJA_POINTE) SI HTrouve(REQ_DEJA_POINTE) ALORS HLitDernier(REQ_DEJA_POINTE,REQ_DEJA_POINTE.HeureModif) Info("Article "+REQ_CHERCHE_ARTICLE.NumArticle,REQ_CHERCHE_ARTICLE.Désignation,"déjà pointé à "+HeureVersChaîne(REQ_DEJA_POINTE.HeureModif),"par "+REQ_DEJA_POINTE.Opérateur) FIN
HLitRecherchePremier(ARTICLE,IDARTICLE,REQ_CHERCHE_ARTICLE.IDARTICLE) HBloqueNumEnr(ARTICLE,hNumEnrEnCours,hBlocageLectureEcriture)
FichierVersEcran() RepriseSaisie(FEN_Index.SAI_QuantitéStock)
Et dans mon TABLE_PRA je redetermine un SAI_Recherche_Article
SAI_Recherche_Article=TABLE_PRA.COL_Numéro FEN_Index..Plan=2 ExécuteTraitement(BTN_OK,trtClic)
Si quelqu'un a une solution différente? Mieux? Plus performante..Je suis preneur
Merci |
| |
| |
| | | |
|
| | | | |
| | |
|