Superchinois


401 messages

Membre, LAN

Dimanche 21 Février 2010 - 22:08

Bonjour tout le monde Content
Je sais pas si ce topic a sa place ici mais je voulais savoir si quelqu'un pouvait m'aider.
Je suis sous access , est il possible de :

Créer une requête permettant de vérifier l'existence d'un enregistrement..
En vue d'un INSERT ou d'un UPDATE selon le cas

J'ai pas mal tourné sur le web mais en vain..
Merci pour vos reponses !

rumpl


adjoint

1434 messages

Membre, Developpeur, LAN-MASTER, Retraité

Dimanche 21 Février 2010 - 22:57

La facon de le faire depend de la base que tu utilises.

Si c'est sql server, tu peux faire ca :
SELECT machin FROM truc;

IF @@ROWCOUNT > 0 THEN
blablabla...
ELSE
blabla...
END

Sinon, en Mysql tu peux faire ca :

DECLARE rowcount INT
SELECT rowcount=COUNT(*) FROM truc;
IF rowcount > 0 THEN
blablabla...
ELSE
blabla...
END

Ou sinon MySQL a une fonction FOUND_ROWS() : http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_found-rows


Les choses qui méritent d'être faites méritent d'être mal faites.

T-oday I bake, to-morrow brew,
the next I'll have the young queen's child.
Ha, glad am I that no one knew
that Rumpelstiltskin I am styled.

lemonhead


dirigeant

18016 messages

Fondateur, Dirigeant, Membre, Developpeur, LAN-MASTER, Streamer, Corpo, Designer, Adjoint (ED)

Lundi 22 Février 2010 - 00:39

Il faudrait que tu expliques avec un exemple concret, en décrivant un peu tes bases. Si par exemple tu veux mettre à jour des données sur une foreign key existe dans une autre table, tu peux faire un truc du genre :

UPDATE table t1
SET t1.mon_champ = 'truc'
WHERE EXISTS (SELECT autretable t2 WHERE t2.un_champ = t1.ma_cle);

Par contre ça fonctionne pas pour faire un insert. Mais je répète, faut que tu expliques plus précisément.


« Lemon est vraiment un Malade... Heureusement qu'il est de notre côté.» (Guzmud)

« Lemon est fort, Lemon est beau, Lemon est sexy, Lemon est omniscient, Lemon est THE Lemon » (Violenconjugal)

« Lemon a un monde à lui dans sa tête » (Im_a_player)

« Putain, ca devient trop ce clan. Bientot on appelera Lemon le Parrain et le clan la Famille. Nawak » (Rumpl)

« Lemon est le seul mec qui préfère qu'on lui dise qu'il a une grosse femme plutôt qu'une grosse bite. » (Thrallscream)

« Lemon vient de me montrer... c'est ENORME !!! » (Seven)

« Lemon est un dieu, et Thrall a une.... enfin bon, je m'égare. » (Titi-fr)

alexscott


dirigeant

11648 messages

Dirigeant, Membre, Developpeur, LAN-MASTER, Streamer, Adjoint (ED)

Lundi 22 Février 2010 - 02:51

http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html


Que le citron soit pressé ou qu'il vente, il jute.

Giss


5165 messages

Lundi 22 Février 2010 - 08:23

[HS] Tu vois momo, espèce de gros boulay ! je t'avais dit qu'il fallait poster ta demande ! Content [/HS]

Superchinois


401 messages

Membre, LAN

Lundi 22 Février 2010 - 14:59 (post édité 1 fois)

Merci merci pour vos réponses je vais tester ca de suite.
En attendant j'avais fait un

try

INSERT
catch

UPDATE

sa fonctionne niquel mais c'est pas le plus optimisé je pense..

Liens utiles : Rechercher - Droits d'accès