• Advertisement

Calcul de 2 types différent [RESOLU]

Tout ce qui concerne la version 9 de windev
**Windev est une marque déposée de Pcsoft**

Calcul de 2 types différent [RESOLU]

Messagepar sspython » Sam Avr 02, 2011 10:18 pm

Bonjour à tous,

Voila je ne sais pas comment calculer un type "DATE" avec un type "NUMERIQUE" pour un résultat en DATE.
En fait je voudrais:

Champ date + champ numerique = champ date
exemple:

03/04/2011 + 15 = 18/04/2011 (en sachant que le résultat devra se faire automatique dans un champ en calculant donc la date de début que nous saisissons + un nombre)

Récap:
1er Champ date (saisissable manuellement dans un champ)
2eme Champ numérique (que nous saisissons manuellement)
3eme Champ date (qui sera calculer en fonction de 1er champ + 2eme champ en cliquant sur un bouton)

Donc c'est justement le code de ce bouton que je ne connais pas pour calculer les 2 premiers champs (1er en type DATE et le 2eme en type Numérique).
Donc un grand merci d'avance à celui qui pourra me répondre et m'aider à résoudre mon problème.

A bientôt.
Dernière édition par sspython le Lun Avr 04, 2011 9:29 pm, édité 1 fois.
sspython
Nouveau Membre
 
Messages: 10
Inscription: Dim Mar 13, 2011 10:52 pm

Advertisement

Re: Calcul de 2 types différent

Messagepar Samifred » Dim Avr 03, 2011 7:40 am

Bonjour,

Voilà deux solutions.... pour ajouter un nombre de jour à une date.


Code: Tout sélectionner
//résultat champ date
SAI_NewDate = EntierVersDate(DateVersEntier(SAI_Date) + SAI_Jour)

//résultat champ texte
LIB_NewDate = DateVersChaîne(EntierVersDate(DateVersEntier(SAI_Date) + SAI_Jour),"JJ.MM.AAAA")
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3550
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Calcul de 2 types différent

Messagepar sspython » Dim Avr 03, 2011 3:11 pm

Bonjour,

Merci de la réponse rapide mais soit je ne comprends pas la formule soit il y a un plantage avec ma table.
En fait j'ai pour nom de table -> TableSansCompounding
Une colonne debut1 (Date de commencement) sous le format DATE (saisissable manuellement)
Une colonne Duree1 (Durée du plan) sous format NUMERIQUE saisissable manuellement
Une colonne fin1 (Fin du plan) non saisissable manuellement (affichage seulement)

Je voudrais que quand le clique sur mon bouton CALCULER il me donne la date de fin automatiquement en calculant la date de commencement + la durée du plan

J'espère que j'ai été un peu plus clair sur ma demande.

Merci encore et bonne continuation.
A bientôt.
sspython
Nouveau Membre
 
Messages: 10
Inscription: Dim Mar 13, 2011 10:52 pm

Re: Calcul de 2 types différent

Messagepar Samifred » Dim Avr 03, 2011 4:03 pm

sspython a écrit:Bonjour,

Merci de la réponse rapide mais soit je ne comprends pas la formule soit il y a un plantage avec ma table.
En fait j'ai pour nom de table -> TableSansCompounding
Une colonne debut1 (Date de commencement) sous le format DATE (saisissable manuellement)
Une colonne Duree1 (Durée du plan) sous format NUMERIQUE saisissable manuellement
Une colonne fin1 (Fin du plan) non saisissable manuellement (affichage seulement)

Je voudrais que quand le clique sur mon bouton CALCULER il me donne la date de fin automatiquement en calculant la date de commencement + la durée du plan

J'espère que j'ai été un peu plus clair sur ma demande.

Merci encore et bonne continuation.
A bientôt.


Bonjour,

Et bien c'est exactement ça.... sauf que la saisie ce passe sur une ligne de table en saisie. Si je reprend le code...

Note: "Duree1" n'est pas un <<champ Durée au sens propre du terme>> mais bien un champ numérique (par exemple: un nombre de jour déterminé).

On transforme la date en entier - on ajoute la durée (jours) à cet entier - on transforme cet entier cumulé en nouvelle date.

Code: Tout sélectionner
TableSansCompounding.fin1 = EntierVersDate(DateVersEntier(TableSansCompounding[TableSansCompounding][NuméroColonneDate]) +... TableSansCompounding[TableSansCompounding][NuméroColonneDuree1])

Code tester sur une table "TABLE_Table1" de 3 colonnes (Date, numérique, date)
Code: Tout sélectionner
TABLE_Table1[TABLE_Table1][3] = EntierVersDate(DateVersEntier(TABLE_Table1[TABLE_Table1][1])+TABLE_Table1[TABLE_Table1][2])


