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

Modification d'une base de données [Access] - SQL/NoSQL - Programmation

Marsh Posté le 10-01-2008 à 12:08:30    

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.

Reply

Marsh Posté le 10-01-2008 à 12:08:30   

Reply

Marsh Posté le 10-01-2008 à 13:38:02    

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. )

Reply

Marsh Posté le 10-01-2008 à 13:59:10    

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:

Reply

Marsh Posté le 10-01-2008 à 14:00:22    

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

Reply

Marsh Posté le 10-01-2008 à 14:13:02    

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:

Reply

Marsh Posté le 10-01-2008 à 17:17:17    

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

Reply

Marsh Posté le 10-01-2008 à 17:18:16    

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

Reply

Marsh Posté le 11-01-2008 à 09:17:44    

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  :??:

Reply

Marsh Posté le 11-01-2008 à 10:03:23    

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

Reply

Marsh Posté le 11-01-2008 à 10:26:36    

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

Reply

Marsh Posté le 11-01-2008 à 10:26:36   

Reply

Marsh Posté le 11-01-2008 à 11:24:02    

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.

Reply

Marsh Posté le 11-01-2008 à 14:59:28    

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

Reply

Marsh Posté le 11-01-2008 à 15:02:53    

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.

Reply

Marsh Posté le 14-01-2008 à 10:02:00    

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


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

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed