IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Colonne DateHeure via ChampCree [WD25]


Sujet :

WinDev

  1. #1
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut Colonne DateHeure via ChampCree
    Bonjour,

    J'essaye de créé une colonne par programmation de type DateHeure, mais je n'arrive pas à afficher une valeur correcte, la partie heure n'est pas bonne.

    Pour le test, j'ai un tableau avec une colonne dateheure, et ensuite je fais le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    NouvelleColonne est un Champ 
    NouvelleColonne <- ChampCrée("Table_SansNom1.Test", typColonne)
    NouvelleColonne..TypeSaisie=typSaisieDate
    NouvelleColonne..MasqueSaisie="JJ/MM/AAAA HH:mm:SS"
    NouvelleColonne..MasqueAffichage="JJ/MM/AAAA HH:mm:SS"
     
    NouvelleColonne <- ChampClone(TABLE_SansNom1.COL_DH,"Test2")
     
    TableAjouteLigne(TABLE_SansNom1,"20180921172213431","20180921172213431","20180921172213431")

    Résultat :
    1ere Colonne : OK
    2eme Colonne : PAS OK
    3eme Colonne : OK

    Manque t il un paramètre pour que cela fonctionne ? Ou quelle est la bonne méthode si vous aviez dejà essayé de faire ça ?
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Points : 65
    Points
    65
    Par défaut
    Bonjour

    C'est pas 100% bon, 99,99 % + 1 triangle, mais presque en faisant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ChampCrée("table_Clown.COL_2", typColonne)
    {"table_Clown.COL_2"}..Libellé = "Date Heure (COL_2)"
    {"table_Clown.COL_2"}..TypeSaisie = typSaisieDate+""+typSaisieHeure
    {"table_Clown.COL_2"}..MasqueSaisie = "JJ/MM/AAAA HH:MM:SS"
    {"table_Clown.COL_2"}..MasqueAffichage	= "JJ/MM/AAAA HH:MM:SS"
    // ...
    // ...
     
    ChampCrée("table_Clown.COL_3", typColonne)
    {"table_Clown.COL_3"}..Libellé = "Col3"
    //...
    //...
     
    TableAjouteLigne(TABLE_Clown,"20180921172213431","22/12/2020 10:15:28","20180921172213431")
    TableAjuste(TABLE_Clown)
    La table est la col_1 sont existante
    Je créé col_2 et 3 avec la mise en forme pour col_2

    Nom : Capture.JPG
Affichages : 336
Taille : 19,1 Ko

    ça fonctionne mais je ne comprends pas pourquoi ce warning, si je trouve je te le fais savoir

    Nom : Sans titre.jpg
Affichages : 325
Taille : 112,6 Ko

  3. #3
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Tu as modifié le tableAjouteLigne avec un format de date déjà bon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAjouteLigne(TABLE_Clown,"20180921172213431","22/12/2020 10:15:28","20180921172213431")
    Moi il me faut quelque chose qui fonctionne avec le format suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAjouteLigne(TABLE_Clown,"20180921172213431","20180921172213431","20180921172213431")
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Points : 65
    Points
    65
    Par défaut
    re

    je vais refaire comme tu viens de dire mais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"table_Clown.COL_2"}..TypeSaisie = typSaisieDate+typSaisieHeure
    , ça pose problème si on veut modifier

    alors en faisant comme suit, ça marche :
    il faut une table avec une colonne col_1 (cachée ou pas) déjà paramétrée pour les bons formats et la cloner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ChampClone(COL_1, "COL_2") ; ChampClone(COL_1, "COL_3")
    {"table_Clown.COL_1"}..Libellé = "Cachée à clowner (avec les bons masques en dur)"
    {"table_Clown.COL_2"}..Libellé = "Date Heure (COL_2)"
    {"table_Clown.COL_3"}..Libellé = "Clonée BIS"
    TableAjouteLigne(TABLE_Clown,"20180921172213431", "20180921172213100","20180921172213431")
    TableAjuste(TABLE_Clown)
     
     
    // bizarreuuuuuu 
    // ça ça marche pas alors que c'est possible dans la FEN des paramêtres de la colonne ???
    // {"table_Clown.COL_2"}..ValeurRenvoyée = "AAAAMMJJ*HHmmSS"
    /////////////////////////////////////////////////////////////////////
    Nom : ValeurRenvoyée.jpg
Affichages : 306
Taille : 90,7 Ko

    Nom : cloner Date-heure.jpg
