Problème de date dans requête imbriquée

Problème de date dans requête imbriquée - SQL/NoSQL - Programmation

Marsh Posté le 19-07-2004 à 10:30:37    

Bonjour à tous,  
 
J'ai un petit souci avec la requête suivante dans Access :  
 
UPDATE CONTRAT SET DFIN = "(SELECT DATE  
FROM TEMP  
WHERE TEMP.idxCONTRAT = CONTRAT.idxCONTRAT)"  
WHERE idxCONTRAT IN  
(SELECT idxCONTRAT  
FROM TEMP);  
 
Mon problème est la requête imbriquée :"(SELECT DATE  
FROM TEMP  
WHERE TEMP.idxCONTRAT = CONTRAT.idxCONTRAT)"  
 
En effet, le résultat est une date par conséquent, j'obtiens un message m'avertissant que la requête ne peut pas être exécutée à cause d'erreur de conversion de type.  
 
Malheureusement, je ne vois pas comment je dois écrire cette requête pour qu'elle fonctionne.  
 
Merci mille fois d'avance à celui qui pourra m'aider.

Reply

Marsh Posté le 19-07-2004 à 10:30:37   

Reply

Marsh Posté le 19-07-2004 à 10:32:05    

Le champ DFIN est de quel type ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-07-2004 à 10:33:20    

Une bête idée mais .. tu n'essayerais pas de virer les " autour de ton SELECT DATE ? ..
Là, il me semble qu'il essaie d'insérer le STRING "(SELECT ...)" dans ton champs DFIN ...

Reply

Marsh Posté le 19-07-2004 à 14:12:03    

UPDATE CONTRAT
SET DFIN = [DATE]
FROM CONTRAT
INNER JOIN TEMP
ON TEMP.idxCONTRAT = CONTRAT.idxCONTRAT

Reply

Marsh Posté le 19-07-2004 à 15:43:25    

Harkonnen a écrit :

Le champ DFIN est de quel type ?


Salut et merci beaucoup de ton aide.
C'est un champ "date/heure"

Reply

Marsh Posté le 19-07-2004 à 16:00:16    

Mr Mala a écrit :

Une bête idée mais .. tu n'essayerais pas de virer les " autour de ton SELECT DATE ? ..
Là, il me semble qu'il essaie d'insérer le STRING "(SELECT ...)" dans ton champs DFIN ...


Salut et merci pour ton aide.
J'ai déjà essayé, mais un message d'erreur me disant que je dois utiliser une requête updateable apparaît.

Reply

Marsh Posté le 19-07-2004 à 16:10:02    

...Et si je fais :
 
UPDATE CONTRAT SET DFIN =(SELECT format(TEMP.DATE, "dd/mm/yyyy" )  
FROM TEMP)
WHERE TEMP.idxCONTRAT = CONTRAT.idxCONTRAT;
 
ça me demande la valeur du paramètre TEMP.idxCONTRAT....
Alors que je veux remplacer TOUS les idxCONTRAT qui se trouvent dans la table TEMP.

Reply

Marsh Posté le 19-07-2004 à 19:28:54    

UPDATE CONTRAT, TEMP
SET CONTRAT.DFIN = TEMP.DATE
WHERE TEMP.idxCONTRAT = CONTRAT.idxCONTRAT;

Reply

Marsh Posté le 20-07-2004 à 10:46:42    

Beegee a écrit :

UPDATE CONTRAT, TEMP
SET CONTRAT.DFIN = TEMP.DATE
WHERE TEMP.idxCONTRAT = CONTRAT.idxCONTRAT;


SUPER, MERCI, C'EST EXACTEMENT CA, MERCI BCP. :bounce:

Reply

Sujets relatifs:

Leave a Replay

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