Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

de Access vers Access

9 réponses
Avatar
DrFripouille
Bonjour à tous et à toutes!!
J'ai enfin fini une application sous Access 2003...en tout cas la
principale!! Car je dois en plus créer une application similaire mais dite
archive!!
Je voudrais donc transférer certaines données de la DbPrincipale vers la
DbArchive mais y a t-il des références importantes à valider.
Merci d'avance

9 réponses

Avatar
Raymond [mvp]
Bonjour.

ça depend de ce que tu veux faire avec tes archives. si c'est pour
transférer des tables complètes tu procèdes par une commande
DoCmd.TransferDatabase mais s'il s'agit d'archiver certains enregistrements
des tables en les ajoutant aux archives il faut faire une procédure complète
de traitement par requête de sélection et transfert du résultat.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Bonjour à tous et à toutes!!
| J'ai enfin fini une application sous Access 2003...en tout cas la
| principale!! Car je dois en plus créer une application similaire mais dite
| archive!!
| Je voudrais donc transférer certaines données de la DbPrincipale vers la
| DbArchive mais y a t-il des références importantes à valider.
| Merci d'avance
|
Avatar
DrFripouille
Bonjour!!
Merci davoir répondu aussi vite mais comme je m'étais absentée, je n'ai pu
venir plus tôt!

Sinon c'est la deuxième solution c'est à dire qu'il faut que je transmet
seulement quelques enregistrements et leur sous enregistrement vers ma base
archive. Donc quand tu parles de transfert de résultat, ca correspond à quoi?
S'agit t'il d'une commande spéciale??

Merci d'avance!




Bonjour.

ça depend de ce que tu veux faire avec tes archives. si c'est pour
transférer des tables complètes tu procèdes par une commande
DoCmd.TransferDatabase mais s'il s'agit d'archiver certains enregistrements
des tables en les ajoutant aux archives il faut faire une procédure complète
de traitement par requête de sélection et transfert du résultat.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Bonjour à tous et à toutes!!
| J'ai enfin fini une application sous Access 2003...en tout cas la
| principale!! Car je dois en plus créer une application similaire mais dite
| archive!!
| Je voudrais donc transférer certaines données de la DbPrincipale vers la
| DbArchive mais y a t-il des références importantes à valider.
| Merci d'avance
|





Avatar
Raymond [mvp]
il s'agit tout simplement de faire des requêtes Ajout qui iront ajouter les
enregistrements sélectionnés dans la table de ta base active, directement
dans ta table archives dans la base archives.
exemple:

