Problème de requète Access en VBA

Shiva9502 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Shiva9502 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous,

Voila, débutant en VBA j'ai un petit problème avec ma requête SQL de mise a jour.
En effet, je dois comparer des champs dans une table à des propriétés de fichiers. Mais mon problème c'est que ma requête SQL n'est pas reconnue par l'éditeur VB de access.

détails:

je dois tout d'abord récupérer le nom et la date de dernière modification du fichier (jusque la pas de problème). Le nom est stocké dans la variable "nom_complet" et la date dans "date_modif"
Mon but serait de comparer la variable au champ ISBN d'une table. Au moment ou mon programme trouve la concordance avec mon champ ISBN , le programme teste si la "date_modif" est supérieur ou égal au champ "Google_date". Si oui un champ "Google" doit passer à faux, sinon rien ne se passe

Voila ma requête SQL qui n'est pas prise en compte (et même non reconnu même si je ne sais pas pourquoi.

requête:

sql2 = "UPDATE [Environnement], [produits] SET [produits].[Google] = False WHERE ((nom_complet=[Produit].[ISBN] And dernier_up >=[Environnement].[dernier_up]));"

si quelqu'un à une idée, ça me retirerai une épine du pied.
Merci d'avance.
Nico

3 réponses

moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
bonjour

tu essais de mettre a jour 2 table ds ta requete!!!

sql2 = "UPDATE [Environnement], [produits] SET [produits].[Google] = False WHERE ((nom_complet=[Produit].[ISBN] And dernier_up >=[Environnement].[dernier_up]));"

tu peux tester :


sql2 = "UPDATE produits SET Google = False WHERE ((nom_complet =[Produit].[ISBN] And dernier_up >=[Environnement].[dernier_up]));"

IL reste encore un pb nom_complet c une variable de ton code vba tu ne peux dc pas le comparer ds ta requete
il faudrais un champ ds ta base meme si il né pas ds ta table
0
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
Le mieux je pense ce serais de passer par un recordset:

du genre:
dim db as database
dim rs as recordset
set db = currentdb
set db.openrecordset "nom_de_ta_table"

with rs
do until .eof
if ......
toute t conditions

Si tu ne connais pas les RS je te donnerai un coup de main
0
Shiva9502 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour moiced59,

merci pour ces informations, je n'avais pas vu ces informations avant car j'étais avec mon responsable en réunion.

Donc, si je te suis bien le mieux serait d'utiliser la fonction recordset? je vais donc travailler sur ce point.

Cependant tu me dis que nom_complet risque de poser un problème car c'est une variable mais dans ce cas je risque d'avoir aussi un soucis avec dernier_up qui est aussi issu d'une table.

entre-temps, j'ai aussi tester par l'éditeur de requête d'access mais ça ne résout pas mon problème. :'(

Enfin bref tout ça pour dire que je te remercie pour les infos et je tiendrais tout le monde au courant via des posts réguliers. (On sait jamais ça servira peut être à d'autres ;)

Nico
0