Exececuté une requête sous Access

Résolu
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 - 21 févr. 2005 à 15:52
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 21 févr. 2005 à 17:55
Je ne sais pas très bien programmer sous access et j'ai donc un question que je pense facile à répondre, sa n'empêche que je n'y arrive pas seul...
Sous access j'aimerai savoir comment on execute une requête à partir du mode de codage.
En fait je veux mettre une valeur contenue dans une table dans une variable, ce qui doit donner un truc du genre :

Dim var as Integer
var = DoCmd.truc("SELECT Taches.NumTables FROM Taches WHERE Taches.Key=1;")
Ou peut être
var = DoCmd.truc("Nom_de_requete")
Nom_de_requete serai une requete créée avec le mode de création de access.

merçi d'avance
SupraDolph.

9 réponses

Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
21 févr. 2005 à 16:46
Salut ;O)

Access intègre depuis longtemps une fonction de domaine très pratique et rapide :
DLookup

Exemple : je veux connaître l'adresse (qui se situe dans le champ adresse) d'un client ayant comme code client 'LECODE' (situe dans le champ Code client) dans la table Clients :

Dim MaVariable As Variant


'Je recherche dans la table Client le champ [Code client] ayant comme valeur LECODE, et retourne moi la valeur du champ Adresse pour l'enregistrement trouvé dans la variable MaVariable
MaVariable = DLookup("Adresse", "Clients", "[Code client]='LECODE'")

MsgBox "L'adresse du client est : " & MaVariable

J'espère que cela répondra à ton attente.

Guy
3
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 16:13
DoCmd.RunSQL ("TaRequete")


--------------------------------------------------------------------------------
Phantom_2005
0
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
21 févr. 2005 à 16:20
Merci de me répondre si vite, mais ça ne fonctionne apparament pas pour SELECT car j'ai déjà essayer cette solution :


msg : Une action ExécuterSQL nécessite un argument consistant en une instruction SQL.

En revanche pour CREATE TABLE, UPDATE... elle fonctionne.

SupraDolph.
0
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 16:24
En effet ca marche pour des requetes Action (CREATE, UPDATE et DELETE) mais ne fonctionne pas pour les requetes Sélection (SELECT).

Ca dépend ce que tu souhaite faire de cette requete?

--------------------------------------------------------------------------------
Phantom_2005
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
21 févr. 2005 à 16:43
en fait je veux créé des tables nommée Tables1, Tables2, ... , TablesN
Je concerve N dans une table, et lors de la création d'un nouvelle table je veux le ressortir pour connaitre le numéro puis l'incrémenté de 1.
DoCmd.RunSQL (" CREATE TABLE Taches" & N & " (Personnes VARCHAR(50), Liste VARCHAR(50), Description LONGTEXT, Temps VARCHAR(50), Statut VARCHAR(50), DepartDRP TIMESTAMP);")

SupraDolph.
0
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
21 févr. 2005 à 17:05
Merci Guy (alias Neo.balastik)
C'est exactement ce que je recherchai !
Tu viens de me débloqué et sa fait un moment que je me prennais la tête la dessus.

SupraDolph.

SupraDolph.
0
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 17:42
Tu peux peut etre passer par une liste avec ton champs TablesNum comme source de la liste.
Ensuite tu récupere la valeur de ton Champs dans la liste.

Liste1.RowSource = "Taches"
Liste1.SetFocus
Liste1.ListIndex = 0
N = Liste1.ItemData(0)

J'espère que ca marchera (je ne connais pas d'autres astuces)
bonne prog

--------------------------------------------------------------------------------
Phantom_2005
0
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
21 févr. 2005 à 17:45
>>Neo.balastik

Merci je ne connaissais pas non plus cette fonction
@+

--------------------------------------------------------------------------------
Phantom_2005
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
21 févr. 2005 à 17:55
Re; O)

Voir aussi les autres fonctions de regroupement Domaine :

DAvg
DCount
DFirst
DLast
DMin
DMax
DStDev
DStDevP
DSum
DVar
DVarP

Voyez l'aide Access

Guy
0
Rejoignez-nous