INSERT INTO Table5 IN 'F:Mes Documents sur Databd2_2000.accdb'
SELECT table1.*
FROM table1
WHERE (((table1.Madate)>=#4/24/2007#));

à toi de compléter la clause where pour la faire correspondre à tes
archives.
tu fais autant de requêtes qu'il y a de tables à archiver.

s'il fallait supprimer les enregistrements transférés, il faudrait faire une
requête suppression avec les mêmes critères.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Bonjour!!
| Merci davoir répondu aussi vite mais comme je m'étais absentée, je n'ai pu
| venir plus tôt!
|
| Sinon c'est la deuxième solution c'est à dire qu'il faut que je transmet
| seulement quelques enregistrements et leur sous enregistrement vers ma
base
| archive. Donc quand tu parles de transfert de résultat, ca correspond à
quoi?
| S'agit t'il d'une commande spéciale??
|
| Merci d'avance!
Avatar
DrFripouille
merci beaucoup!!
je dirais si ca marche!!
merci encore!!


il s'agit tout simplement de faire des requêtes Ajout qui iront ajouter les
enregistrements sélectionnés dans la table de ta base active, directement
dans ta table archives dans la base archives.
exemple:

INSERT INTO Table5 IN 'F:Mes Documents sur Databd2_2000.accdb'
SELECT table1.*
FROM table1
WHERE (((table1.Madate)>=#4/24/2007#));

à toi de compléter la clause where pour la faire correspondre à tes
archives.
tu fais autant de requêtes qu'il y a de tables à archiver.

s'il fallait supprimer les enregistrements transférés, il faudrait faire une
requête suppression avec les mêmes critères.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Bonjour!!
| Merci davoir répondu aussi vite mais comme je m'étais absentée, je n'ai pu
| venir plus tôt!
|
| Sinon c'est la deuxième solution c'est à dire qu'il faut que je transmet
| seulement quelques enregistrements et leur sous enregistrement vers ma
base
| archive. Donc quand tu parles de transfert de résultat, ca correspond à
quoi?
| S'agit t'il d'une commande spéciale??
|
| Merci d'avance!





Avatar
DrFripouille
Malheureusement, j'ai une erreur.
Il s'agit d'une violation de clé. Et là je suis perdue...j'ai trouvé qu'il
fallait soit supprimer la relation entre les tables concernées ou désactiver
l'intégrité référentielle(aide d'access) et je ne comprend pa sleurs
solutions....Peux tu maider une dernière fois??S'il te plait
Merci d'avance



il s'agit tout simplement de faire des requêtes Ajout qui iront ajouter les
enregistrements sélectionnés dans la table de ta base active, directement
dans ta table archives dans la base archives.
exemple:

INSERT INTO Table5 IN 'F:Mes Documents sur Databd2_2000.accdb'
SELECT table1.*
FROM table1
WHERE (((table1.Madate)>=#4/24/2007#));

à toi de compléter la clause where pour la faire correspondre à tes
archives.
tu fais autant de requêtes qu'il y a de tables à archiver.

s'il fallait supprimer les enregistrements transférés, il faudrait faire une
requête suppression avec les mêmes critères.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Bonjour!!
| Merci davoir répondu aussi vite mais comme je m'étais absentée, je n'ai pu
| venir plus tôt!
|
| Sinon c'est la deuxième solution c'est à dire qu'il faut que je transmet
| seulement quelques enregistrements et leur sous enregistrement vers ma
base
| archive. Donc quand tu parles de transfert de résultat, ca correspond à
quoi?
| S'agit t'il d'une commande spéciale??
|
| Merci d'avance!





Avatar
Raymond [mvp]
j'ai du oublier de mentionner qu'il ne faut pas qu'il y ait de champ autonum
dans la base archives pour ne pas générer une autre numérotation qui
changerait les valeurs des clés. remplace tous tes autonum par un entier
long.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Malheureusement, j'ai une erreur.
| Il s'agit d'une violation de clé. Et là je suis perdue...j'ai trouvé qu'il
| fallait soit supprimer la relation entre les tables concernées ou
désactiver
| l'intégrité référentielle(aide d'access) et je ne comprend pa sleurs
| solutions....Peux tu maider une dernière fois??S'il te plait
| Merci d'avance
|
|
|
| > il s'agit tout simplement de faire des requêtes Ajout qui iront ajouter
les
| > enregistrements sélectionnés dans la table de ta base active,
directement
| > dans ta table archives dans la base archives.
| > exemple:
| >
| > INSERT INTO Table5 IN 'F:Mes Documents sur Databd2_2000.accdb'
| > SELECT table1.*
| > FROM table1
| > WHERE (((table1.Madate)>=#4/24/2007#));
| >
| > à toi de compléter la clause where pour la faire correspondre à tes
| > archives.
| > tu fais autant de requêtes qu'il y a de tables à archiver.
| >
| > s'il fallait supprimer les enregistrements transférés, il faudrait faire
une
| > requête suppression avec les mêmes critères.
| > --
| > @+
| > Raymond Access MVP http://OfficeSystem.Access.free.fr/
| > Pour débuter sur le forum: http://www.mpfa.info/
| > Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
| >
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273
| >
| >
| > "DrFripouille" a écrit dans le
| > message de news:
| > | Bonjour!!
| > | Merci davoir répondu aussi vite mais comme je m'étais absentée, je
n'ai pu
| > | venir plus tôt!
| > |
| > | Sinon c'est la deuxième solution c'est à dire qu'il faut que je
transmet
| > | seulement quelques enregistrements et leur sous enregistrement vers ma
| > base
| > | archive. Donc quand tu parles de transfert de résultat, ca correspond
à
| > quoi?
| > | S'agit t'il d'une commande spéciale??
| > |
| > | Merci d'avance!
| >
| >
| >
Avatar
DrFripouille
Encore merci pour cette nouvelle information.

mais du coup, j'ai une autre question d'ordre pratique. Quand j'exporterais
un client vers la base archive, il gardera son numéro qu'il a dans la base
actuelle ça c’est compris. Mais quand, je prendrais certaines informations le
concernant, il aura un nouveau numéro ou il aura celui de la base archive
c'est à dire son ancien??
Je m'explique : quand un client passe une nouvelle commande, soit c'est un
nouveau client et alors je crée une nouvelle fiche, soit il a déjà passé
commande et là, je vais chercher les informations importantes soit dans la
base actuelle, soit dans les archives. Sachant que le numéro de l’entité
Client est un numéro automatique. Dois-je alors le changer en entier long
également et alors à chaque nouveau client crée, j’ajoute 1 au maximun de ce
numéro(ce qui alors me ferait refaire beaucoup de choses) ou alors est-il
possible avec des « insert into » de le rentrer de nouveau dans la base
actuelle (si elle vient des archives) en lui donnant son ancien numéro.
J’espère m’être fait comprendre !
Merci d’avacne



j'ai du oublier de mentionner qu'il ne faut pas qu'il y ait de champ autonum
dans la base archives pour ne pas générer une autre numérotation qui
changerait les valeurs des clés. remplace tous tes autonum par un entier
long.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


Avatar
Raymond [mvp]
Bien sûr que c'est compris et il faut tout de suite appliquer les impératifs
access.
si un enregistrement d'une table doit faire l'aller-retour entre archives et
activité, une clé primaire autonum est interdite et doit être personnalisée,
en numérique ou alpha peu importe. la clé doit rester identique toute la vie
du compte. pour les enregistrements de type écriture comptable, la clé
primaire basée sur un numéro de saisie n'a pas d'importance mais le numéro
du compte, lui, est toujours le même.

si tu ne sais pas quoi faire comme numérotation, change autonum en entier
long et ça fonctionnera. il faudra biern sûr, fusionner les deux tables
archives et activité actuelles pour faire une table complète et unique avant
de renuméroter et ensuite repartager en archives et activité. bien entendu
tu dois prévoir une procédure de numérotation automatique par incrémentation
sur le formulaire de saisie d'un nouvel enregistrement.

Ce genre de gymnastique doit être pensé avant de se lancer et surtout doit
faire l'objet de tests poussés sinon tu n'auras que des données inutiles.

sauf si ton fichier est d'une taille excessive et qui justifie d'avoir deux
fichiers clients, je te conseille d'avoir un seul fichier client avec un
code actif pour chaque client de type oui/non qui indique si le client est
actif ou archivé. tout sera bien plus simple.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Encore merci pour cette nouvelle information.
|
| mais du coup, j'ai une autre question d'ordre pratique. Quand
j'exporterais
| un client vers la base archive, il gardera son numéro qu'il a dans la base
| actuelle ça c'est compris. Mais quand, je prendrais certaines informations
le
| concernant, il aura un nouveau numéro ou il aura celui de la base archive
| c'est à dire son ancien??
| Je m'explique : quand un client passe une nouvelle commande, soit c'est un
| nouveau client et alors je crée une nouvelle fiche, soit il a déjà passé
| commande et là, je vais chercher les informations importantes soit dans la
| base actuelle, soit dans les archives. Sachant que le numéro de l'entité
| Client est un numéro automatique. Dois-je alors le changer en entier long
| également et alors à chaque nouveau client crée, j'ajoute 1 au maximun de
ce
| numéro(ce qui alors me ferait refaire beaucoup de choses) ou alors est-il
| possible avec des « insert into » de le rentrer de nouveau dans la base
| actuelle (si elle vient des archives) en lui donnant son ancien numéro.
| J'espère m'être fait comprendre !
| Merci d'avacne
|
|
|
| > j'ai du oublier de mentionner qu'il ne faut pas qu'il y ait de champ
autonum
| > dans la base archives pour ne pas générer une autre numérotation qui
| > changerait les valeurs des clés. remplace tous tes autonum par un entier
| > long.
| >
| > --
| > @+
| > Raymond Access MVP http://OfficeSystem.Access.free.fr/
| > Pour débuter sur le forum: http://www.mpfa.info/
| > Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
| >
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273
|
Avatar
DrFripouille
Merci beaucoup!! Ca marche!!
encore merci
A bientôt


Bien sûr que c'est compris et il faut tout de suite appliquer les impératifs
access.
si un enregistrement d'une table doit faire l'aller-retour entre archives et
activité, une clé primaire autonum est interdite et doit être personnalisée,
en numérique ou alpha peu importe. la clé doit rester identique toute la vie
du compte. pour les enregistrements de type écriture comptable, la clé
primaire basée sur un numéro de saisie n'a pas d'importance mais le numéro
du compte, lui, est toujours le même.

si tu ne sais pas quoi faire comme numérotation, change autonum en entier
long et ça fonctionnera. il faudra biern sûr, fusionner les deux tables
archives et activité actuelles pour faire une table complète et unique avant
de renuméroter et ensuite repartager en archives et activité. bien entendu
tu dois prévoir une procédure de numérotation automatique par incrémentation
sur le formulaire de saisie d'un nouvel enregistrement.

Ce genre de gymnastique doit être pensé avant de se lancer et surtout doit
faire l'objet de tests poussés sinon tu n'auras que des données inutiles.

sauf si ton fichier est d'une taille excessive et qui justifie d'avoir deux
fichiers clients, je te conseille d'avoir un seul fichier client avec un
code actif pour chaque client de type oui/non qui indique si le client est
actif ou archivé. tout sera bien plus simple.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"DrFripouille" a écrit dans le
message de news:
| Encore merci pour cette nouvelle information.
|
| mais du coup, j'ai une autre question d'ordre pratique. Quand
j'exporterais
| un client vers la base archive, il gardera son numéro qu'il a dans la base
| actuelle ça c'est compris. Mais quand, je prendrais certaines informations
le
| concernant, il aura un nouveau numéro ou il aura celui de la base archive
| c'est à dire son ancien??
| Je m'explique : quand un client passe une nouvelle commande, soit c'est un
| nouveau client et alors je crée une nouvelle fiche, soit il a déjà passé
| commande et là, je vais chercher les informations importantes soit dans la
| base actuelle, soit dans les archives. Sachant que le numéro de l'entité
| Client est un numéro automatique. Dois-je alors le changer en entier long
| également et alors à chaque nouveau client crée, j'ajoute 1 au maximun de
ce
| numéro(ce qui alors me ferait refaire beaucoup de choses) ou alors est-il
| possible avec des « insert into » de le rentrer de nouveau dans la base
| actuelle (si elle vient des archives) en lui donnant son ancien numéro.
| J'espère m'être fait comprendre !
| Merci d'avacne
|
|
|
| > j'ai du oublier de mentionner qu'il ne faut pas qu'il y ait de champ
autonum
| > dans la base archives pour ne pas générer une autre numérotation qui
| > changerait les valeurs des clés. remplace tous tes autonum par un entier
| > long.
| >
| > --
| > @+
| > Raymond Access MVP http://OfficeSystem.Access.free.fr/
| > Pour débuter sur le forum: http://www.mpfa.info/
| > Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
| >
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273
|