Accueil > Forum > > > > requête SQL pour l'archivage !!
requête SQL pour l'archivage !!
vendredi 25 mai 2007 à 16:39:26 |
requête SQL pour l'archivage !!

bezzaz
|
Bonjour,
Dans ma base de données j'ai la table 'Patient ', 'Archive' et la requête 'lastvisite' qui renvoie la dernier visite de chaque patient et j'ai besoin de créer une requête SQL pour faire l'archivage des patients qui ne se sont pas était présent ses trois années précédentes
Ma première requête pour copier ses patients dans la table 'Archive' est
INSERT INTO Archive SELECT Patient.CodeP, Patient.Nom, Patient.Prénom, (Date()-[MaxDeDate de visite]) AS Expr1 FROM lastvisite, Patient WHERE (lastvisite.Réfpatient = Patient.CodeP) AND ((Date()-[MaxDeDate de visite])>1095)
Et pour la suppression j'ai fais la chose suivante
DELETE FROM Patient
WHERE (SELECT Patient.CodeP, Patient.Nom, Patient.Prénom, (Date()-[MaxDeDate de visite]) AS Expr1 FROM lastvisite, Patient WHERE (lastvisite.Réfpatient = Patient.CodeP) AND ((Date()-[MaxDeDate de visite])>1095);
Mais il m'affiche le message suivant 'vous avez écrit une sous requête pouvant renvoyer plus d'un champ sans utiliser le mot réservée EXISTS.'
Que dois-je faire !! (Le tout en VB)
Merci :)
|
|
vendredi 25 mai 2007 à 20:09:14 |
Re : requête SQL pour l'archivage !!

jack
|
Réponse acceptée !
Salut Tu aurais dû relire ta question avant de la poster, ta phrase est incomplète et incompréhensible : "l?archivage des patients qui ne se sont pas était présent ses trois années précédentes " La mise en forme du texte est bizarre, sans saut de ligne (difficile à lire). Quel explorateur utilises-tu ? Tes deux requètes ressemblent donc à ça :
INSERT INTO Archive SELECT Patient.CodeP, Patient.Nom, Patient.Prénom, (Date()-[MaxDeDate de visite]) AS Expr1 FROM lastvisite, Patient WHERE (lastvisite.Réfpatient = Patient.CodeP) AND ((Date()-[MaxDeDate de visite])>1095)
On suppose (et il faut) que ta table Archive comporte 4 champs et seulement 4 "[MaxDeDate de visite]" appartient à quelle table ? précise-le comme tu l'as fait pour les premiers champs car sans cette info, difficile de corriger On ne peut pas faire des additions/soustraction avec des dates. Si tu veux sélectionner les enregistrements qui sont plus vieux de 3 ans : And [MaxDeDate de visite] < DateAdd("y", Date(), -3) ou qque chose comme ça, regarde l'aide de DateAdd
DELETE FROM Patient WHERE (SELECT Patient.CodeP, Patient.Nom, Patient.Prénom, (Date()-[MaxDeDate de visite]) AS Expr1 FROM lastvisite, Patient WHERE (lastvisite.Réfpatient = Patient.CodeP) AND ((Date()-[MaxDeDate de visite])>1095);
Tu as un problème de parenthèses : Manque une ) quelque part On ne peut pas faire de Select directement dans un Where. Un Delete supprimera tous les champs des enregistrements sélectionnés. On ne peut pas les lister dans un Delete. Si tu veux supprimer les enregistrements plus vieux que 3 ans : DELETE FROM Patient WHERE Patient.CodeP IN (SELECT lastvisite.Réfpatient FROM lastvisite WHERE [MaxDeDate de visite] < DateAdd("y", Date(), -3)) Là aussi, on ne sait pas à quelle table appartient "[MaxDeDate de visite]", donc impossible de dire si les tables listées dans le From sont utiles ou suffisantes.
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
vendredi 25 mai 2007 à 21:38:32 |
Re : requête SQL pour l'archivage !!

bezzaz
|
Salut Jack,
Merci pour ton aide, c’est vrai que la mise en forme est bizarre même plus !!, désolé,(j’utilise Opera comme explorateur).
Sinon votre solution, ca fonctionne parfaitement. C'est cool Merci
(pour le [MaxDeDate de visite] elle appartient à la requête ‘lastvisite’)
|
|
Cette discussion est classée dans : requête, patient, visite, lastvisite, codep
Répondre à ce message
Sujets en rapport avec ce message
Doublon [ par spamito ]
Salut,J'ai un formulaire de visite oû je remplie les informations concernant la visite d'un patient. Les informations concernant ce dernier est enregi
Création Requête Complexe sous Access 2002 [ par Maque ]
Bonjour à tous,Voilà mon problème est le suivant: je n'arrive pas à créer sous Access 2002, une requête me permettant de consulter des enregistrements
Utiliser la valeur d'une requête SELECT dans du VBA [ par Famas54 ]
Je chercher à réutiliser la valeur d'une requête SELECT nommée "query_nbr_noind_a_parametrer":SELECT Count("NoInd") AS nombrenoindarenseignerFROM Noin
Requête Ajout [ par Ledude89 ]
Bonjour,Sous ACCESS 2003. J'ai la requête suivante :INSERT INTO eleve_exigence ( ID_eleve, ID_exigence, Intitulé )SELECT DISTINCT identité.ID_eleve, e
VB.Net ADO.Net Erreur dans ma requête SQL ?? [ par MagDix ]
Salut... Je doit faire une requête SQl avec deux contidions dont une qui me génère un erreur. La premiere condition est: Colonne1 = textbox1et l
Problème de restriction sur requête [ par Famas54 ]
Bonjour,Je cherche sans succès à mettre en place dans une requête SELECT une restriction ou la valeur d'un champs influencerait celle d'un autre champ
Création d'une base de données Access 97 via une requête SQL [ par SoundBoy771 ]
Bonjour à tous, Je crois que tout est dans le titre. Je cherche une requête qui me permettrai de créer un base de donnée sous Access 97. Je code en v
Requête SQL et caractère spéciaux [ par SoundBoy771 ]
Bonjour à tous, Voici mon problème : Dans du code vb6, je génère un requête SQL qui INSERT des données d'une base dans une autre, identique entre el
VBA excel: le projet ne se referme pas [ par Deeddolith ]
Bonjour,Je developpe une application sous excel qui me pose quelques soucis, lorsque je ferme le classeur (sans fermer excel), le projet reste ouvert,
Problème requête SQL [ par patouvick ]
Bonjour à tous,J'ai un problème assez étrange sur une requête SQL ! (J'utilise vb6 et une base SQL server)"Select * from Login Where User='" & userna
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|