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

VBA Access Discussion :

Remplir avec un code VBA un champ de requête [AC-365]


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut Remplir avec un code VBA un champ de requête
    Bonsoir à tous,

    Je voudrais remplir un champ d'une requête suivant la valeur d'un autre champ.

    par exemple de 0 à 3 mettre 1
    de 4 à 6 mettre 2 etc.

    J'ai tenté de mettre en place un code VBA, mais impossible de créer une fonction dans un module.

    Il manque le début et je ne comprends pas, pouvez-vous m'expliquer ? comment inscrire dans mon champ de ma requête ?

    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
    Dim db As Database
    Dim rs As Recordset
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset("MaRequête")
     
    If Not rs.BOF And Not rs.EOF Then
        rs.MoveFirst
        Do While Not rs.EOF
            rs.Edit
            If rs!age >= 0 And rs!age <= 3 Then
                rs!categorie = 1
            ElseIf rs!age >= 4 And rs!age <= 6 Then
                rs!categorie = 2
            ' etc...
            End If
            rs.Update
            rs.MoveNext
        Loop
    End If
     
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Merci d'avance et bonne soirée.

  2. #2
    Membre Expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 887
    Par défaut
    Bonjour Nounours1,

    La fonction "Switch" ou " PremVrai" en français devrait faire ce que vous désirez. Elle peut être utilisée directement dans la requête comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  Age, Switch([Age]>6,3,[Age]>3,2,[Age]>0,1) AS Categorie
    FROM VotreTable;
    Cette fonction retourne la première expression rencontré vrai.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur :resolu:

  3. #3
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    Bonjour Robert,

    Merci pour votre réponse, il faut coller la sous requête dans un nouveau champ de ma requête ?
    J'ai une information que je dois mettre la sous requête entre parenthèses.

    Merci encore,

    Bon dimanche.

  4. #4
    Membre Expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 887
    Par défaut
    Bonjour Nounours1,

    Pas de sous requête. Vous ajouter le champ "Categorie"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Switch([Age]>6,3,[Age]>3,2,[Age]>0,1) AS Categorie
    à votre requête. Si vous utilisez le QBE d'Access, il faudra remplacer les "," par ";" si votre logiciel est français.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur :resolu:

  5. #5
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    Merci, et à bientôt

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/01/2012, 16h27
  2. Zone de liste remplie avec du code VBA
    Par titine31 dans le forum VBA Access
    Réponses: 9
    Dernier message: 01/08/2007, 14h26
  3. Modifier le mdw de sécurité avec du code vba?
    Par Hydex dans le forum Sécurité
    Réponses: 6
    Dernier message: 07/07/2007, 18h06
  4. Faire varier les plages d'un graphique avec du code vba?
    Par Hydex dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/07/2007, 15h19
  5. Réponses: 1
    Dernier message: 19/06/2007, 11h56

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