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 :

Création requête SQL en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 37
    Par défaut Création requête SQL en VBA
    Bonjour

    J'aimerai diminuer le nombre de requête dans ma base de données. Pour cela, je souhaite en placer quelques unes dans un module mais je ne sais pas comment m'y prendre.

    Explication pour supprimer 4 requêtes
    Base de données :
    tblRecette (recetteID | NomRecette)
    tblIngredient (IngredientID | Ingredient)
    tblRecetteComposition (RecetteCompositionID | RecetteID | IngredientID | Quantite|
    tblIngredientPrix (IngredientPrixID | IngredientID |DatePrix | Prix)

    Requêtes
    1 : Calcul poids total des ingrédients dans la recette
    2 : Calcul du pourcentage des ingrédients dans une recette de 100 grammes (je souhaite connaitre, pour toutes les recettes le prix aux 100g)
    3 : Sélection du prix en fonction de la dernière date qui est elle même inférieure à celle retournée par le formulaire
    4 : Calcul du prix en combinant les différents résultats des requêtes.

    Objectif
    Supprimer ces 4 requêtes, ci cela est possible et les mettre dans un module (je trouve cela plus professionnel et plus compréhensible avec le commentaire du code)

    Pourrirez vous m'indiquer les étapes à suivre ou un exemple de code ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    tu peux lire un peu de tuto a ce sujet :
    http://warin.developpez.com/access/dao/?page=partie_5

    ainsi que dans la
    http://access.developpez.com/faq/?page=SQL
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 37
    Par défaut
    Bonjour

    en faisant une recherche précédente, j'avais pris connaissance de ces cours.

    J'arrive à récupérer des résultats d'un requête mais si celle ci n'est pas liée à un formulaire.
    Or la mienne à un critère provenant d'un formulaire.

    erreur d'exécution 3061. trop peu de paramètres. 1 attendu.

    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
     
    Public Function RequeteListe()
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
     
      ' Référence à la requête
    Set qdf = CurrentDb.QueryDefs("rcritere")
      Set rcs = qdf.OpenRecordset
    ' récupération de la première colonne de la requete 'rcritere'
    If Not rcs.EOF Then
          'S'il n'est pas vide on va au premier enregistrement
          rcs.MoveFirst
          'Tant qu'on est pas arrivé à la fin du recordset
          While Not rcs.EOF
               Ingredient = Ingredient & rcs.Fields(0).Value & " "
              'On passe à l'enregistrement suivant
              rcs.MoveNext
          Wend
    End If
    MsgBox Ingredient
    Set res = Nothing
    Set qdf = Nothing
     
    End Function
    merci de votre aide

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 37
    Par défaut
    J'ai réussi. Le problème venait de ma requête qui elle même avait un résultat de requête.

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

Discussions similaires

  1. Requête SQL en VBA
    Par e040098k dans le forum VBA Access
    Réponses: 14
    Dernier message: 27/04/2007, 11h50
  2. Réponses: 6
    Dernier message: 15/02/2007, 13h46
  3. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  4. Logiciel création requêtes SQL pour SQL2000
    Par Thomad dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/06/2006, 09h06
  5. Conversion d'une requête SQL en VBA
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/10/2004, 17h33

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