On mettra ce code dans la section de sortie de champ ligne "Duree1" et l'affichage de la date "Fin1" se fera automatiquement.
Attention au format date... si le format n'est pas correct il y aura des erreurs et ce ne sera pas moi.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3550
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Calcul de 2 types différent

Messagepar sspython » Dim Avr 03, 2011 9:10 pm

Encore merci de ta rapidité mais j'ai l'erreur " Operateur '[]' interdit
Comment puis-je faire pour contourner ou est-ce moi qui est mal mis le code.

Le voila ci-dessous:
Code: Tout sélectionner
TableSansCompounding[TableSansCompounding][Fin1] = EntierVersDate(DateVersEntier(TableSansCompounding[TableSansCompounding][Debut1])+(TableSansCompounding[TableSansCompounding][Duree1]))


Je l'ai essayer
- sur mon bouton calculer
- sur le code de la colonne Durée1
- sur le code de la colonne Fin1

Merci encore du soutien très prècieux ;)
A bientôt.
sspython
Nouveau Membre
 
Messages: 10
Inscription: Dim Mar 13, 2011 10:52 pm

Re: Calcul de 2 types différent

Messagepar Samifred » Lun Avr 04, 2011 6:48 am

Je voudrais que quand le clique sur mon bouton CALCULER il me donne la date de fin automatiquement en calculant la date de commencement + la durée du plan


Pourquoi un bouton [Calculer] alors que le code étant dans la section sortie de colonne "Durée1" ?... bon tu peux mettre le code dans un bouton mais ça fait triple manipulations, entrer les données, resélectionner la ligne + clic sur le bouton.

Le code était presque juste, sauf qu'à la place des noms entre crochet il faut mettre le NUMERO de la colonne, comme je l'avais indiqué [NuméroColonnexxx].
Le numéro de la colonne est indiqué dans la description de la table.

Code: Tout sélectionner
TableSansCompounding[TableSansCompounding][3] = EntierVersDate(DateVersEntier(TableSansCompounding[TableSansCompounding][1])+(TableSansCompounding[TableSansCompounding][2]))


Ca vient... bon courage.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3550
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Calcul de 2 types différent

Messagepar sspython » Lun Avr 04, 2011 6:48 pm

Hello et encore merci pour ton suivi et ton dévouement.
Donc j'ai mis le code en sortie de Durée1 (dans mon tableau) en chngeant les N° de colonne par les miens mais j'ai toujours l'erreur suivante:
Code: Tout sélectionner
Opérateur '[]' interdit


Je ne sais plus quoi faire.
Je rappelle que j'ai la version 9 de windev mais je ne pense pas que la version y soit pour quelque chose ;)

Donc encore merci pour le suivi et la réponse au message.

A bientôt.
sspython
Nouveau Membre
 
Messages: 10
Inscription: Dim Mar 13, 2011 10:52 pm

Re: Calcul de 2 types différent

Messagepar Samifred » Lun Avr 04, 2011 8:17 pm

Bonsoir et bizard...

Les crochets sont acceptés depuis belle lurette, j'ai testé le même code en WD 7.5 et ça fonctionne parfaitement.

Alors utilisons le mode classic... mais le code doit être impérativement dans la colonne Duree1 en sortie de ligne.

Code: Tout sélectionner
TableSansCompounding.Fin1 = EntierVersDate(DateVersEntier(TableSansCompounding.Debut1)+(TableSansCompounding.Duree1))


Avec les crochets le code peut se trouver dans un bouton ou une procédure locale.

En espérant que cette fois tu sautes de joie sur ta chaise... :lol:
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3550
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Calcul de 2 types différent

Messagepar sspython » Lun Avr 04, 2011 8:22 pm

Hello l'ami

Je venais juste te dire que j'ai trouvé une solution mais tu as été plus rapide que moi ;)

Dans le code de mon bouton j'ai mis ce code:
Code: Tout sélectionner
sdate est une Date = Debut1
sdate..Jour += Duree1
Fin1 = sdate


et cela fonctionne. quand je clique sur mon bouton, il valide bien le changement de date et il s'integre automatiquement dans mon tableau ;)

Merci encore de ton dévouement, de la patience et du temps que tu as pris pour m'aiguiller au maximum sur mon problème.
Bonne continuation à toi et reste comme tu es car tu es vraiment actif sur le fofo et cela fait plaisir.

A bientot (peut-être pour un autre soucis hihihi)

Bye Samifred
sspython
Nouveau Membre
 
Messages: 10
Inscription: Dim Mar 13, 2011 10:52 pm

Re: Calcul de 2 types différent

Messagepar Samifred » Lun Avr 04, 2011 8:34 pm

Oui parfaitement, j'y avais pas pensé et dire que je l'ai utilisé pas plutard qu'aujourd'hui... la fatigue sans doute.
Tout et bien qui fini bien.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3550
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0



  • Advertisement

Retourner vers Forum windev 9

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités