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

Requêtes et SQL. Discussion :

Requete ajout d'un nouveau champ conditionnel


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut Requete ajout d'un nouveau champ conditionnel
    Bonjour, je veux rajouter un champ qui reproduit celui de la colonne "Amount" pour les valeurs négatives et bien sûr, je le ferai pour les valeurs positives.
    Nom : Requete1.jpg
Affichages : 224
Taille : 15,8 Ko Nom : Requete2.jpg
Affichages : 219
Taille : 23,4 Ko
    J'ai essayé une formule, mais le résultat est -1 et je souhaite que ce soit le nombre négatif (-22.87 pour le premier).
    Question subsidiaire, peut-on convertir ce résultat en positif ? Si oui, le résultat se présentera comment dans ma colonne Amount ultérieurement lorsque dans mon formulaire je remplirai ou modifiera ce champ, Positif ou négatif ?
    Merci de votre aide
    Le mieux est l'ennemi du bien

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pour AFFICHER le champ il suffit de faire un truc du genre iif([TaSource].[TonChamp]<0;[TaSource].[TonChamp];""). iif va être traduit par Access mais je ne me souviens plus en quoi.
    Si ti veux simplement faire sauter le signe tu peux utiliser abs([TaSource].[TonChamp]) qui va prendre la valeur absolue. Ici aussi Access va traduire abs en français, et là aussi je ne me souviens plus en quoi.
    Les champs calculés ne peuvent servir à la saisie.

    Et le -1 est normal avec ton code, c'est la valeur numérique pour Vrai qu'utilise Access (Faux c'est 0) et tu as écrit ce qu'on appelle une expression booléenne donc un "calcul" qui te donne Vrai ou Faux.

    Si cela ne répond pas pleinement à tes questions n'hésite pas à demander des précisions.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    Merci marot_r, tout fonctionne parfaitement, le code a été mofifié automatiquement par Access.
    Nom : Requete3.jpg
Affichages : 214
Taille : 21,5 Ko
    Le mieux est l'ennemi du bien

  4. #4
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    marot_r, j'ai encore un problème, il me semble que le formule me change le genre de mon champ numérique, les décimales sont parties.
    Nom : requete1.jpg
Affichages : 201
Taille : 10,8 Ko
    De même lorsque je fais un tri, le résultat n'est pas concluant. Je dois sans doute rajouter un autre paramètre pour reconvertir en décimale (Format ?)
    Nom : requete2.jpg
Affichages : 199
Taille : 14,6 Ko
    Le mieux est l'ennemi du bien

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    il me semble que le formule me change le genre de mon champ numérique, les décimales sont parties.
    Oui, tu as raison c'est parce que cela mélange texte ("") et nombre.

    La formule ci-dessous devrait résoudre ce problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iif([TaSource].[TonChamp]<0;[TaSource].[TonChamp];Null)+0
    Le +0 force Access à considérer le Null comme un null de type numérique.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    Merci beaucoup pour ta réponse.
    Cela s'améliore (on est passé du coté droit de la force), maintenant pour les décimales, faut-que je rajoute une close de format.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Débit: VraiFaux([t_Complete].[Amount]<0;[t_Complete].[Amount];Null+0)
    Car j'ai perdu mes 2 décimales et mon tri se fait mal, on dirait sur le 1er et 2eme chiffre
    Nom : Requete6.jpg
Affichages : 205
Taille : 12,4 Ko
    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
    Private Sub Bas_Debit_Click()
        strNomProcedure = "Bas_Debit_Click"
     
        On Error GoTo errSub
        Me.OrderByOn = True
        If gBolDebit = False Then
             Me.OrderBy = "Débit asc"
             gBolDebit = True
        Else
             Me.OrderBy = "Débit desc"
             gBolDebit = False
        End If
    Exitsub:
             On Error GoTo 0
             Exit Sub
    errSub:
             Select Case fGestError(strNomProcedure, Err, Erl, Err.Description)
    Case vbAbort
                       Exit Sub
    Case vbRetry
                       Resume
    Case vbIgnore
                       Resume Next
             End Select
     
    End Sub
    Le mieux est l'ennemi du bien

  7. #7
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    Je continue avec des essais :
    Nom : Requete7.jpg
Affichages : 197
Taille : 34,2 Ko
    Nom : Requete8.jpg
Affichages : 204
Taille : 40,4 Ko
    Mais je n'arrive pas à combiner pour obtenir un absolu, 2 décimales et toujours le tri > 0
    Le mieux est l'ennemi du bien

  8. #8
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    Et bien c'est entièrement de ma faute j'avais oublié d'enregistrer la requête, donc tout se passe bien, je vais essayer de positionner l'absolu
    C'est fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Débit: Abs(VraiFaux([t_Complete].[Amount]<0;[t_Complete].[Amount];Null+0))
    Et encore merci, de ne pas se savoir seul, ça encourage

    PS) Peux-tu regarder ma requête Cumul qui est sur un autre message ?
    Le mieux est l'ennemi du bien

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

Discussions similaires

  1. [AC-2016] Requête sur deux champs avec ajout d'un nouveau champ (combinaison de deux champs)
    Par tree.management dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/04/2018, 13h59
  2. VBA ajout d'un nouveau champ
    Par Choup7 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/12/2013, 13h44
  3. Réponses: 8
    Dernier message: 27/11/2008, 16h14
  4. Ajouter un champ conditionnel dans une requete
    Par Bernard67 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/09/2008, 21h18
  5. Réponses: 3
    Dernier message: 10/05/2007, 07h43

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