Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2011, 18h01   #1
Invité régulier
 
Gilles
Étudiant
Inscription : mai 2010
Messages : 26
Détails du profil
Informations personnelles :
Nom : Gilles
Âge : 21
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 26
Points : 7
Points : 7
Par défaut Requete / variable sous access

Bonjour,

Je suis débutant sous access et je ne comprend pas comment obtenir le résultat d'une requete dans une variable.
Je pense que je suis pas très clair alors je vous montre mon exemple :


Code :
1
2
 
nocircuit = "select no_circuit from trajet where no_trajet=" & notrajet & ";"

Ma variable notrajet contient un numero de trajet, j'ai déclaré nocircuit en string et mon problème est que j'aimerai obtenir le résultat de la requête et non le texte de la requete soit "select [...] no_trajet=2" ...
Comment obtenir le résultat dans la variable et non le texte de la requete ?

ps: j'ai chercher dans les faq mais n'ayant vraiment pas trouver une reponse qui me convenait j'ai opter pour poster sur le forum :s
Reality_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2011, 20h02   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

On ne peut pas mettre le résultat d'une requête de sélection dans une variable.
Une requête de sélection renvoie un jeu d'enregistrement.
C'est incompatible avec les types de variables standards.

Il faut passer par un objet recordset ou utiliser la fonction Dlookup.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim db as DAO.Database, rs as DAO.Recordset
Dim strSQL as String
 
set db= currentDb
set strSQL = "select no_circuit from trajet where no_trajet=" & notrajet & ";"
' Ouvrir un recordset dont la source est une instruction SQL
set rs = db.OpenRecordset(strSQL)
' Récupérer le contenu de la première colonne de la première ligne
If Not rs.EOF Then nocircuit = rs(0)
' Fermer le recordset
rs.Close
Set rs = Nothing
Code :
1
2
Dim nocircuit As Variant
nocircuit = Dlookup("no_circuit", "trajet", "no_trajet=" & notrajet)
Regardes le tutoriel Les Fonctions de Domaine dans Access

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 22/01/2011, 20h50   #3
Invité régulier
 
Gilles
Étudiant
Inscription : mai 2010
Messages : 26
Détails du profil
Informations personnelles :
Nom : Gilles
Âge : 21
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 26
Points : 7
Points : 7
Bonsoir LedZeppII,

Merci beaucoup pour ta réponse, en effet j'avais regarder des tuto sous access mais pas le bon, j'avais quand même vu le Recordset mais je ne penser pas que cela pouvais être la solution. Je viens cependant de la tester, et en effet, tout marche impeccable.

Merci beaucoup pour ton aide précieuse.

En plus tu as argumenter le code, cela m'as permis de le comprendre
Reality_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h41.


 
 
 
 
Partenaires

Hébergement Web