VBA access requete SQL et fonction() - VB/VBA/VBS - Programmation
Marsh Posté le 06-03-2007 à 15:41:25
peux tu nous donner le code de départ stp ? Perso je comprends pas encore la question
Marsh Posté le 06-03-2007 à 16:06:16
alors voilà
accrocher vous a vos meninges je vais essayer d'etre clair (j'ai pas l'habitude)!
j'ai une table avec plein de champ donc un champ "date de creation"
j'ai une fonction que permet de calculer le nombre de jour ouvré entre deux dates.
le but etant:
dans la table, dans un champ nommé "jours ouvrés" inscrire le nombre de jous ouvré separant la date de creation de la date du jour en cours
Marsh Posté le 06-03-2007 à 17:42:28
ah oki
ben un petit UPDATE a balancer dans ta requete SQL devrait suffire non ?
Marsh Posté le 07-03-2007 à 10:42:10
bin le probleme c'est que quand je met la fonction dans la requete j'ai un message d'erreur "objet requis"
quand je remplace la fonction par une valeur fixe ça fonctionne
et quand j'execute la fonction hors de la requete pas de probleme
os cour
Marsh Posté le 07-03-2007 à 12:21:10
je repete donc ma question : peus tu nous passer un petit bout de code stp ?
Marsh Posté le 07-03-2007 à 13:27:30
voila ma requete
Code :
|
"Table_Suivi_Incident" etant ma table,
"[ouvré1]","[mailj0]","[clos]" des champs de cette table
et
"NbOpenDay" une fonction calculant le nombre de jour ouvré entre [mailj0] et etad (la date d'aujourd'hui)
Marsh Posté le 07-03-2007 à 16:23:43
si tu as comme retour un integer, pas la peine de mettre des " " il me semble...
Marsh Posté le 07-03-2007 à 17:31:06
Pas de bol subkiller, un problème de PC m'a empêché de te répondre bien plus tôt.
La syntaxe « CurrentDb.Execute » est du VBA
La syntaxe « update Table_Suivi_Incident set » est du sql Access
Le sql Access accepte de lancer une fonction Access (si ma mémoire ne me joue pas de tour)
Mais le VBA n'a pas accès aux infos sql directement
Pour être plus clair, quand tu écris :
"update Table_Suivi_Incident set [ouvré1]=" & " '" & NbOpenDay([mailj0], etad) & "'" |
en fait, tu sors la syntaxe [mailj0] de son contexte sql Access et VBA ne comprend pas de quoi tu parles.
C'est surtout un problème de guillemets mal placés je pense et de valeur retournée par NbOpenDay
Voici ma proposition de code:
"update Table_Suivi_Incident set [ouvré1]= CStr(NbOpenDay([mailj0], etad))" |
Avec la fatigue je sais pas si je suis clair mais j'espère que tu y trouveras de l'inspiration
Marsh Posté le 08-03-2007 à 11:26:48
hach maintenant il me demande un argument (erreur 3061)
plus ça va moins je comprend
Marsh Posté le 08-03-2007 à 16:01:13
bon bah tout compte fait j'ai contourné le probleme en passant par un recordset
Code :
|
en tout cas merci jpcheck
Marsh Posté le 27-03-2007 à 13:49:50
bonjour,
j'ai un probléme sur access, j'ai une bdd en réseau, on m'a été demandé d'effectuer un filtre par opération. sachant que ya pas de champs " operation, juste que le code correspendant à chaque opération est mentionné devant la designation dans le champ "désignation". ce qui veut dire que j'ai 2 infos dans un seul champ.
la bdd contient plus de 10000 enregistrements. et on se dispose de 8 opérations ( 8 codes).
comment peut-on reussir à faire un tri dans le tableau croisé dynamique par code d'opération?
merci de m'apporter votre aide j'en ai vivement besoin.
merci d'avance.
Marsh Posté le 06-03-2007 à 15:39:01
bonjour
comment puis-je faire executer une fonction() dans une requete SQL "mise a jour" en VBA dans access 2002?
merci d'avance
subkiller