OVH Cloud OVH Cloud

récupérer l'eistance d'un enreg dans une table

9 réponses
Avatar
Yvan
Bonjour,
dans le cadre d'un projet, je dois récupérer certaines informations issues
d'un applicatif (fichier client) et dupliquer certains enreg de cette table
dans une table Mdb
Dans certains cas, l'enregistrement dans la table mdb existe déjà et je veux
juste faire un update, dans l'autre cas (si l'enreg n'existe pas), je veux
créer l'enregistrement (insert)
Pourriez vous me donner un exemple de code tester l'existance ou non de la
fiche dans mon fichier mdb et récupérer l'info (0 enregistrement ou 1
enregistrment) pour implémenter cette fonctionnalité.
Merci
Yvan

9 réponses

Avatar
Raymond [mvp]
Bonjour.

pour savoir l'existence d'un enregistrement, il faut faire une requête de
correspondance (liaison sur deux champs clés, valeur identique) et le
contraire une requête de non correspondance pour savoir qu'il n'y a pas
d'enregistrement avec la même clé primaire. dans le premier cas on fait une
requête mise à jour et dans le 2e cas une requêtre ajout.
tu peux créer tes requêtes avec l'assistant requêtes.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Bonjour,
dans le cadre d'un projet, je dois récupérer certaines informations issues
d'un applicatif (fichier client) et dupliquer certains enreg de cette
table

dans une table Mdb
Dans certains cas, l'enregistrement dans la table mdb existe déjà et je
veux

juste faire un update, dans l'autre cas (si l'enreg n'existe pas), je veux
créer l'enregistrement (insert)
Pourriez vous me donner un exemple de code tester l'existance ou non de la
fiche dans mon fichier mdb et récupérer l'info (0 enregistrement ou 1
enregistrment) pour implémenter cette fonctionnalité.
Merci
Yvan




Avatar
Yvan
bonjour et merci pour ta réponse,
toutefois, la ou je coince, c'est sur comment récupérer l'info comme quoi
j'ai ou pas d'enregistrement.
Par exemple, je fais ma requête de non correspondance dans mon code, mais
comment savoir qu'il y a ou non des enregistrements dans le résultat de ma
requete afin d'orienter mon code en Update ou en Insert. ?
y a t'il une propriété du genre MaRequete.Nombred'enregistrement ?
Merci encore
Yvan

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

pour savoir l'existence d'un enregistrement, il faut faire une requête de
correspondance (liaison sur deux champs clés, valeur identique) et le
contraire une requête de non correspondance pour savoir qu'il n'y a pas
d'enregistrement avec la même clé primaire. dans le premier cas on fait
une

requête mise à jour et dans le 2e cas une requêtre ajout.
tu peux créer tes requêtes avec l'assistant requêtes.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Bonjour,
dans le cadre d'un projet, je dois récupérer certaines informations
issues


d'un applicatif (fichier client) et dupliquer certains enreg de cette
table

dans une table Mdb
Dans certains cas, l'enregistrement dans la table mdb existe déjà et je
veux

juste faire un update, dans l'autre cas (si l'enreg n'existe pas), je
veux


créer l'enregistrement (insert)
Pourriez vous me donner un exemple de code tester l'existance ou non de
la


fiche dans mon fichier mdb et récupérer l'info (0 enregistrement ou 1
enregistrment) pour implémenter cette fonctionnalité.
Merci
Yvan








Avatar
Raymond [mvp]
Tu n'as pas besoin de savoir car ce sont deux requêtes différentes.
par exemple, la requête de non correspondance. tu lances la requête
automatiquement en requête d'ajout, car les enregistrements que tu vas
récupérer n'existent pas dans l'autre table.
pour la requête de correspondance. Tu lances automatiquement en requête mise
à jour car les enregistrements récupérés existent.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
bonjour et merci pour ta réponse,
toutefois, la ou je coince, c'est sur comment récupérer l'info comme quoi
j'ai ou pas d'enregistrement.
Par exemple, je fais ma requête de non correspondance dans mon code, mais
comment savoir qu'il y a ou non des enregistrements dans le résultat de ma
requete afin d'orienter mon code en Update ou en Insert. ?
y a t'il une propriété du genre MaRequete.Nombred'enregistrement ?
Merci encore
Yvan


Avatar
Yvan
Si je te comprends bien, cela veut dire qu'il faut donc que je lance les 2
requêtes à suivre dans mon code ?
1°) Une requête d'update si correspondance : Si l'enreg exite, je le mets à
jour
2°) la requete d'ajout si non correspondance --> si l'enreg n'existe pas,
je l'ajoute donc
C'est ça ??
Merci
Cordialement
Yvan

"Raymond [mvp]" a écrit dans le message de
news:eryvg%
Tu n'as pas besoin de savoir car ce sont deux requêtes différentes.
par exemple, la requête de non correspondance. tu lances la requête
automatiquement en requête d'ajout, car les enregistrements que tu vas
récupérer n'existent pas dans l'autre table.
pour la requête de correspondance. Tu lances automatiquement en requête
mise

à jour car les enregistrements récupérés existent.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
bonjour et merci pour ta réponse,
toutefois, la ou je coince, c'est sur comment récupérer l'info comme
quoi


j'ai ou pas d'enregistrement.
Par exemple, je fais ma requête de non correspondance dans mon code,
mais


comment savoir qu'il y a ou non des enregistrements dans le résultat de
ma


requete afin d'orienter mon code en Update ou en Insert. ?
y a t'il une propriété du genre MaRequete.Nombred'enregistrement ?
Merci encore
Yvan






Avatar
Raymond [mvp]
C'est bien ce que tu voulais ?

