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 :

Table adresse email et tableinfoxy


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Table adresse email et tableinfoxy
    Bonjour à tous,

    J'utilise une requête pour afficher les données d'un fichier clients dans une table.
    -> RAS
    Dans cette table, j'ai 2 colonnes COL_Email et COL_emailcontact
    Elles contiennent les adresses email des clients.
    -> RAS
    Je souhaite ouvrir Outlook en cliquant une seule fois gauche sur l'adresse email de la COL_Email ou sur l'adresse de la COL_emailcontact et envoyer un email. (autrement dit en cliquant une seule fois gauche sur la cellule correspondante dans la table)

    Pour ce faire, j'utilise TableInfoXY afin de récupérer la position de la souris et connaitre dans quelle colonne elle se trouve.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sColonne est une chaîne
    sColonne = TableInfoXY(TABLE_REQ_Liste_Client, tiNomColonne, SourisPosX(), SourisPosY())
    PROBLEME
    sColonne renvoyée est toujours la colonne qui est au bord gauche de la table quelque soit la position de ma souris sur la ligne.

    Pour bien comprendre si j'ai 20 colonnes et que je laisse l’ascenseur horizontal à gauche, ce sera la col 1 qui sera renvoyée.
    Si je déplace l’ascenseur horizontal et que je met la colonne 5 à gauche de la table affichée, ce sera la Col 5 qui sera renvoyée etc.

    Question pourquoi ce n'est pas la position de la souris qui est renvoyée mais la position de la 1ère colonne visible qui est renvoyée ?

    Merci de votre aide.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    J'utilise cette méthode également par contre je stocke les valeurs de la souris, pour les utiliser dans TableInfoXY(..) car j'ai rencontré des soucis pendant un temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    iX est entier = SourisPosX()
    iY est un entier = SourisPosY()
    maColonne = TableInfoXY(MoiMême, tiNomColonne, iX, iY)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci pour le coup de main, mais ne change rien dans mon cas.

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    A quel endroit se trouve le code ?
    Pour ma part, il est dans Bouton gauche enfoncé de la table.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    je l'ai mis dans sélection d'une ligne de table

  6. #6
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2016
    Messages : 10
    Points : 8
    Points
    8
    Par défaut SOLUTION
    Réflexion mal menée au départ.
    Quand on programme, il faut penser basique or dans mon cas les manipulation des cellules de la table (X1,Y1) (Xn,Yn) que fait windev ne se font pas sur des noms MAIS sur des N°.
    Il fallait donc passer par le N° de Colonne et pas par son nom.
    Code qui fonctionne
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    nligne,nCol est un entier
    x,y est un entier
     
    x = PoidsFaible(CurseurPos())
    y = PoidsFort(CurseurPos())
    nligne = TableInfoXY(MoiMême, tiNumLigne + tiOrigineEcran, x, y)
    nCol = TableInfoXY(MoiMême, tiNumColonne + tiOrigineEcran, x, y)
     
    SI  nCol = 15 ALORS
    //	Email.Expediteur = gsNomUtilisateurCourant
    	Email.Destinataire = COL_Email
    	Email.NbDestinataire = 1
     
    	Email.Sujet = "Suite à notre entretien téléphonique"
    	Email.Message = "test"
     
    	// Ouverture de la session
    	MaSession est un entier
    	MaSession = EmailOuvreSession("Outlook")
     
    	SI MaSession <>0 ALORS
    		// Envoi du message
    		EmailEnvoieMessage(MaSession, Vrai)
    		// Fermeture de la session
    		EmailFermeSession(MaSession)
    	FIN
    FIN
    En utilisant le N° de colonne TAbleInfoXY renvoi bien le bon N° de colonne en fonction de la zone de clic dans la table.
    Cela ne fonctionne pas avec Bouton gauche enfoncé
    Peut être que dans les versions ultérieures, il existe une résolution automatique du nom et N° de colonne.

    Reste plus qu'à régler le nouveau message qui s'ouvre mais qui ne part pas....

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    J'ai un doute sur la pérennité de la solution, dans le cas où une colonne sera insérée suite à l'évolution du programme.
    La numérotation sera à modifier dans ce cas, j'espère que la mémoire est bonne ^^

  8. #8
    Membre éclairé
    Avatar de Narwe
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 253
    Points : 668
    Points
    668
    Par défaut
    Citation Envoyé par ESSER Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SI  nCol = 15 ALORS
    Citation Envoyé par Lo² Voir le message
    J'ai un doute sur la pérennité de la solution, dans le cas où une colonne sera insérée suite à l'évolution du programme.
    La solution serait peut-être de remplacer la ligne de code cité par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si TableEnumèreColonne(TABLE_TableProduit, nCol) = "COL_Email" ALORS

Discussions similaires

  1. (msn) validité d'une adresse email
    Par t26 dans le forum Messagerie instantanée
    Réponses: 2
    Dernier message: 10/09/2005, 13h05
  2. Table "Adresse"
    Par EzecKiel dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/08/2004, 15h59
  3. [langage] vérifier une adresse email
    Par GMI3 dans le forum Langage
    Réponses: 10
    Dernier message: 19/10/2003, 18h06

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