Erreur dans la dernière ligne de mon code visual basic

MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015 - Modifié par NHenry le 10/01/2015 à 22:47
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 10 janv. 2015 à 22:49
Bonjour,
voici mon problème, dans mon code, je crée une requete sql, puis je voudrais l'ouvrir, et je n'y arrive pas, mon code crée la requete, puis quand je veux l'ouvrir il me dit "argument non valide.
qui peut m'aider
Dim db As Database 
Dim result As QueryDef 
Dim rs As Recordset 

Set db = CurrentDb 

Set result = db.CreateQueryDef("Fournisseurs", _ 
 "SELECT T_fournisseurs.Raison_sociale, T_type_materiel.Libele, T_materiel.Libele, T_stock_materiel.Date, T_stock_materiel.Entree, T_stock_materiel.Sortie, T_raison_stock.Libele, T_materiel.Prix_unite, T_personnel.Prenom FROM (T_fournisseurs INNER JOIN (T_type_materiel INNER JOIN T_materiel ON T_type_materiel.N_type_materiel = T_materiel.N_type_materiel) ON T_fournisseurs.N_fournisseur = T_materiel.N_fournisseur) INNER JOIN (T_personnel INNER JOIN (T_raison_stock INNER JOIN T_stock_materiel ON T_raison_stock.N_raison_stock = T_stock_materiel.N_raison_stock) ON T_personnel.N_personnel = T_stock_materiel.N_personnel) ON T_materiel.N_materiel = T_stock_materiel.N_materiel WHERE (((T_stock_materiel.Date)>=[Formulaires]![F_listes]![du] And (T_stock_materiel.Date)<=[Formulaires]![F_listes]![au]) AND ((T_stock_materiel.Sortie)=0))") 

Set rs = db.OpenRecordset("Fournisseurs", acTable, , acReadOnly)

8 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
5 janv. 2015 à 20:45
Bonsoir,

As-tu vérifier la validité de ta requête dans ton SGBD ?
Es-tu sûr du format de OpenRecordset ?
0
MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015
5 janv. 2015 à 21:00
en fait mon code fonctionne, la requete se crée correctement, mais mon code pour tapper dedans ne fonctionne pas, le but étant d'ensuite créer une boucle pour en extraire des données.
Sinon je ne comprends pas ta question sur la validité de la requete car elle se crée correctement
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
5 janv. 2015 à 21:14
A la place de "acTable", ce ne serait pas un truc du genre "acView" (je n'ai pas regardé la doc de la méthode).
0
MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015
5 janv. 2015 à 21:04
je voudrais l'ouvrir comme si c'était une table
0
MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015
5 janv. 2015 à 21:27
j'ai essayé le AcView, mais ça ne marche pas, j'ai aussi regardé une methode, amis je ne comprends pas tout
0

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

Posez votre question
MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015
5 janv. 2015 à 21:35
dans mon instruction, après le nom de la requete qui est Fournisseurs il me demande, Type, Options, LockEdit, et c'est dans ces trois arguments que réside l'erreur

comment l'ouvrir autrement pour taper dedans avec

rs.MoveFirst


While Not rs.EOF


MsgBox (rs![Raison_sociale])

rs.MoveNext

Wend
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
5 janv. 2015 à 21:37
Question, tu fais quoi, du ADO, DAO ou ADO.NET ?
0
MrFive Messages postés 6 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 5 janvier 2015
5 janv. 2015 à 21:51
je ne suis pas sur mais je crois que c'est du ADO
quelle différence?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
10 janv. 2015 à 22:49
D'après la documentation :
http://msdn.microsoft.com/en-us/library/office/ff195966%28v=office.15%29.aspx

Set rs = db.OpenRecordset("Fournisseurs", acTable, , acReadOnly)
devrait être de la forme
Set rs=result.OpenRecordset(dbOpenSnapshot)

Si tu veux créer une vue, il faut le faire dans ta base de données d'origine.
0
Rejoignez-nous