EXtraire une valeur d'une requête SQL pour l'exploiter dans vba

EXtraire une valeur d'une requête SQL pour l'exploiter dans vba - VB/VBA/VBS - Programmation

Marsh Posté le 17-10-2005 à 12:05:36    

Bonjour à tous,
 
J'ai un souci avec access et la programmation sous vba.
Here is le probleme:
Je souhaite créer une fonction qui renvoie un numéro de compteur kilométrique contenu dans une table T_Compteurs, telle que la fonction me permette de renvoyer le plus grand  
Ca donnerai en définition :
 
Function Maxcompteur(Numvéhicule)
 
J'ai une requête sous access qui me renvoie le résultat, mais je ne sais pas comment faire pour tirer le résultat dans VB pour retourner la valeur par le biais de ma fonction.
 
Merci d'avance Ô grands experts pour l'aide apportée !!!  :ange:

Reply

Marsh Posté le 17-10-2005 à 12:05:36   

Reply

Marsh Posté le 17-10-2005 à 13:19:48    

Si je me souviens bien, le résultat de l'exécution d'une requete Access peut être récupéré dans un recordset (DAO, ADO...).
Il ne te reste qu'à lire celui-ci et notamment le champ résultat que tu veux
 
exemple: si ta requete Access est de la forme (sous réserve de la syntaxe exacte, car je n'ai pas Access sous la main)
Select Max(T_compteur) As Compteur From Table
 
Alors ton recordset comportera un champ Compteur que tu pourras lire comme le champ d'une table.
 
Si ton problème se situe au niveau de la gestion du recordset en VB, cherche sur le forum. D'autres post sur le sujet ont certainement été traités.
 

Reply

Marsh Posté le 17-10-2005 à 15:06:40    

Big problème incompréhensible : J'ai écrit ce code dans un module et j'exécute la fonction à l'aide d'un bouton pour tester, et ce con d'access me dit l'erreur suivante : "Une action ExécuterSQL nécessite un argument consistant en une instrution SQL"... j'ai beau chercher la je suis sur le cul.. HEEEEELP !!
 
Function Maxcompteur()
      DoCmd.RunSQL " SELECT Max(Compteurs.Compteur) AS MaxDeCompteur, Max(Compteurs.[Date de saisie]) AS [MaxDeDate de saisie]" & _
                " FROM Compteurs GROUP BY Compteurs.[N° matériel] HAVING (((Compteurs.[N° matériel])='CME 01')) "
 
End Function

Reply

Marsh Posté le 17-10-2005 à 15:28:50    

OK j'avais pas mis de INTO

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed