Copie d'une table ACCESS..

Résolu/Fermé
Utilisateur anonyme - 4 oct. 2007 à 10:05
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 - 8 oct. 2007 à 14:09
Bonjour,
Je suis un vrai débutant en access, et je cherche à créer un champ retard défini comme la différence de deux champs dans une table qu'on nommera X.. J'ai essayé de créer ce champs mais access me sors un message comme quoi la table est "attachée" et donc je peux pas le modifier..
Donc je veux créer une copie de la table X avec tous les enregistremens des differents champs dans une table Y ou je pourrai rajouter entre autres le champ retard.. Et je voudrais que dès que la table X est modifiée les changement soient intégrés dans la table Y..
Merci de me dire comment faire (SVP juste avec l'assistant requête si possible..) en me spécifiant tous les ptits details car je suis vraiment une m**** en ACCESS..
Merci de vos réponses..
Ah oui G ACCESS 97.. (Je ne sais pas si çà change quelque chose..)
A voir également:

15 réponses

blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
8 oct. 2007 à 11:18
Ah mais voui, maintenant que j'y pense, on ne peut pas soustraire deux dates comme ça, il faut utiliser la fonction datediff pour lui demander ce qu'on veut (en jours, heures...)

set .... = datediff(date1,date2,intervalle) (si j'ai bonne mémoire, le reste est dans l'aide...)
1
Utilisateur anonyme
4 oct. 2007 à 11:14
Plz I need help... :-(
0
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
4 oct. 2007 à 11:29
Salut,

quel est l'intérêt de créer un champ avec des valeurs que l'on peut calculer quand on veut ? C'est contraire aux principes des bases de données...

Par contre, il est impossible de créer une table avec un attachement limité à certains champs...
De la même façon, il est impossible de transférer (de manière simple, car access ne connait pas les 'triggers', déclencheurs d'action suite à une évènement dans une base) des données d'une table dans une autre lors de modifications...

Peut-être qu'en expliquant plus précisément ton besoin, on pourra contourner le problème...
0
Utilisateur anonyme
4 oct. 2007 à 12:14
Ben le prblm est trop complexe.. ben une des raisons pour les quelles je veux créer un champs "retard de livraison"s est que je veux exporter sur Excell une table pour pouvoir gerer le planning d'activités après, et je dois le faire sur Excell!!
Et je sais pas si c'est possible d'exporter des données émanant de plusieurs tables..(C'est pour çà que je veux que les calculs soient dejà faits dans une table, car apres je veux juste faire un copier coller entre la feuille ou les données seraient exportées, et les caser dans ma feuille de planning..)
Donc ce dont je dispose maintenant c'est une grosse base avec plein de tables de requêtes formulaires macros... et moi à chaque fois je suis obligé de retaper des données sur Excell qui sont déjà renseignées sur Access.. Et je veux rajouter plusieurs fonctionnalités et des champs dans ma base (par exemple au moment de la première saisie de données j'ai plein de données que je veux avoir dans la base, mais elles n'y sont pas.. donc je voulais rajouter des champs pour pouvoir acceuillir ces données.. donc j'en reviens à mon prblm du début, la table ou je veux rajouter les champs est "attachée".. C pour çà que je pensais en faire une copie avec des nouveaux champs..)
Bref je sais pas si c'est clair..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
4 oct. 2007 à 13:04
On peut exporter des données venant de plusieurs tables en même temps en se rappelant qu'ACCESS traite les tables et les requêtes de la même façon. Il suffit donc de créer une requête avec tous les champs/calculs que l'on souhaite (venant d'une ou de plusieurs tables) pour ensuite l'exporter vers excel...
Ca devrait répondre à une partie de ta demande...

Pour la suite, il est parfaitement possible de créer une table (non-attachée) qui sera en relation 1-1 (donc avec la même clé primaire) avec la table attachée principale. Dedans, tu y mettras les informations qui t'intéressent...
Ca devrait compléter ta demande.

Qu'en penses-tu ?
0
Utilisateur anonyme
4 oct. 2007 à 14:48
Bon j'pense que c'est faisable.. Et de toute façon G pas trop le choix donc je pars sur ta proposition..
J'ai commencé par créer un champ retard de livraison de type numérique et je veux le définir en tant que la difference de 2 dates
donc G fait une requête avec l'assistant(une requête de mise à jour..), j'ai rajouté les tables ou il ya les champs.. Et plus bas j'ai selectionné le champs retard,et dans critères ya un truc du genre generer expression et j'ai mis retard= Date1-Date 2..
mais quand j'execute la retard il me dit la requete doit avoir un champ de destination..
Je sais pas si C comme çà qu'il faut faire..... :-(
0
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
5 oct. 2007 à 08:38
C'est un truc comme ça, mais il faut mettre un nom de champ à mettre à jour et faire un lien pour ne mettre à jour ce champ que pour la clé primaire de la table...

Si tu bascules en mode sql, ça doit donner un truc dans le genre :

UPDATE nouvelle_table SET retard = ... WHERE cle_nouvelle_table = cle_ancienne_table;
0
Utilisateur anonyme
5 oct. 2007 à 15:26
Ben je l'ai fait en sql!!!! L'assistant requ^te est incomprehensible.. ou bien C moi qui ne veut pas faire le moindre effort intellectuel??
Bref merci Blux..
0
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
5 oct. 2007 à 15:40
Et bien affiche ton sql et on verra où est le problème...
0
Utilisateur anonyme
8 oct. 2007 à 10:28
UPDATE COMPOSANT SET Retard_livraison_pieces = COMPOSANT.Date_recep_reelle-COMPOSANT.Date réception;

J'ai trouvé les champs dont j'avait besoin dans une autres table en l'occurence la table composant.. Il me dit erreur de syntaxe opérateur absent..
0
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
8 oct. 2007 à 10:45
Avec cette requête, tu vas mettre à jour le champ 'Retard_livraison_pieces' qui est dans la table COMPOSANT, c'est bien ce que tu souhaites ?
0
Utilisateur anonyme
8 oct. 2007 à 10:50
ouiiii..
0
Utilisateur anonyme
8 oct. 2007 à 10:51
mais çà marche pas avec cette requête comme j'l'ai dit..
0
Utilisateur anonyme
8 oct. 2007 à 13:57
Je sais pas si c'est ACCESS97 ou c'est moi (jpense que c'est plutot moi..) mais une aide sur datediff j'en ai pas trouvé, et j'airegardé sur le net j'ai trouvé un proto de datediff mais qui marche pas sur ACCESS 97.. Bref j'ai pu le faire avec l'assistant requête.. Anyway, Merci Blux..
0
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
8 oct. 2007 à 14:09
datediff marche bien en access depuis longtemps :

syntaxe exacte :

datediff(periode,date1,date2)

Le nombre de périodes souhaitées est à mettre en anglais : "d" pour des jours, "y" pour des années...
0