|
Passage de Tableau dans une procedure |
Started by yannNou98800, Jan., 19 2024 1:33 AM - 4 replies |
| |
| | | |
|
| |
Registered member 2 messages |
|
Posted on January, 19 2024 - 1:33 AM |
Bonjour,
J'ai ce code (sachant que chaque cahine du tableau a bien une valeur): TableauDonnees est un tableau de chaines = [xlsDonnee(IdFichierXLS,i,2),xlsDonnee(IdFichierXLS,i,3), xlsDonnee(IdFichierXLS,i,4) , xlsDonnee(IdFichierXLS,i,5)]
envoieElements(sMesValeurs
-------------
Ma procédure est déclarée ainsi : procedure interne envoieElements (pTableauDonnees)
-------------
J'ai cette erreur: Le paramètre n°1 n'a pas de valeur par défaut et n'a pas reçu de valeur.
Avez-vous une idée?
Merci d'avance. |
| |
| |
| | | |
|
| | |
| |
Posted on January, 19 2024 - 10:02 AM |
Bonjour,
vous chargez une variable Tableaudonnees et vous passez en paramètre la variable sMesValeurs à votre procédure, est ce voulu ? |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on January, 20 2024 - 10:35 PM |
Bonjour, Dans l'appel de EnvoieElément, tu passes une chaine (sMesValeurs), hors EnvoieElement attend un tableau.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 2 messages |
|
Posted on January, 22 2024 - 12:25 AM |
Pardon, j'ai fait un mauvais copier-coller: TableauDonnees est un tableau de chaines = [xlsDonnee(IdFichierXLS,i,2),xlsDonnee(IdFichierXLS,i,3), xlsDonnee(IdFichierXLS,i,4) , xlsDonnee(IdFichierXLS,i,5)] envoieElements(TableauDonnees)
-------------
Ma procédure est déclarée ainsi : procedure interne envoieElements (pTableauDonnees) |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on January, 23 2024 - 12:01 PM |
Qu'en est-il lorsque tu types ton paramètre dans la déclaration ? Par ailleurs, tu utilises une procédure interne, les variable déclarées dans la procédures "mère" sont considérées comme globales. Donc TableauDonnées peut être utilisé directement dans EnvoieEnément sans être passé en paramètre. Ton code est équivalent à
TableauDonnees est un tableau de chaînes = [xlsDonnée(IdFichierXLS,i,2),xlsDonnée(IdFichierXLS,i,3), xlsDonnée(IdFichierXLS,i,4) , xlsDonnée(IdFichierXLS,i,5)] envoieElements()
PROCEDURE INTERNE EnvoieElément() Trace(TableauDonnées[1] FIN Toutefois, le problème est ailleurs. Tu utilises une variable "i". Cette variable n'est jamais initialisée donc elle vaut 0 (zéro)
TableauDonnees est un tableau de chaînes = [xlsDonnée(IdFichierXLS,i,2),xlsDonnée(IdFichierXLS,i,3), xlsDonnée(IdFichierXLS,i,4) , xlsDonnée(IdFichierXLS,i,5)] est donc équivalent à
TableauDonnees est un tableau de chaînes = [xlsDonnée(IdFichierXLS,0,2),xlsDonnée(IdFichierXLS,0,3), xlsDonnée(IdFichierXLS,0,4) , xlsDonnée(IdFichierXLS,0,5)]
-- Il y a peut être plus simple, mais, ça tourneMessage modified, January, 23 2024 - 12:04 PM |
| |
| |
| | | |
|
| | | | |
| | |
|