Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : mettre a jour des champs a partir d'un autre champ [ Archives Visual Basic / Bases de données ] (lil_jok)

lundi 10 mai 2004 à 11:27:08 | mettre a jour des champs a partir d'un autre champ

lil_jok


Salut tt le monde!
voila je suis o boulot et g un pti prob sur access:
On m'a demandé de fair en sorte que un champ d'une table soit mise a jour par rapport a un autre champ d'une autre table...
ex: j'ai une table "gestion du matériel" contenant un champ "utilisateur" et une autre table "service" contenant un champ "utilisateur". J'aimerai, via un module ou autre que quand je rentre une info ds le chmps utilisateur de la table service, elle soit retranscrit ds le meme chpms de la table gestion du matos.

J'espere avoiré été asser clair ds mes explications.

merci d'avance

JOK

lundi 10 mai 2004 à 13:14:04 | Re : mettre a jour des champs a partir d'un autre champ

HFanny

Bonjour,

Le champ que tu modifies (et qui doit permettre de modifier l'autre), tu le modifies à partir d'un formulaire ?

Par ailleurs, autre précision, tu veux changer un champ utilisateur par rapport à un autre champ utilisateur. Y a t-il des doublons d'utilisateur sur chaque table ?
Car pour aller modifier un champ, il faut que tu saches quelle ligne tu as à modifier.
Et ici, si tu veux modifier un nom d'utilisateur par rapport à celui que tu viens de modifier, il faut que tu saches comment récupérer la ligne de l'utilisateur correspondant de la table service.

Tu peux modifier une ligne en faisant :
Dim db As Database
Dim requete As String
Set db = CurrentDb
requete = "UPDATE service SET utilisateur = '" & txtChamp1.text & "' WHERE ??"
db.Execute (requete)

Ici, il reste à savoir sur quelle ligne tu dois effectuer la mise à jour.

Je ne sais pas si je me fais comprendre sur ce que je ne comprend pas dans ta demande
Réexplique nous

Fanny

lundi 10 mai 2004 à 13:34:01 | Re : mettre a jour des champs a partir d'un autre champ

lil_jok


en fait
D'une, oui il y a des doublons, de deux, j'ai un champs ou il y a les info et je veu ke dans deux autres champs des 2 tables (vides) , les info y soient aussi sans que j'ai a les retaper et qu'elles soient mises a jour au fur et a mesur que je rentre les info ds ds la premiére table...
put.... j'ai du mal a te fair comprendre ce que je veu mais bon j'espere que ca t'aidera a me repondre.
méchi
JOK

lundi 10 mai 2004 à 14:36:22 | Re : mettre a jour des champs a partir d'un autre champ

HFanny

Hihi, comment t'expliquer ce dont j'ai besoin pour écrire le bout de code dont tu as besoin ...

En fait, pour mettre à jour un enregistrement dans une table, il faut savoir QUEL enregistrement mettre à jour (quelle ligne si tu préfères).

Ici, tu modifies donc un champs x de ta table A, et tu voudrais que le champs x de la table B soit mis à jour ? C'est bien ça ?

Mais tu dis que tes champs sont vides ...
En fait le problème c'est comment sais-tu quelle ligne de B mettre à jour lorsque tu modifies ton champs de la table A ?

En gros, il faut que la requête sache quel champ elle doit modifier. C'est à dire que tu ne peux pas faire un UPDATE sans clause WHERE car cela mettrait à jour TOUS les champs utilisateurs de ta table service.

La question (plus précisément) Y a t'il un lien entre tes 2 tables qui permettrait de trouver la ligne à modifier de la table service ?
A partir de cette réponse, il suffira de baser la requete UPDATE avec cette condition.

Ca m'énerve de ne pas te comprendre car je suis sure que je saurais t'aider ...

Fanny

lundi 10 mai 2004 à 15:52:12 | Re : mettre a jour des champs a partir d'un autre champ

lil_jok

C vraiment mignon de ta part fanny!
je v en parler a mon boss kilm mexplique le prob en profondeur et je te dirai ca, ca serra surement demain,
pck en fait je t'ai dit des nom ki n'avaien rien a voir avec le vrai prob, ct juste histoir de les nommer...
en tout cas fanny (si tel est ton vrai nom) je te remerci bien et je te dirai tt demain.

people like u deserve a fanclub =)


JOK

lundi 24 mai 2004 à 14:52:21 | Re : mettre a jour des champs a partir d'un autre champ

yafisab

c marrant mais j'ai presque le même problème...par contre je pense pouvoir récuperer ma ligne car je dispose dans ma table de deux champs: Pour une ligne qcq, je connais la valeur d'un des champ et je veux modifier la valeur du second

par conséquent, il doit y avoir moyen de remonter à ma ligne...
qu'elle serait la syntaxe exacte à ce moment là?
S'il te plait Fanny?
yaf_yaf

mardi 25 mai 2004 à 09:34:07 | Re : mettre a jour des champs a partir d'un autre champ

lil_jok

moi j'ai laché l'affaire j'ai laissé le travail a un stagiaire vu qu'il s'y connaissait pas mal mai il n'a pas reussi je pense.
en tt cas fanny je t'ai dit que j'allai ten parler le lendemain....
désolé mai le lendemain gt trop oqp. tt ca pour dir ke la reponse pour yafi ne ma laisse pas indifferent, je n'aime pas rester sur un probleme non résolu!
MERCI BIEN miss fanny

p.s: fanny veux tu m'épouser???

p.s²: c pas une blague!



jok

mardi 25 mai 2004 à 17:25:44 | Re : mettre a jour des champs a partir d'un autre champ

