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

Access Discussion :

Access Extraire Chaine de caractères après le caractère spécifique / slash


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Access Extraire Chaine de caractères après le caractère spécifique / slash
    Bonjour,

    Dans une table Access, j'ai un champ nommé Prix/Qte
    où je rentre mon prix + la quantité adossée à ce prix sous cette forme "27,60/10"

    Je souhaite dans un champ calculé "nommé : Qte", extraire la chaîne de caractères après le / "cette chaîne correspondant à Quantité.

    J'ai essayé ces deux expressions dans le calcul du champ Qte

    =Droite( [Prix /Qte] ;NbCar(ExtracChaîne$( [Prix /Qte] ;DansChaîne( [Prix /Qte] ;"/")))-1)

    =Droite( [Prix /Qte] ;NbCar(ExtracChaîne$( [Prix /Qte] ;DansChaîne( [Prix /Qte] ;[/])))-1)

    Mais à chaque fois, Access me renvoit ce message "Erreur de syntaxe dans l'expression"

    Pouvez-vous m'aider pour extraire cette chaîne de caractères située après le / du champ Prix/Qte ???

    Merci par avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 411
    Points : 19 988
    Points
    19 988
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Ce serait mieux de le faire dans une requête :

    Qte : ExtracChaîne([Prix /Qte];DansChaîne([Prix /Qte];"/")+1)

    Cdlt

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Je souhaite le faire dans un champ calculé afin que ce champ calculé se remplisse automatiquement
    Citation Envoyé par User Voir le message
    Bonjour,

    Ce serait mieux de le faire dans une requête :

    Qte : ExtracChaîne([Prix /Qte];DansChaîne([Prix /Qte];"/")+1)

    Cdlt
    Bonjour,
    Merci pour votre réponse, mais
    Je souhaite le faire dans un champ calculé afin que ce champ calculé se remplisse automatiquement lors de la saisie Prix/Qte

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 411
    Points : 19 988
    Points
    19 988
    Billets dans le blog
    66
    Par défaut
    Citation Envoyé par traderpierre54 Voir le message
    Bonjour,

    Dans une table Access, j'ai un champ nommé Prix/Qte
    où je rentre mon prix + la quantité adossée à ce prix sous cette forme "27,60/10"
    Pourquoi ne pas saisir tout simplement le prix et la qté dans 2 champs séparés [Prix] et [Qte] ?

    Cdlt

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut ça va plus vite pour la saisie
    Citation Envoyé par User Voir le message
    Pourquoi ne pas saisir tout simplement le prix et la qté dans 2 champs séparés [Prix] et [Qte] ?

    Cdlt
    ça va plus vite pour la saisie

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 411
    Points : 19 988
    Points
    19 988
    Billets dans le blog
    66
    Par défaut
    Ce n'est pas conseillé, vous avez un champ ou une colonne avec 2 informations (le prix et la quantité du produit) que va-t-il se passer quand par exemple vous souhaiterez effectuer des opérations sur ces données (ex. : somme(qte*prix)), sans compter les erreurs de saisie possible..

  7. #7
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Salut @User
    Cette expression Droite([Prix/Qte];NbCar(ExtracChaîne$([Prix/Qte];DansChaîne([Prix/Qte];"/")))-1),ou ExtracChaîne([Prix/Qte];DansChaîne([Prix/Qte];"/")+1),est trop complexe pour un champ de type Calculé, même si toutes les fonctions dans chacune des expressions sont disponibles dans le générateur.

    Désolé, mais l'argument qu'à la saisie c'est plus rapide ne tient pas. Enfin ce n'est que mon avis ! La preuve par a+b, il faut utiliser l'une des expressions ci-dessus pour extraire la Qté !

    Et pourquoi ne pas passer par TableDefs et CreateField pour créer l'expression pendant que nous y sommes ? Mais là aussi des erreurs signalées 3945/3950 !

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut J'ai essayé ces exressions mais cela ne fonctionne pas
    Citation Envoyé par hyperion13 Voir le message
    Salut @User
    Cette expression Droite([Prix/Qte];NbCar(ExtracChaîne$([Prix/Qte];DansChaîne([Prix/Qte];"/")))-1),ou ExtracChaîne([Prix/Qte];DansChaîne([Prix/Qte];"/")+1),est trop complexe pour un champ de type Calculé, même si toutes les fonctions dans chacune des expressions sont disponibles dans le générateur.

    Désolé, mais l'argument qu'à la saisie c'est plus rapide ne tient pas. Enfin ce n'est que mon avis ! La preuve par a+b, il faut utiliser l'une des expressions ci-dessus pour extraire la Qté !

    Et pourquoi ne pas passer par TableDefs et CreateField pour créer l'expression pendant que nous y sommes ? Mais là aussi des erreurs signalées 3945/3950 !
    J'ai essayé ces exressions mais cela ne fonctionne pas access renvoit un syntaxe erronée

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 842
    Points : 14 946
    Points
    14 946
    Par défaut
    bonsoir,
    J'ai essayé ces expressions mais cela ne fonctionne pas access renvoiet un syntaxe erronée
    ta seule bonne foi ne suffit pas, il faudrait nous poster le code complet utilisé pour qu'on puisse contrôler, d'autant plus si l'expression est complexe

  10. #10
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Et c'est pour cela que @User vous oriente vers les standards de l'analyse conceptuelle et de construction des tables.
    Vous devriez créer 2 champs distincts Prix et Qté.
    Il faudra m'expliquer la pertinence de saisir "27,60/10" dans un champ !

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Cette réponse est destinée exclusivement à tee_grandbois se prétendant Expert éminent sénior.
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,

    ta seule bonne foi ne suffit pas, il faudrait nous poster le code complet utilisé pour qu'on puisse contrôler, d'autant plus si l'expression est complexe
    Cette réponse est destinée exclusivement à tee_grandbois se prétendant Expert éminent sénior.

    Trop facile de botter en touche avec ce genre de réponse !!! Ce n'est pas digne d'un développeur se prétendant Expert éminent sénior !!!!

    Si vous ne me croyez pas essayez tour à tour ces deux expressions dans le champ calculé d'une table access et vous constaterez de vous même qu'ACCESS retourne "Erreur de syntaxe dans l'expression"

    expression 1 / : Droite([Prix/Qte];NbCar(ExtracChaîne$([Prix/Qte];DansChaîne([Prix/Qte];"/")))-1),

    expression 2 / : ExtracChaîne([Prix/Qte];DansChaîne([Prix/Qte];"/")+1)

    Sur ces deux expressions, Access retourne : "Erreur de syntaxe dans l'expression"

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2018
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Cette réponse est destinée exclusivement à tee_grandbois se prétendant Expert éminent sénior.
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,

    ta seule bonne foi ne suffit pas, il faudrait nous poster le code complet utilisé pour qu'on puisse contrôler, d'autant plus si l'expression est complexe
    Cette réponse est destinée exclusivement à tee_grandbois se prétendant Expert éminent sénior.

    Trop facile de botter en touche avec ce genre de réponse !!! Ce n'est pas digne d'un développeur se prétendant Expert éminent sénior !!!!

    Si vous ne me croyez pas essayez tour à tour ces deux expressions dans le champ calculé d'une table access et vous constaterez de vous même qu'ACCESS retourne "Erreur de syntaxe dans l'expression"

    expression 1 / : Droite([Prix/Qte];NbCar(ExtracChaîne$([Prix/Qte];DansChaîne([Prix/Qte];"/")))-1),

    expression 2 / : ExtracChaîne([Prix/Qte];DansChaîne([Prix/Qte];"/")+1)

    Sur ces deux expressions, Access retourne : "Erreur de syntaxe dans l'expression"

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 842
    Points : 14 946
    Points
    14 946
    Par défaut
    Citation Envoyé par traderpierre54
    Cette réponse est destinée exclusivement à tee_grandbois se prétendant Expert éminent sénior.

    Trop facile de botter en touche avec ce genre de réponse !!! Ce n'est pas digne d'un développeur se prétendant Expert éminent sénior !!!!
    je ne me prétend pas "Expert éminent sénior", c'est le système d'attribution de points du forum qui le fait.
    Je rappelle que je suis bénévole et que je ne reçois rien en retour à part quelques remerciements venant des nombreuses personnes que j'ai aidé, les quelques (très rares) réflexions désobligeantes ne m'atteignent pas, tu peux donc te lâcher si tu le souhaites je n'y répondrai pas.

    Si je t'ai demandé le code que tu as écrit c'est pour vérifier si ta syntaxe est correcte en pensant que tu utilisais une requête, je vois que ce n'est pas le cas.

    Pour rappel, le code fonctionne très bien dans une requête ou dans une zone de texte d'état ou formulaire mais pas dans un champ calculé de table (certaines expressions semblent trop complexes pour ce type de champ) et malgré les recommandations d'Hyperion13, tu persistes à les utiliser (y compris la saisie de 2 valeurs dans un seul champ, que je ne t'ai même pas reproché. Comme quoi ...).

    Il ne faut pas utiliser Access comme un tableur, une table ce n'est pas une feuille Excel. Sinon, il nous sera difficile de te donner des réponses plus pertinentes.

  14. #14
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    @User, @tee_grandbois
    Volontairement, je ne traduis pas ce qui suit :

    Calculated Fields
    - How do you get Access to store the result of a calculation?
    - For example, if you have fields named Quantity and UnitPrice, how do you get Access to write Quantity * UnitPrice to another field called Amount?
    - The best answer is, "Don't!"

    What about Calculated fields in Access 2010?
    - Just choose Calculated in the data type, and Expression appears below it. Type the expression. Access will then calculate it each time you enter your record.
    - This may seem simple, but it creates more problems that it solves. You will quickly find that the expressions are limited.
    - Even more serious, the calculated results are not reliable. If you change the Expression after data has been entered into the table, the existing results may not be updated correctly (through new records are edits are updated), so you cannot rely on the results. A compact/repair does not recalculate, so there is no obvious way to repair the bad results.
    - Since you cannot index calculated fields anyway, there is no performance benefit to be gained from using them. You are violating fundamental rules of data normalization for no good purpose. We recommend you use queries for calculated fields, just as in previous versions.

    Et on en revient à devoir appliquer ce que l'analyse conceptuelle (MERISE 1 & 2) préconise. Les champs calculés, on les dégage de la matrice, donc non présent dans les tables. C'est pourtant si simple !

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 411
    Points : 19 988
    Points
    19 988
    Billets dans le blog
    66
    Par défaut
    Citation Envoyé par tee_grandbois
    Je rappelle que je suis bénévole et que je ne reçois rien en retour à part quelques remerciements venant des nombreuses personnes que j'ai aidé
    Ces remerciements sont largement mérités

    Citation Envoyé par hyperion13
    Et on en revient à devoir appliquer ce que l'analyse conceptuelle (MERISE 1 & 2) préconise. Les champs calculés, on les dégage de la matrice, donc non présent dans les tables. C'est pourtant si simple !
    Concernant les champs calculés, comme les champs multivalués ou pièces jointes, il faudrait mettre un avertissement bien visible sur le forum

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 842
    Points : 14 946
    Points
    14 946
    Par défaut
    bonjour tout le monde,
    Citation Envoyé par User
    Ces remerciements sont largement mérités
    merci, cela me rassure ...
    Citation Envoyé par Hyperion13
    Et on en revient à devoir appliquer ce que l'analyse conceptuelle (MERISE 1 & 2) préconise. Les champs calculés, on les dégage de la matrice, donc non présent dans les tables. C'est pourtant si simple !
    d'autant plus que c'est un éditeur de logiciels qui "invente" cette aberration ... à moins que cela soit à la demande des membres du club utilisateurs (sil il en existe un) influents ?
    Pourrais-tu préciser la source des textes cités ? Merci.

    Citation Envoyé par USer
    Concernant les champs calculés, comme les champs multivalués ou pièces jointes, il faudrait mettre un avertissement bien visible sur le forum
    tout à fait d'accord, c'est une véritable plaie, sachant que de nombreux posts sont la conséquence de l'utilisation de ce type de champs, mais l'avertissement me semble inutile tant je me rend compte que beaucoup de forumeurs ne prennent pas le temps de consulter la FAQ, lire les règles du forum, les tutos... Il n'y a plus le temps pour la recherche, la réflexion, ou simplement commencer par apprendre les bases, s'entrainer ...
    La plupart du temps, la réponse doit être fournie tout de suite ...

  17. #17
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Salut toi tout seul
    Citation Envoyé par tee_grandbois Voir le message
    ... Je rappelle que je suis bénévole et que je ne reçois rien en retour à part quelques remerciements venant des nombreuses personnes que j'ai aidé ...
    Je te rassure, ces remerciements sont largement mérités.
    Citation Envoyé par tee_grandbois Voir le message
    ... les quelques (très rares) réflexions désobligeantes ne m'atteignent pas ...
    Heureusement, sinon tu serais à l'amende selon l'Ops qui suit le fil !
    Citation Envoyé par User Voir le message
    ... Concernant les champs calculés, comme les champs multivalués ou pièces jointes, il faudrait mettre un avertissement bien visible sur le forum
    On dit que les ânes sont tétus !
    Citation Envoyé par tee_grandbois Voir le message
    ... d'autant plus que c'est un éditeur de logiciels qui "invente" cette aberration ...
    Je suis comme toi, je ne comprends pas trop la philosophie de crosoft dans ce cas.
    Citation Envoyé par tee_grandbois Voir le message
    ... à moins que cela soit à la demande des membres du club utilisateurs (sil il en existe un) influents ? ...
    Crosoft doit forcément tenir compte de retours d'expérience pour proposer de nouvelles fonctionnalités, fonctions et améliorations.
    Citation Envoyé par tee_grandbois Voir le message
    ... Pourrais-tu préciser la source des textes cités ? Merci. ...
    le site dAllen Browne
    Citation Envoyé par tee_grandbois Voir le message
    ... mais l'avertissement me semble inutile tant je me rend compte que beaucoup de forumeurs ne prennent pas le temps de consulter la FAQ, lire les règles du forum, les tutos... Il n'y a plus le temps pour la recherche, la réflexion, ou simplement commencer par apprendre les bases, s'entrainer ...
    La plupart du temps, la réponse doit être fournie tout de suite ...
    J'ai fait ce constat depuis un bon bout de temps ! Les générations Z, X, Y ne maitrisent pas les fondamentaux ! Alors leur demander de lire, réfléchir me parait être une mission impossible !

Discussions similaires

  1. Extraire chaine de caractère grace a un logiciel.
    Par heartcrusher dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 26/06/2012, 10h00
  2. Extraire chaine de caractères BATCH ou AWK
    Par LuffyyffuL dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 07/02/2011, 20h02
  3. extraire chaine de caractère
    Par dyngry dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2010, 17h30
  4. Extraire chaine de caractère
    Par pavinho dans le forum SAS Base
    Réponses: 3
    Dernier message: 24/07/2009, 10h07
  5. Extraire chaine de caractère dans chaîne de caratère
    Par kornichon dans le forum Langage
    Réponses: 9
    Dernier message: 11/07/2007, 21h56

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