h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009
-
29 juil. 2008 à 18:13
Utilisateur anonyme -
24 juin 2009 à 20:37
Bonjour,
je veux exécuter une requette sql à partir de vba access (modul)
l'objectif de ce programme est de récuperer la valeur d'un critère et de l'appliquer dans plusieurs requettes
voila un appercu de mon code :
Dim val As String
Dim s As String
Dim rst As DAO.Recordset
Dim bds As DAO.Database
Set bds = CurrentDb
val = ("Saisir une date"))
s = "SELECT .NB_COL, Sum([Total unités]) AS [SommeDeTotal unités] FROM matable GROUP BY NB_COL, [Date] HAVING ((([Date])=[" & val & "]));"
Set rst = bds.OpenRecordset(s, dbOpenTable, dbAppendOnly)
Mais le problème est que jai tourjours un message d'erreur,
Merci de votre aide
Un problème = des solutions
programation .....
apparemment dao genere un erreur a l ouverture du recordset
1- ouvre ton recordset avec un Type dbOpenDynaset ainsi :
set rRecordset= dDatabase.OpenRecordset(sSqlcommande,dbOpenDynaset,..)
2- pour l avenir prevoit de préinformer ton code en inserant
avant ta ligne de code suceptible de generer une erreur
la routine ligne suivante :
ON ERROR GOTO ERROR1
... ta ligne de code possiblement "incertaine" ...
... suite de ton code
... derniere ligne de ton code (hors End Sub ou End Function etc)
... quitter la procedure
EXIT Sub (ou Function, etc)' pour ne pas lire ERROR1 si aucune erreur
ERROR1: ' à placer avant le End Sub ou end function etc
MSGBOX VBA.ERR.DESCRIPTION ' (affiche, ou recupère autrement)
...si possible : code reecrivant la ligne ayant provoqué l erreur
... retour a la ligne ayant provoqué l erreur(GOTO 0)
...a defaut:retour a la ligne suivante RESUME NEXT... etc
...ou bien fin de la routine EXIT ..
...fermer la procedure
End Sub (ou End Function etc ) ' fin de ta routine