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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

  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

  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