Requete SQL ds Access

Requete SQL ds Access - SQL/NoSQL - Programmation

Marsh Posté le 18-09-2006 à 13:45:38    

Bonjour
 
j'ai 2 tables de meme structure :
... Date NumeroCommande Numerofacture ....
 
Mais dans la deuxieme table (_2) les enregistremens n'ont pas le champ numerofacture renseigné : je souhaiterais donc le remplir avec les données de la premiere (_1), en faisant une "jointure" sur NumeroCommande.
 
Cela me donne une requete du style :
 
UPDATE _2 SET [_2].[NUM FACTURE] = (SELECT [NUM FACTURE] FROM _1 WHERE [_1].[NUM COMMANDE]=[_2].[NUM COMMANDE]) WHERE Exists (SELECT [NUM FACTURE] FROM _1 WHERE [_1].[NUM COMMANDE]=[_2].[NUM COMMANDE]);
 
malheureusemen cela ne fonctionne pas. avez vous une idée ?

Reply

Marsh Posté le 18-09-2006 à 13:45:38   

Reply

Marsh Posté le 18-09-2006 à 14:14:33    

essaie cette autre syntaxe :
 

Code :
  1. update _2
  2. set [num_facture] = _1.[num facture]
  3. from _1
  4. where [num commande] = _1.[num commande]


 
avec un peu de pot ça marchera.
 
sinon, regarde dans la doc d'access

Reply

Marsh Posté le 18-09-2006 à 14:16:43    

Non, j'ai deja essayé...
 

MagicBuzz a écrit :

essaie cette autre syntaxe :
 

Code :
  1. update _2
  2. set [num_facture] = _1.[num facture]
  3. from _1
  4. where [num commande] = _1.[num commande]


 
avec un peu de pot ça marchera.
 
sinon, regarde dans la doc d'access


Reply

Marsh Posté le 18-09-2006 à 14:28:43    

goto doc alors :spamafote:
 
y'a pas deux sgbd qui marchent pareil pour ce type de choses.
mais cela ne m'étonnerait pas qu'Access n'accepte pas !
 
tu peux toujours passer par une "requête" (une vue en fait) et faire un update dessus, ça ça marche.
 
c'est ça qui est con avec Access. il supporte "rien" au niveau syntaxe, mais on peut toujours contourner avec des "requêtes", ce qui prouve que le moteur est très abouti en réalité

Reply

Marsh Posté le 18-09-2006 à 14:30:06    

genre ta "requête".
 
select _1.numfacture nf1, _2.numfacture nf2
from _1, _2
where _1.numcommande = _2.numcommande
 
=> ensuite tu fais :
 
update marequetequitue
set nf2 = nf1

Reply

Sujets relatifs:

Leave a Replay

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