HFanny

Yasifab,
si tu connais la valeur d'un champ et que tu veux modifier le second, ta requête sql doit être du style :

Dim requete As String
Dim db As Database

Set db = CurrentDb

requete = "UPDATE nom_table SET champ_a_changer = " & nouvelle valeur & " WHERE champ_connu = " tavaleurconnue

db.Execute (requete)


Si tes valeurs sont des chaines de caractères, alors il faut que tu les mettes entre cotes ... mais ça on verra après si tu n'y arrives pas.

Voilà, j'espère que ça te va Yafisab !

Et sinon jok ...
je suis pas sûre que mon copain me laisse épouser quelqu'un d'autre .


Fanny

mercredi 26 mai 2004 à 09:13:22 | Re : mettre a jour des champs a partir d'un autre champ

yafisab

ok merci

hum entre temps y'a mon maitre de stage qui a eu une nouvelle idee et du coup je dois modifier quelque chose que j'avais fait:
je sais à présent ajouter des items dans un combobox ou listbox, par contre je ne sais pas comment afficher une partie d'une table dans un listbox:
il faut que j'affiche deux champs voisins de noms:mettons "codes" et "descriptions"
et cela de manière dynamique, car ce n'est pas la totalité des champs que je veux mettre mais seulement une partie,

A ma table il existe un troisième champ:c'est ce champ qui délimite le nombre de ligne vu que tant que la valeur de ce champ à une ligne quelquonque est identique à une valeur connue ,le contenu des deux autres champs doit être affiché.

si cela avait été statique,access permet de le faire très bien, j'ai vu, mais pas en dynamique, et avec vb je ne sais comment faire....à moins peut-être qu'avec des macros?

peux tu m'aider la-dessus aussi ?
(je fais mon stage en allemagne, et l'aide en allemand du logiciel est loin dZêtre aussi limpide que la tienne)

merci

lool jok, tu t'attendais à quoi?
yaf_yaf

mercredi 26 mai 2004 à 09:41:42 | Re : mettre a jour des champs a partir d'un autre champ

HFanny

Ok, pour faire cela il faut que tu fasses une requête de sélection avec une condition :


dim requete as string
requete = "SELECT noms, codes, désignations FROM tatable WHERE tonchamp3 = '" & tavaleur.text & "'"


Cette requête de sélection te permet de ne récupérer que les enregistrements dont la valeur du champ 3 est égale à la valeur que tu souhaites.

Puis tu ouvres un jeu d'enregistrements (recordset)

Dim rs As Recordset
Set rs = db.OpenRecordset (requete, dbOpenDynaset).


Ensuite tu peux parcourir ce Recordset pour mettre les éléments 1 à 1 dans ta listebox :


rs.MoveFirst
While Not rs.EOF
'ici tu utilises ton additem
listbox.Additem rs.Fields("noms")
rs.MoveNext
Wend


J'espère que c'était bien ça que tu voulais.
Ou bien tu fais une requête de sélection sans le WHERE et tu fais le test sur le champs dans ta boucle, mais ce sera plus long :


Dim requete As String
requete = "SELECT * FROM tatable"
Dim rs As Recordset
Set rs = db.OpenRecordset(requete, dbOpenDynaset)
rs.MoveFirst
While Not rs.EOF
If rs.Fields("champ3") = tavaleur Then
'ici tu remplis ta listBox
listbox.Additem rs.Fields("noms")
End If
rs.MoveNext
Wend


Bon courage

Fanny


1 2 3 4

Cette discussion est classé dans : table, champ, utilisateur, jour, ds


Répondre à ce message

Sujets en rapport avec ce message

Mise à jour table [ par globule ] Bonjour, Comment remplacer une table dans une base access à partir d'une autre table d'une autre base.Autres questionsComment connaitre le type d'un c VBA : mise à jour d'un champ d'une table [ par Enaira ] SalutMon code ne marche pas. qqun peut me dire ce qui ne va pas ou me donner un autre code?Je cherche à mettre à jour un champ d'une table (tous les e Acceder à un champ recordset paramétré [ par jyvaut75 ] Bonjour,Dans une appli en cours de développement, je créé une table dont les noms de champ peuvent varier. J'explique déjà cette partie: je rentre une Mise à jour de base de données access en vb.net [ par moi411 ] Tout d'abord bonsoir,J'ai donc un problème pour mettre à jour une base de données (créée avec access) ) partir d'un programme VB.NET. J'ai fait la con mise à jour du champ age [ par odammas ] Bonjour,Je  pense que c'eszt plustôt de la sphère access que vb ... mais Voilà j'ai une table ELEVES et  je souhaite mettre le champ age à jour snas l Gestion d'une Listview [ par simodel ] Bonjour, < Mise à jour BDD SQL depuis Grid avec requête Croisée en source [ par vince1978 ] Bonjour,Je vous explique mon petit soucis s'il en est. J'ai un datagridview en vb net alimenté par une procédure stockée SQL. J'ai donc mon Grid qui e probleme mis a jour SQL [ par fetsa054 ] bonjour à tous, je développe une application vb.net sous vs2008 qui gère une base de données Access,dans le programme je fais une requete UPDATE qui mise à jour de table acces [ par bmo83 ] bonjourje désire mettre à jour une table an fonction d'un champs:- si dans la table , le champs sexe = 1 alors dans le champs libelle je mets "homme" Mise à jour automatiquement d'un table adapter sans passer par Update [ par Ludiv60 ] Bonjour J'aimerais savoir s'il est possible de mettre à jour automatiquement un tableadapter sans passer par un update.Je m'explique, j'ai une form av


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.