Dans certains cas, l'enregistrement dans la table mdb existe déjà et je
veux

juste faire un update, dans l'autre cas (si l'enreg n'existe pas), je veux
créer l'enregistrement (insert)



--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Si je te comprends bien, cela veut dire qu'il faut donc que je lance les 2
requêtes à suivre dans mon code ?
1°) Une requête d'update si correspondance : Si l'enreg exite, je le mets
à

jour
2°) la requete d'ajout si non correspondance --> si l'enreg n'existe
pas,

je l'ajoute donc
C'est ça ??
Merci
Cordialement
Yvan


Avatar
Yvan
Oui c'est ce que je voulais, mais je ne travaille pas de cette façon
habituellement (je travaille en windev).
En windev, tu fais une instruction de recherche (hlitrecherche) et si tu
trouves (htrouve = vrai) tu mets à jour sinon (htrouve = faux) tu ajoutes.
C'est un peu différent.

Je te remercie pour ta patience et tes conseils.
Cordialement
Yvan

"Raymond [mvp]" a écrit dans le message de
news:%
C'est bien ce que tu voulais ?

Dans certains cas, l'enregistrement dans la table mdb existe déjà et je
veux

juste faire un update, dans l'autre cas (si l'enreg n'existe pas), je
veux


créer l'enregistrement (insert)



--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Si je te comprends bien, cela veut dire qu'il faut donc que je lance les
2


requêtes à suivre dans mon code ?
1°) Une requête d'update si correspondance : Si l'enreg exite, je le
mets


à
jour
2°) la requete d'ajout si non correspondance --> si l'enreg n'existe
pas,

je l'ajoute donc
C'est ça ??
Merci
Cordialement
Yvan






Avatar
Raymond [mvp]
Bonjour.

Si Access ne convient pas et si Windev est si bien que ça tu n'as pas le
choix des armes. Ce qui m'étonnera toujours c'est la disproportion entre la
diffusion access et la diffusion windev. La qualité première d'un
développeur c'est de s'adapter à tous les outils qu'on lui impose, sans les
comparer et d'en tirer le maximum de performances.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Oui c'est ce que je voulais, mais je ne travaille pas de cette façon
habituellement (je travaille en windev).
En windev, tu fais une instruction de recherche (hlitrecherche) et si tu
trouves (htrouve = vrai) tu mets à jour sinon (htrouve = faux) tu
ajoutes.

C'est un peu différent.

Je te remercie pour ta patience et tes conseils.
Cordialement
Yvan


Avatar
Yvan
Bonjour,
Si Access ne convient pas et si Windev est si bien que ça tu n'as pas le
choix des armes.
Non, c'est mon client qui m'impose cet outil pour ne pas avoir à acheter
une clé Windev et avoir la possibilité d'ajouter des requêtes : chez moi le


client est roi .

Ce qui m'étonnera toujours c'est la disproportion entre la diffusion access
et la diffusion windev.
Ce n'est pas réellement étonnant quand tu connais le prix que coute une
licence Windev (1500 euros) et quand tu sais comment la plupart des


développeurs
se procurent Access.

La qualité première d'un développeur c'est de s'adapter à tous les outils
qu'on lui impose, sans les
comparer et d'en tirer le maximum de performances.

Tu as raison et c'est ce que j'essaie de faire en posant mes questions sur
ce forum. Je ne crois pas avoir dans mes propos porté de jugement sur Access
ni Windev, je pense qu'il faut que tu relises mes posts, j'ai simplement dit
que c'était différent. J'espère que tu n'es pas contre ce petit commentaire
somme toute anecdotique.

Ceci étant dit, merci tout de même pour ta réponse
Yvan





"Raymond [mvp]" a écrit dans le message de
news:e$
Bonjour.

Si Access ne convient pas et si Windev est si bien que ça tu n'as pas le
choix des armes. Ce qui m'étonnera toujours c'est la disproportion entre
la

diffusion access et la diffusion windev. La qualité première d'un
développeur c'est de s'adapter à tous les outils qu'on lui impose, sans
les

comparer et d'en tirer le maximum de performances.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Oui c'est ce que je voulais, mais je ne travaille pas de cette façon
habituellement (je travaille en windev).
En windev, tu fais une instruction de recherche (hlitrecherche) et si tu
trouves (htrouve = vrai) tu mets à jour sinon (htrouve = faux) tu
ajoutes.

C'est un peu différent.

Je te remercie pour ta patience et tes conseils.
Cordialement
Yvan






Avatar
Raymond [mvp]
aucun problème. ici tout peut être dit.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Yvan" a écrit dans le message de
news:
Bonjour,
Si Access ne convient pas et si Windev est si bien que ça tu n'as pas le
choix des armes.
Non, c'est mon client qui m'impose cet outil pour ne pas avoir à
acheter



une clé Windev et avoir la possibilité d'ajouter des requêtes : chez moi
le

client est roi .

Ce qui m'étonnera toujours c'est la disproportion entre la diffusion
access

et la diffusion windev.
Ce n'est pas réellement étonnant quand tu connais le prix que coute une
licence Windev (1500 euros) et quand tu sais comment la plupart des


développeurs
se procurent Access.

La qualité première d'un développeur c'est de s'adapter à tous les outils
qu'on lui impose, sans les
comparer et d'en tirer le maximum de performances.

Tu as raison et c'est ce que j'essaie de faire en posant mes questions sur
ce forum. Je ne crois pas avoir dans mes propos porté de jugement sur
Access

ni Windev, je pense qu'il faut que tu relises mes posts, j'ai simplement
dit

que c'était différent. J'espère que tu n'es pas contre ce petit
commentaire

somme toute anecdotique.

Ceci étant dit, merci tout de même pour ta réponse
Yvan