Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2008, 09h38   #1
Membre à l'essai
 
Étudiant
Inscription : avril 2008
Messages : 87
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 87
Points : 24
Points : 24
Par défaut Remplissage d'une table

Bonjour à tous,

J'aimerai savoir quelle requête ou quel module me permetterait de passer de la table A :

Code :
1
2
3
4
 
identifiant      An1                  An2
1                 0,46                  23
2                 1421                 1.48
à la table B :

Code :
1
2
3
4
5
6
 
numéroAn  identifiant     quantité
1                1               0.46
1                2               1421
2                1               23
2                2               1.48
Si vous quelqu'un a un moyen relativement simple, je suis preneur !!

Merci à tous d'avance pour vos réponses.
Beltegeuse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 09h53   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 884
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 884
Points : 10 739
Points : 10 739
Envoyer un message via MSN à jpcheck
salut,
dans l'idée
Code :
1
2
3
4
INSERT INTO TableB (numéroAn, identifiant, quantité)
SELECT 1, TableA.identifiant, TableA.An1 FROM TableA 
UNION
SELECT 2, TableA.identifiant, TableA.An2 FROM TableA;
sous réserve de format des nombres et toutes les subtilités pas détectées jusqu'à présent
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h00   #3
Membre à l'essai
 
Étudiant
Inscription : avril 2008
Messages : 87
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 87
Points : 24
Points : 24
Merci pour la rapidité de la réponse !!!

Cependant, comment faire si on a par exemple :

Code :
1
2
3
4
 
identifiant      An1                  An2        
1                 0,46                  23
2                 1421                 -1
-1 signifie qu'il n'y a pas de liaison identifiant,An2 et cela de manière automatique (car dans la réalité, j'ai plus de 2000 identifiants et 60 An différents ...).

MErci de ton attention !!
Beltegeuse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h11   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 884
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 884
Points : 10 739
Points : 10 739
Envoyer un message via MSN à jpcheck
euh,
tu as pas oublié de nous dire qu'en gros ton archi de base l'est toute nase
bon alors je suppose là encore qu'il n'y a qu'un champ identifiant et par la suite que des champs AnXX.

on peut passer par du code VBA pour aller plus vite:
Code :
1
2
3
4
5
6
7
8
9
dim TableA as TableDef
dim tempField As Field
Set TableA = CurrentDb.TableDefs("TableA")
For Each tempField in TableA
If tempField.Name <>"identifiant" Then
CurrentDb.Execute " INSERT INTO TableB (numéroAn, identifiant, quantité) " & _
"SELECT " & Replace(tempField.Name,"An","") &", TableA.identifiant, TableA." & tempField & " FROM TableA;"
End If
Next
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h13   #5
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 884
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 884
Points : 10 739
Points : 10 739
Envoyer un message via MSN à jpcheck
et pour le coup du -1, tu fais un update en plus après, mais ce n'est pas super explicite de mon point de vue...
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h16   #6
Membre à l'essai
 
Étudiant
Inscription : avril 2008
Messages : 87
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 87
Points : 24
Points : 24
ok, je vais voir se que je peut faire avec ce morceau de code.
Je reviendrais si j'ai encore des problème !!

Merci de tes réponses !!!
Beltegeuse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h12.


 
 
 
 
Partenaires

Hébergement Web