Affichages : 306
Taille : 24,9 Ko

  5. #5
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Merci du temps que tu passes sur mon soucis.

    En effet, j'ai constaté qu'avec le champ Clone ca fonctionne, sauf que j'aimerai éviter d'utiliser cette façon de faire pour de très nombreuses raisons.
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 038
    Points : 9 347
    Points
    9 347
    Par défaut
    En fait, quand on est dans l'onglet 'Général' pour décrire une colonne de type date-heure, on a 3 paramètres ( masque de saisie, masque d'affichage et format de la valeur retournée)

    Et pour ce 3ème paramètre, la syntaxe est : {"table_Clown.COL_2"}..FormatMémorisé= "AAAAMMJJHHmmSSCCC"cf Doc

    Attention, MM majuscule = le mois, mm minuscule = les minutes. Et pour le masque d'affichage ou le masque de saisie, c'est la même consigne (mm minuscule =minute, majuscule =Mois ).

    L'instruction {"table_Clown.COL_2"}..MasqueSaisie = "JJ/MM/AAAA HH:MM:SS" va donc donner un résultat faux.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Points : 65
    Points
    65
    Par défaut
    merci tbc92 pour le tuyau

    j'ai trouvé la soluce : ..TypeSaisie = typSaisieDate n'a pas besoin de typSaisieHeure, ça sous entends date et heure avec les bons pramétres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ChampCrée("table_Clown.COL_2", typColonne)
    {"table_Clown.COL_2"}..Libellé = "Date Heure (COL_2)"
    {"table_Clown.COL_2"}..TypeSaisie = typSaisieDate //+typSaisieHeure
    {"table_Clown.COL_2"}..MasqueSaisie = "JJ/MM/AAAA HH:mm:SS"
    {"table_Clown.COL_2"}..MasqueAffichage	= "JJ/MM/AAAA HH:mm:SS" 
    {"table_Clown.COL_2"}..FormatMémorisé= "AAAAMMJJHHmmSSCCC"
    // ...
    // ...
     
    ChampCrée("table_Clown.COL_3", typColonne)
    {"table_Clown.COL_3"}..Libellé = "Col 1, 2 & 3 OK"
    {"table_Clown.COL_3"}..TypeSaisie = typSaisieDate //+typSaisieHeure
    {"table_Clown.COL_3"}..MasqueSaisie = "JJ/MM/AAAA HH:mm:SS"
    {"table_Clown.COL_3"}..MasqueAffichage	= "JJ/MM/AAAA HH:mm:SS" 
    {"table_Clown.COL_3"}..FormatMémorisé= "AAAAMMJJHHmmSSCCC"
     
    TableAjouteLigne(TABLE_Clown,"20180921172213431", "20180921172213100","20180921172213431")
    TableAjuste(TABLE_Clown)
    Nom : Sans titre.jpg
Affichages : 294
Taille : 21,7 Ko

  8. #8
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Excellent merci !

    Voilà une petite particularité qui est bon à savoir et qui n'est pas du tout documenté
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  9. #9
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Nhaps Voir le message
    Excellent merci !

    Voilà une petite particularité qui est bon à savoir et qui n'est pas du tout documenté
    Avec plaisir

    C'est vrai que j'avais fouillé l'aide mais pas trouvé https://doc.pcsoft.fr/fr-FR/?2510048&2510048

    Pour le coup, ton code est OK avec la variable Champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    NouvelleColonne est un Champ 
    NouvelleColonne <- ChampCrée("table_Clown.COL_4", typColonne)
    NouvelleColonne..Libellé = "NouvelleColonne <- ChampCrée"
    NouvelleColonne..TypeSaisie		= typSaisieDate
    NouvelleColonne..MasqueSaisie	= "JJ/MM/AAAA HH:mm:SS"
    NouvelleColonne..MasqueAffichage	= "JJ/MM/AAAA HH:mm:SS"
    NouvelleColonne..FormatMémorisé= "AAAAMMJJHHmmSSCCC"
     
     
    TableAjouteLigne(TABLE_Clown,"20180921172213431", "20180921172213100","20180921172213431","20400921172213431")
    TableAjuste(TABLE_Clown)
     
    Info(COL_1[1] +RC+ {"table_Clown.COL_2"})
    Bon dév.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2020, 22h49
  2. Réponses: 2
    Dernier message: 29/05/2017, 15h38
  3. [MySQL] création de colonne dynamique via une variable php
    Par xKryckx dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 09/04/2015, 19h47
  4. Formule excel, colonne sommée via l'api
    Par gaweL- dans le forum BIRT
    Réponses: 4
    Dernier message: 21/04/2010, 11h33
  5. Remplir certaines colonnes datagridview via requete
    Par jpbelmondo59 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/09/2009, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo