Afficher le résultat de ma requete VBA (noob) - VB/VBA/VBS - Programmation
Marsh Posté le 17-08-2006 à 23:53:57
Les lignes de code sont correctes (mis à part qu'il est idiot de sélectionner uniquement id_demandé, quand on connait déjà id_demandé), et il est normal que le résultat ne soit pas visible.
La requête va chercher le ou les enregistrements qui correspondent au SELECT, et elle le/les met dans rst.
Pour voir le contenu de rst, il faudrait ajouter, par exemple
MsgBox(rst![id_demandé]) |
Ou bien, il est possible de se créer un écran (un formulaire) contenant un champ, appelé par exemple champ1, que l'on peut remplir avec le résultat de la requête par
Me![champ1] = rst![une_autre_colonne_du_select] |
Pour "ouvrir une nouvelle table", il faudrait créer une nouvelle table, insérer le résultat de la requête dans cette table, puis ouvrir cette table, ce qui est peut-être un peu compliqué.
Peut-être qu'il serait plus simple de passer par CurrentDb.Execute "Select ..." mais je ne l'ai pas testé.
Ou bien utiliser DoCmd.OpenQuery "le_nom_dune_requete"
Marsh Posté le 18-08-2006 à 09:47:39
Merci
en fait dans mon exemple je l'ai mis qu'un champ à afficher par la requete, mais en réalité je voudrais afficher la ligne comple avec tous les champs, pour pouvoir effectuer des modif sur cette ligne
je voudrais qu'il se passe la meme chose qu'avec une requete sql access
Marsh Posté le 18-08-2006 à 12:49:09
plus grossierement
j'ai ça
id_select = Me.id_demande
Monsql = "Select * From T_DEMANDE Where id_demande = " & id_select
mais il me manque tout ce qu'il faut autour pour que le resultat de ma requete s'affiche sous forme de tableau.
je suppose que j'ai ce que je cherche dans Monsql, mais je ne sais pas comment l'afficher ou l'executer
merci de votre aide
Marsh Posté le 17-08-2006 à 16:08:09
Bonjour
je veux executer une requete paramétrée et afficher le résultat
au final je pense avoir trouvé le bon code mais il doit me manquer un truc pour que le tableau de mon résultat s'affiche
pas de message d'erreur, il ne se passe rien
Private Sub id_demande_DblClick(Cancel As Integer)
id_select = Me.id_demande
Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
Dim sSQL As String
' Ouverture de la base de données
Set db = CurrentDb
sSQL = "SELECT T_DEMANDE.id_demande FROM T_DEMANDE WHERE T_DEMANDE.id_demande = " & id_select & ";"
' Ouverture du recordset
Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
End Sub
Le but c que le double-clique sur un champ d'une table affichée ds un formulaire, ouvre une nouvelle table ne contenant que cette ligne
la variable id_select contient bien ce que je veux, j'ai pu tester.