Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2418 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Access] Modification d'une base de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Access] Modification d'une base de données

n°1668786
4rocky4
à 50 cm de l'écran
Posté le 10-01-2008 à 12:08:30  profilanswer
 

Bonjour tout le monde,
 
Je suis entrain de modifier une base de données.
Je vous fourni cette image pour l'éclaircir : http://www.zimagez.com/zimage/relations0.php
 
Alors dans la table accueil contact, il y a 3 champs demandes. Un contact peut avoir une, deux ou 3 demandes.
Je veux passer dans la table effectuer le code du contact ainsi que le numéro de ou des demandes correspondant a celle inscrit dans la table contact. (Requête mise à jour je pense, mais comment faire ?)
 
Les champs demande1, demande2 et demande3 sont du texte, et le champ lib_demande est rempli ainsi que son code :
http://www.zimagez.com/zimage/demande.php
 
Merci par avance.

mood
Publicité
Posté le 10-01-2008 à 12:08:30  profilanswer
 

n°1668843
MagicBuzz
Posté le 10-01-2008 à 13:38:02  profilanswer
 

Pas pigé.
 
Je dirais un truc du genre :
 

Code :
  1. INSERT INTO effectuer (code_contact, num_demande)
  2. VALUES (
  3. SELECT c.code_contact, d.num_demande
  4. FROM acceuil_contact c CROSS JOIN demande d
  5. WHERE c.demande1 = d.lib_demande
  6. OR c.demande2 = d.lib_demande
  7. OR c.demande2 = d.lib_demande
  8. )

n°1668862
4rocky4
à 50 cm de l'écran
Posté le 10-01-2008 à 13:59:10  profilanswer
 

Par exemple :
dans ma table contact, le contact n°1 a 3 demandes, le contact n°2 a 1 demande . . .
j'aimerais faire une requête permettant de mettre en place ma table effectuer.          
 
enfaite je veux mettre ca dans ma table effectuer :
 
code_contact                num_demande
       1                                   2
       1                                   4
       1                                   8
       2                                   1
       3                                   3    
 
Pas facile à expliquer  :fou:

n°1668866
MagicBuzz
Posté le 10-01-2008 à 14:00:22  profilanswer
 

ben c'est ce que fait ma requête :spamafote:

n°1668907
4rocky4
à 50 cm de l'écran
Posté le 10-01-2008 à 14:13:02  profilanswer
 

Bah oui !
C'est exactement ça !
 

Code :
  1. INSERT INTO effectuer ( code_contact, num_demande )
  2. SELECT code_contact, num_demande
  3. FROM accueil_contact, demande
  4. WHERE accueil_contact.demande1 = demande.lib_demande
  5. OR accueil_contact.demande2 = demande.lib_demande
  6. OR accueil_contact.demande3 = demande.lib_demande;


 
Merci beaucoup beaucoup  :bounce:

n°1669202
4rocky4
à 50 cm de l'écran
Posté le 10-01-2008 à 17:17:17  profilanswer
 

Roo, un problème quasiment similaire se pose là.
Voilà la relation :
http://www.zimagez.com/zimage/relationn.php
 
anpe inscription,cotorep/agefiph, moins26ans, DELD et DE sont de format oui/non.
 
ces champs sont des valeurs (texte) dans lib_situation_crea de la table situation_createur.
 
Et je veux mettre dans contenir, pour chaque contact le oiu les num_situation_crea correspondant.
 
Ptite aide :
 
COTOREP/AGEFIPH               MOINS26ANS                DELD
            oui                               non                       non
            non                              oui                        oui
            oui                               oui                        oui
            ...                                ...                         ...
 
J'espère avoir était clair ...  :sarcastic:  
 
Merci bien pour votre aide

n°1669204
MagicBuzz
Posté le 10-01-2008 à 17:18:16  profilanswer
 

ben c'est presque la même solution :spamafote:

n°1669454
4rocky4
à 50 cm de l'écran
Posté le 11-01-2008 à 09:17:44  profilanswer
 

alors je met :

Code :
  1. INSERT INTO contenir ( code_contact, num_situation_crea)
  2. SELECT accueil_contact.code_contact, accueil_contact.num_situation_crea
  3. FROM situation_createur, accueil_contact
  4. WHERE accueil_contact.moins26ans= -1;


 
-1 veut dire oui dans la table.
 
Mais il ne me sort pas le bon résultat.
 
Où est mon erreur  :??:

n°1669489
MagicBuzz
Posté le 11-01-2008 à 10:03:23  profilanswer
 

ben faut que tu fasses une relation entre ton libellé de situation et tes différents flags

n°1669510
4rocky4
à 50 cm de l'écran
Posté le 11-01-2008 à 10:26:36  profilanswer
 

qu'entendez vous dans "libellé de situation" et les "différents flags" ?

mood
Publicité
Posté le 11-01-2008 à 10:26:36  profilanswer
 

n°1669560
MagicBuzz
Posté le 11-01-2008 à 11:24:02  profilanswer
 

Dans ta requête, "num_situation_crea", il ne sait pas lequel prendre, donc il les prend tous. Il faut rajouter un filtre sur le bon, c'est à dire "moins de 26 ans" dans ton cas.

n°1669715
4rocky4
à 50 cm de l'écran
Posté le 11-01-2008 à 14:59:28  profilanswer
 

Que veut dire ce message d'erreur qui apparait lorsque j'exécute une requête ?
 
http://img246.imageshack.us/img246/3816/msgerreurxl3.jpg

n°1669721
MagicBuzz
Posté le 11-01-2008 à 15:02:53  profilanswer
 

Ben je pense que "-1' tu mettrais "true" à la place il serait plus content.
 
En tout cas, ça ressemble à un problème comme ça, car là c'est un souci de conversion de type.

n°1670613
4rocky4
à 50 cm de l'écran
Posté le 14-01-2008 à 10:02:00  profilanswer
 

C'est bon !
Merci bien pour l'aide MagicBuzz [:amel_the_white]


---------------
- Un con qui marche ira plus loin qu'un intellectuel assis -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Access] Modification d'une base de données

 

Sujets relatifs
Choix de base de données pour structurer du contenuProblème Stockage dans une table access
envoyer des données dans une base mysql (resolu)Pb de structures de données dynamique delphi/pascal
Formulaire qui modifie la base de donnéescréer des formulaires sur ACCESS
Plus de sujets relatifs à : [Access] Modification d'une base de données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR