erreur 3073

erreur 3073 - SQL/NoSQL - Programmation

Marsh Posté le 09-01-2009 à 11:19:37    

Bonjour,
En fait j'ai un problème lors de l'excution de mon code VB (sous access):
 
Sub Nu()
DoCmd.SetWarnings False
 
DoCmd.RunSQL "UPDATE Feuil1 SET Feuil1.Champs2 = (SELECT MAX(Champs2) FROM Feuil1) + 2 Where Feuil1.case = True; "
 
DoCmd.SetWarnings True
End Sub
 
En effet y a l'erreur 3073 " l'opération doit utiliser une requête qui peut être mise à jour".
 
PS : le problème est dans le " (SELECT MAX(Champs2) FROM Feuil1)" car quand je l'enlève ça marche.
 
Help please et merci.

Reply

Marsh Posté le 09-01-2009 à 11:19:37   

Reply

Marsh Posté le 09-01-2009 à 14:15:00    

Finalement il parait que le problème vient du fait qu'access ne comprend pas du SQL "pur" donc j'ai adapté mon code en :
 
Sub Numé()
DoCmd.SetWarnings False
 
DoCmd.RunSQL "UPDATE Feuil1 SET Feuil1.Champs2 = DLookUp("[Champs2]", "Feuil1", "[Champs2] = MAX[Champs2]" ) Where Feuil1.case = True;  "
 
DoCmd.SetWarnings True
End Sub
 
Mais à ce qui parait j'ai un problème avec les " mais je vois pas comment le résoudre.

Reply

Marsh Posté le 12-01-2009 à 14:56:24    

Personne??

Reply

Marsh Posté le 12-01-2009 à 15:33:24    

\" au lieu d'un " tout seul? (échappement du caractère pour signaler que c'est pas la fin du texte global)
utilisation de ' au lieu de " ? (utilisation d'un autre délimiteur)

Reply

Marsh Posté le 12-01-2009 à 16:42:09    

J'ai fait effectivement comme t'as dit omega2 :
 
DoCmd.RunSQL "UPDATE Feuil1 SET Feuil1.Champs2 = DLookup('[Champs2]', 'Feuil1', '[Champs2] = MAX(Champs2)') Where Feuil1.case = True;"
 
Mais une nouvelle erreur apparait "erreur d'execution 3093 : inconnu ".
 
Help please.

Reply

Marsh Posté le 12-01-2009 à 17:21:09    

Au fait l'erreur d'execution qui apparait est la 3096 et pas la 3093 comme j'ai signalé dans mon message précedent.

Reply

Marsh Posté le 12-01-2009 à 18:33:55    

C'est bon j'ai résolu le problème.
Merci.

Reply

Sujets relatifs:

Leave a Replay

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