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 :

Utilisation de requête dans du VBA [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Utilisation de requête dans du VBA
    Bonsoir, tout d'abord voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim rst, rsr2, rst3, rst4 as string
    dim rec, rec2, rec3, rec4 as recordset
    rst =" select MSN, désignation from Avion where Id_Avion = "& me.ancien_avion
    rst2 =" select MSN, ésignation from Avion where Id_Avion = "& me.nouvel_avion
    Set rec = CurrentDb.OpenRecordset(rst)
    Set rec2 = CurrentDb.OpenRecordset(rst2)
    rst3 = "select "& rec & ".MSN, "& rec & ".designation from "& rec
    rst4 = "select "& rec2 & ".MSN, "& rec2 & ".designation from "& rec2 
    Set rec3 = Currentdb.openrecordset(rst3)
    Set rec4 = currentdb.openrecordset(rst4)
    Ce qui ne marche pas sont mes "& rec & ", il y a une incompatibilité de type.
    Quelqu'un a une idée ?

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim rst, rsr2, rst3, rst4 as string
    dim rec, rec2, rec3, rec4 as recordset
    Ceci ne fonctionne pas, il n'est pas possible de cumuler les variables sur une seul déclaration de type, au mieux tu peux économiser les Dim mais pas les Types.

    voici ce qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim rst As String, rsr2 As String, rst3 As String, rst4 As String
    Dim rec As Recordset, rec2 As Recordset, rec3 As Recordset, rec4 As Recordset
    Sans déclarer les Types par défaut VBE interprète la variable en tant que Variant.

    Attention il y a une erreur sur la deuxième variable String rsr2 ald de rst2. la typo est bizarre, pour une variable String on met généralement str

    http://argyronet.developpez.com/office/vba/convention/

    @++

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    En plus des informations précédentes tu utilises mal tes recordset.

    Sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst3 = "select "& rec & ".MSN, "& rec & ".designation from "& rec
    Tu veux récupérer les valeurs du recordset rec, hors il faut que tu stipules le champ, tu récupères quoi ? La donnée du champ MSN ou du champ Désignation (les caractères accentués sont à proscrire).

    De plus, j'ai l'impression que tu veux récupérer le nom d'une table qui te servira dans rst3, donc cela voudrait dire que tu as une multitude de tables identiques , je vois là un gros problème de conception.

    Philippe

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Bonjour,
    Je n'ai pas écrit les requêtes en entier, étant sur un téléphone portable c'est un peu long^^
    En fait mes requêtes rst et rst2 sont des requêtes de sélection, l'une pour le premier avion, l'autre pour le nouveau.
    Les requêtes rst3 et rst4 sont des requêtes de non correspondance, l'une correspond a ce qu'il n'y a pas dans le nouvel avion et l'autre dans l'ancien.
    Je suis désolée, de pas avoir tout écrit, je ne pensais pas que c'était important.
    Je ne sais pas comment faire appel aux requêtes de sélection pour les deux requêtes de non correspondance, je ne peux pas créer des requêtes sous access car les conditions dans les requêtes de sélections dépendent de ce que l'utilisateur rentrera dans le formulaire.
    J'espère avoir mieux expliqué, désolée encore^^

  5. #5
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    Ouha...

    c'est encore plus brouillon là

    Que veux tu faire exactement ?

    @+

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    C'est un peu dur à expliquer simplement^^
    J'ai trouvé une solution, je passe par des tables, c'est plus simple à utiliser.
    Merci pour vos réponses.

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

Discussions similaires

  1. Utilisation de requête dans le bootstrap
    Par guence dans le forum MVC
    Réponses: 2
    Dernier message: 24/03/2010, 17h23
  2. [AC-2003] Plus rapide : Requête dans module VBA ou en dur?
    Par buzz73 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/07/2009, 13h44
  3. Optimiser les requêtes dans du vba
    Par bobosh dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/08/2008, 15h36
  4. Réponses: 3
    Dernier message: 11/07/2008, 17h12
  5. Utilisation des bookmarks dans access VBA
    Par nikolla dans le forum VBA Access
    Réponses: 1
    Dernier message: 31/05/2007, 22h29

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