GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV (versões anteriores)
→
probleme de recupération d'indice de ligne dans un champs table
probleme de recupération d'indice de ligne dans un champs table
Iniciado por jm48, jan., 19 2021 6:19 PM - 4 respostas
Conecte-se…
jm48
#1
Membro registado
3 mensagems
Publicado em janeiro, 19 2021 - 6:19 PM
bonjour à tous
malgré de nombreuses recherches sur le net et d'essais de plusieurs codes, je n'arrive toujours pas à afficher un total de colonne dans une rupture
je travaille sous windev 15 et ne dispose donc pas des calculs automatiques
le code ci-dessous fonctionne parfaitement si je place les champs de résultat dans la fenetre et le code dans l'évènement "à chaque changement de ligne" de la table (il s'agit d'une table fichier sur requete)
par contre des que je place les champs résultats dans la ligne rupture bas et le code dans cette meme rupture ("affichage d'une ligne de la rupture), la variable "i" est toujours à zéro et bien surs les champs à zero
CODE
i est un entier=0
nindicehaut est un entier=TableIndiceRupture(RUPT_HautRupture1)
nindicebas est un entier=TableIndiceRupture(RUPT_BasRupture1)
cumuldébits est un numérique=0
cumulcrédits est un numérique
POUR i= nindicehaut A nindicebas
cumuldébits=cumuldébits+COL_Débit[i]
cumulcrédits=cumulcrédits+COL_Crédit[i]
SAI_moisencours=DateVersMoisEnLettre(COL_Date[i])
FIN
SAI_Cumuldébits=cumuldébits
SAI_cumulcrédits=cumulcrédits
merci par avance à ceux qui auraient le temps et l'envie de se pencher sur ce problême et avoir de l'indulgence si la réponse leur parait évidente
cordialement
Denunciar
0
0
Voroltinquo
#2
Membro registado
3.887 mensagems
Popularité : +227 (347 votes)
Publicado em janeiro, 20 2021 - 8:52 PM
Bonjour,
Il faut préciser le N° de la ligne de bas de rupture :
TABLE_
MaTable
[
n
Bas
]
.
SAI_
...
....
--
Il y a peut être plus simple, mais, ça tourne
Denunciar
0
0
jm48
#3
Membro registado
3 mensagems
Publicado em janeiro, 21 2021 - 6:41 PM
avant tout merci Voroltinquo pour ta réponse
j'ai fais les modifs et l'indice n'esttoujours pas pris en compte
j'ai essayé les 3 codes suivants:
//TABLE_REQ_CAOpérations[nindicebas].RUPT_BasRupture1.SAI_cumuldeb=cumuldébits
//TABLE_REQ_CAOpérations[nindicebas].SAI_cumuldeb=cumuldébits
//TABLE_REQ_CAOpérations[i].SAI_cumuldeb=cumuldébits
acec toujours le même message d'erreur
Erreur à la ligne 11 du traitement Affichage d'une ligne de RUPT_BasRupture1 ( TABLE_REQ_CAOpérations ).
Vous avez appelé l'opérateur [] sur le champ TABLE_REQ_CAOpérations.
L'indice spécifié [0] est invalide.
Les valeurs valides sont comprises entre 1 et 28 (inclus).
----- Informations techniques -----
Projet : trésorerie
Appel WL :
Traitement de 'Affichage d'une ligne de RUPT_BasRupture1 ( TABLE_REQ_CAOpérations )' (FEN_CAopérations.TABLE_REQ_CAOpérations.RUPT_BasRupture1), ligne 11, thread 0
Que s'est-il passé ?
Vous avez appelé l'opérateur [] sur le champ TABLE_REQ_CAOpérations.
L'indice spécifié [0] est invalide.
Les valeurs valides sont comprises entre 1 et 28 (inclus).
Code erreur : 10038
Niveau : erreur fatale (EL_FATAL)
Dump de l'erreur du module 'wd150obj.dll' (15.00Qcm).
Identifiant des informations détaillées (.err) : 10038
Informations supplémentaires :
EIT_PILEWL :
Affichage d'une ligne de RUPT_BasRupture1 ( TABLE_REQ_CAOpérations ) (FEN_CAopérations.TABLE_REQ_CAOpérations.RUPT_BasRupture1), ligne 11
EIT_DATEHEURE : 21/01/2021 18:38:17
Assistance
-Vérifiez que l'indice entre [] est correct. Si c'est la valeur d'un champ (ex : COL1[TABLE] ), vérifier la valeur de ce champ.
-Si c'est une table, une liste, ou une combo vérifiez qu'elle n'est pas vide
-Si c'est une combo en saisie, vérifiez que vous n'avez pas utilisé la syntaxe Combo[Combo] qui est réservée aux combos en affichage
-Vérifiez que vous ne demandez pas la ligne en cours alors qu'aucune n'est sélectionnée
(Rappel : ..Valeur et ListeSelect renvoient -1 dans ce cas)
si vous avez une idée
cordialement
Denunciar
0
0
Voroltinquo
#4
Membro registado
3.887 mensagems
Popularité : +227 (347 votes)
Publicado em janeiro, 21 2021 - 8:43 PM
Ton compteur est à 0, ce qui signifie qu'il est initialisé au départ par 0
Or l'initialisation se fait (indirectement) via TableIndiceRupture. Or si cette fonction renvoie 0, c'est qu'il y a une erreur. Il faudrait récupérer le Message d'erreur de TableIndiceRupture
--
Il y a peut être plus simple, mais, ça tourne
Denunciar
0
0
jm48
#5
Membro registado
3 mensagems
Publicado em janeiro, 24 2021 - 5:04 PM
bonjour voroltinquo
je ne suis pas parvenu à trouver le probléme de l'erreur sur tableindicerupture
par contre j'ai rentré un code qui fonctionne parfaitement et que j'adresse afin d'aider tout ceux qui comme moi ont galéré sur ce problême
voici ce code:
// Variables pour calculer les totaux
nindice est un entier
cumuldébits est un monétaire
moCumulcrédits est un monétaire
// Parcours toutes les lignes de la table
POUR nindice= 1 A TABLE_REQ_CAOpérations..Occurrence
// Ajoute le débit de la ligne au cumul des débits
cumuldébits = cumuldébits + TABLE_REQ_CAOpérations.COL_Débit[nindice]
moCumulcrédits=moCumulcrédits + TABLE_REQ_CAOpérations.COL_Crédit[nindice]
// Si cette ligne correspond à la dernière ligne de la rupture
SI nindice = TableIndiceRupture(RUPT_BasRupture1, nindice) ALORS
// Affecte le total au champ total
TABLE_REQ_CAOpérations[nindice].SAI_cumuldeb = cumuldébits
TABLE_REQ_CAOpérations[nindice].SAI_cumulcred=moCumulcrédits
// remettre à 0 les variables cumul car sinon les additions se poursuivent
moCumulcrédits=0
cumuldébits=0
FIN
FIN
encore merci pour m'avoir répondu
Denunciar
0
0
→ Voltar para WINDEV (versões anteriores)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (versões anteriores)
WEBDEV (versões anteriores)
WINDEV Mobile (versões anteriores)
Reports & Queries
Off-topic
Ferramentas
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto