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

IHM Discussion :

Afficher format numéro de téléphone 00 00 00 00 00 dans une zone de liste [AC-2003]


Sujet :

IHM

  1. #1
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut Afficher format numéro de téléphone 00 00 00 00 00 dans une zone de liste
    Bonjour, j'ai une requete qui alimente une zone de liste depuis une table.

    J'ai les données de ma table depuis Excel.

    Dans ma table les numéros de téléphones sont collés (0000000000).

    Je voudrais savoir comment forcer l'affichage dans ma zone de liste pour avoir des espaces entre les différents numéros (00 00 00 00 00), sachant qu'il arrive que des numéros soient autres que français.

    Merci

  2. #2
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Je pense que c'est au moment du chargement des données qu'il faut imposer une mise en forme. C'est à dire dans la requete SQL qui charge la zone de liste.

    Il faut faire une manipulation du genre Format(00 00 00 00 00 00,MonChampAForcer)

    Mais le soucis c'est que je charge toute la table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "select * from tbl_Fournisseur where Id_Fournisseur = " & Id_Fournisseur & ";"
    Et que les 3 champs à forcer dans cette table sont:

    -TelPortable
    -TelFixe
    -Fax

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 127
    Points : 78
    Points
    78
    Par défaut
    J'utilise également également des N° de tèl dans une de mes tables, et c'est au moment de la création de mes champs que j'ai mentionné le format à appliquer...
    En mode modif de ta table, tu te positionne sur la ligne "Masque de saisie" Onglet Général, et tu rentres cette valeur :
    00\ 00\ 00\ 00\ 00;0;_
    Ainsi a chaque fois que tu feras appel à ce type de champ, il sera systématiquement formaté style (dans cette exemple) 01 42 20 30 40 (N° bidon ! )

    Bonne continuation.
    Pourquoi faire simple, quand on peut faire compliqué ???

  4. #4
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re, merci pour le tuyau, mais j'ai déja un masque en fait, mais j'ai exporté une base de plus de 1000 fournisseurs et ces derniers n'ont donc pas de masque car ils n'ont pas été rentrés depuis le formulaire.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ce n'est pas parce qu'ils n'ont pas été saisi par un formulaire que tu ne peux changer le format.

    Mets le masque indiqué sur le champ de table et fait une requête pour voir le résultat.

    Philippe

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    J'utilise également également des N° de tèl dans une de mes tables, et c'est au moment de la création de mes champs que j'ai mentionné le format à appliquer...
    En mode modif de ta table, tu te positionne sur la ligne "Masque de saisie" Onglet Général, et tu rentres cette valeur :

    Citation:
    00\ 00\ 00\ 00\ 00;0;_

    Ainsi a chaque fois que tu feras appel à ce type de champ, il sera systématiquement formaté style (dans cette exemple) 01 42 20 30 40 (N° bidon ! )
    Il faut faire attention à ne pas mélanger Masque de saisie et format .
    Le masque de saisie est là pour controler la saisie, alors que le format est là pour modifier l'affichage d'une donnée.
    Dans l'exemple cité au dessus, le champ n'acceptera plus que les N° de téléphone à 10 chiffres, ce qui ne répond plus à
    sachant qu'il arrive que des numéros soient autres que français.
    Frédéric
    Développeur d'Applications Access

  7. #7
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re,

    Quelle est la solution alors?

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Pour reprendre l'idée de Philippe JOCHMANS tu modifies les format de tes champs dans la table en mettant @@ @@ @@ @@ @@ puisque normalement les champs sont de type texte.
    Frédéric
    Développeur d'Applications Access

  9. #9
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re,

    J'ai fait ce que vous m'avez dit.

    Le format c'est bien mis dans la table, mais les numéros ne s'affichent plus dans ma zone de liste, en mode formulaire.

    Voici ma requete:

    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
    Public Sub RefreshQuery()
    Dim sql As String, sqlSelect As String, sqlWhere As String, sqlGroup As String
    Dim oRst As DAO.Recordset
    Dim odb As DAO.Database
    Set odb = CurrentDb
     
    sqlSelect = "SELECT tbl_Fournisseur.Id_Fournisseur, tbl_Fournisseur.NomSociete as [Nom de la société], tbl_Fournisseur.NomInterlocuteur as [Nom Interlocuteur], tbl_Fournisseur.PrenomInterlocuteur as [Prénom Interlocuteur], tbl_Fournisseur.TelFixe as [Téléphone fixe], tbl_Fournisseur.TelPortable as [Téléphone Portable], tbl_Fournisseur.Fax, tbl_Fournisseur.[Email] as [Email] FROM tbl_Fournisseur "
    sqlWhere = " WHERE (((tbl_Fournisseur.Id_Fournisseur) <> 0)) "
     
    If txtRefresh = 1 Then
        sqlWhere = sqlWhere + " and tbl_Fournisseur.NomSociete like '" & txtRechFournisseur.Text & "*' "
    End If
     
    sql = sqlSelect + sqlWhere
     
    Me.listeRésultat.RowSource = sql
    Me.listeRésultat.Requery
    End Sub
    Pourtant quand je fait une requete via l'assistant, les numéros apparaissent bien.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Désolé, j'avais oublié que si un champ texte à un format, il n'apparait plus dans les listes déroulantes (bug depuis 2003)
    Donc il faut enlever le format dans la table et modifier la requete pour formater le N° Tel.
    A priori:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(tbl_Fournisseur.TelFixe,"00 00 00 00 00") as [Téléphone fixe]
    Frédéric
    Développeur d'Applications Access

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    J'aurai créée une variable tel
    Puis décomposition a l'aide d'un MID()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mid(tel, 1, 2) & space(1) & Mid(tel, 4, 5) ........

  12. #12
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    re,

    J'ai testé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(tbl_Fournisseur.TelFixe,"00 00 00 00 00") as [Téléphone fixe]
    ça me met "Attendu fin d'instruction"

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Je peux avoir ta clause SQL complète ?
    Frédéric
    Développeur d'Applications Access

  14. #14
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Voila :

    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
    Public Sub RefreshQuery()
    Dim sql As String, sqlSelect As String, sqlWhere As String, sqlGroup As String
    Dim oRst As DAO.Recordset
    Dim odb As DAO.Database
    Set odb = CurrentDb
     
    sqlSelect = "SELECT tbl_Fournisseur.Id_Fournisseur, tbl_Fournisseur.NomSociete as [Nom de la société], tbl_Fournisseur.NomInterlocuteur as [Nom Interlocuteur], tbl_Fournisseur.PrenomInterlocuteur as [Prénom Interlocuteur], format(tbl_Fournisseur.TelFixe,"00 00 00 00 00") as [Téléphone fixe], tbl_Fournisseur.TelPortable as [Téléphone Portable], tbl_Fournisseur.Fax, tbl_Fournisseur.[Email] as [Email] FROM tbl_Fournisseur "
    sqlWhere = " WHERE (((tbl_Fournisseur.Id_Fournisseur) <> 0)) "
     
    If txtRefresh = 1 Then
        sqlWhere = sqlWhere + " and tbl_Fournisseur.NomSociete like '" & txtRechFournisseur.Text & "*' "
    End If
     
    sql = sqlSelect + sqlWhere
     
    Me.listeRésultat.RowSource = sql
    Me.listeRésultat.Requery
    End Sub

  15. #15
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mid(TelFixe, 1, 2) & Space(1) & Mid(TelFixe, 3, 2) & Space(1) & Mid(TelFixe, 5, 2) & Space(1) & Mid(TelFixe, 7, 2) & Space(1) & Mid(TelFixe, 9, 2)
    Bonne chance

  16. #16
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Je ne vois rien de particulier.
    Et si tu enlèves ce que tu as mis pour le format sur TelFixe ça fonctionne ?
    Frédéric
    Développeur d'Applications Access

  17. #17
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    J'en fait quoi de ça?

  18. #18
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour RootsInternationnal
    Code :
    Mid(TelFixe, 1, 2) & Space(1) & Mid(TelFixe, 3, 2) & Space(1) & Mid(TelFixe, 5, 2) & Space(1) & Mid(TelFixe, 7, 2) & Space(1) & Mid(TelFixe, 9, 2)
    Le problème avec ce code c'est que les n° de téléphones de plus de 10 chiffres seronts tronqués et s'ils sont plus courts on va droit vers un message d'erreur.
    Frédéric
    Développeur d'Applications Access

  19. #19
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re
    Je ne vois rien de particulier.
    Et si tu enlèves ce que tu as mis pour le format sur TelFixe ça fonctionne ?

    Oui, si j'enleve le format, ma liste s'affiche bien sauf que les numéros sont collés

    Non mais je pense que le code que tu m'a envoyé est bon, mais il doit manquer des caractères spéciaux pour qu'il soit valide.

    Si quekqu'un a déjà travailler avec ce type de code.

    Merci

  20. #20
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re
    Je ne vois rien de particulier.
    Et si tu enlèves ce que tu as mis pour le format sur TelFixe ça fonctionne ?

    Oui, si j'enleve le format, ma liste s'affiche bien sauf que les numéros sont collés

    Non mais je pense que le code que tu m'a envoyé est bon, mais il doit manquer des caractères spéciaux pour qu'il soit valide.

    Si quekqu'un a déjà travaillé avec ce type de code.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/06/2007, 14h07
  2. Réponses: 2
    Dernier message: 05/12/2006, 15h29
  3. Réponses: 2
    Dernier message: 04/09/2006, 16h58
  4. Afficher 2 colones d'un tableau dans une zone de liste
    Par Floch dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 09h37
  5. Réponses: 28
    Dernier message: 01/12/2005, 22h43

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