OVH Cloud OVH Cloud

Lier deux fichiers excel a une seule base de donnees

8 réponses
Avatar
sydney
Bonjour ,

J'ai li=E9 un fichier Excel =E0 une base de donn=E9es sur Access. J'arrive
=E0 modifier, =E0 ajouter et m=EAme =E0 supprimer les donn=E9es sans soucis.


L'entreprise o=F9 j'effectue mon stage m'a demand=E9 de faire une feuille
sp=E9ciale pour que ses ing=E9nieurs sur le terrain modifient certaines
donn=E9es. Et voulant limiter les erreurs, elle a limit=E9 le nombre
d'informations au stricte minimum.Une fois remplie, il faudrait que
cette feuille puisse mettre =E0 jour les donn=E9es de la base de
donn=E9es Access.

J'ai r=E9alis=E9 une feuille Excel dans ce sens, seulement je ne sais pas
comment faire pour que, une fois la feuille remplie par les ing=E9nieurs
et renvoy=E9 dans les bureaux, je n'ai plus qu'=E0 valider soit par un
click sur bouton de commande soit par autre chose.

J'ai pens=E9 (encore un fois malheureusement pour moi) =E0 convertir un
algorithme en code visual basic.Car je ne vois pas quel moyen me
permettrait de faire des modifications de donn=E9es sur la m=EAme table
li=E9e.

Voici l'algorithme que j'ai imagin=E9 dans ce sens :


STRUCTURE CYLINDERS

| SN : AlphaNum=E9rique (&N)
| Composant : Texte
| Type : &N
| BN : &N
| TN : &N
| Volume: Entier
| Country: Texte
| ProductDate: Date
| ExpiryDate: Date

FIN STRUCTURE


STRUCTURE INGENIEUR

| Type: &N
| SN: &N
| JN: Entier
| Statut: Texte
| ExpiryDate : Date

FIN STRUCTURE

DEBUT
|
| SI SN.CYLINDERS =3D SN.INGENIEUR
| |
| | ALORS Volume.CYLINDERS <-- Statut.INGENIEUR
| |
| | JN.CYLINDERS <-- JN.INGENIEUR
| FIN SI
FIN

Si vous avez rien qu'une petite id=E9e pour r=E9soudre ce probl=E8me,
merci de me r=E9pondre rapidement.

8 réponses

Avatar
3stone
Salut,

"sydney" J'ai lié un fichier Excel à une base de données sur Access. J'arrive
à modifier, à ajouter et même à supprimer les données sans soucis.


L'entreprise où j'effectue mon stage m'a demandé de faire une feuille
spéciale pour que ses ingénieurs sur le terrain modifient certaines
données. Et voulant limiter les erreurs, elle a limité le nombre
d'informations au stricte minimum.Une fois remplie, il faudrait que
cette feuille puisse mettre à jour les données de la base de
données Access.

J'ai réalisé une feuille Excel dans ce sens, seulement je ne sais pas
comment faire pour que, une fois la feuille remplie par les ingénieurs
et renvoyé dans les bureaux, je n'ai plus qu'à valider soit par un
click sur bouton de commande soit par autre chose.
--------------------


Tu peux également lier la seconde feuille et faire la mise à jour
de la première par une requête ajout (ou de mise à jour)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
sydney
3stone wrote:

Tu peux également lier la seconde feuille et faire la mise à jour
de la première par une requête ajout (ou de mise à jour)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/




Merci beaucoup pour ton conseil 3stone. J'ai liée la deuxième table
et j'ai créer une requête de mises à jour: Seulement, Access me dit
que les requêtes updates ne sont pas autorisées pour les tables
liées. Sachant que j'ai Access 2000 aurais-tu une suggestion de
requête s'il te plaît ??

Avatar
sydney
Merci beaucoup d'avance. (J'ai la possibilité d'installer Access2003
si nécessaire ^^)
Avatar
3stone
Salut,

"sydney"
J'ai liée la deuxième table
et j'ai créer une requête de mises à jour: Seulement, Access me dit
que les requêtes updates ne sont pas autorisées pour les tables
liées. Sachant que j'ai Access 2000 aurais-tu une suggestion de
requête s'il te plaît ??




Bien sûr que si !
On peut parfaitement faire la mise à jour de tables attachées,
même si celles-ci sont de feuilles Excel...

Soit, ton fichier attaché n'as pas la structure qui permet
une mise à jour, soit ta requête ne le permet pas.

Donne le SQL de ta requête ici, pour voir.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
sydney

Bien sûr que si !
On peut parfaitement faire la mise à jour de tables attachées,
même si celles-ci sont de feuilles Excel...

Soit, ton fichier attaché n'as pas la structure qui permet
une mise à jour, soit ta requête ne le permet pas.

Donne le SQL de ta requête ici, pour voir.

--
A+



Ok ! Déjà si tu me dis que c'est possible alors je suis confiante.
Voici la requête créée :
La première que j'ai faite est celle ci :

UPDATE TRY
SET jn = JN.SAISIE,
status = Status.SAISIE
WHERE TRY.sn = SN. SAISIE;

Seulement, Access ne reconnaissait pas la table SAISIE et me demandais
de saisir des données lors de son éxecution. Alors je l'ai modifiée,
et voilà ce que ça donne :

UPDATE TRY
SET jn = (SELECT JN
FROM SAISIE),
status = (SELECT Status
FROM SAISIE)
WHERE TRY.sn = (SELECT SN
FROM SAISIE);

J'y utilise deux tables liées d'Excel : la table TRY et la table
SAISIE.
Dans ces tables "jn" et "JN" sont exactement le même type de données
(tout comme "status" et "SN")
Et j'essaie de remplacer les données de TRY par celle de SAISIE.

Voilà. J'ai hâte de connaître ta solution qui me sera d'une grande
aide. Encore une fois merci.
A+. Sydney

Avatar
3stone
Salut,

"sydney"
Bien sûr que si !
On peut parfaitement faire la mise à jour de tables attachées,
même si celles-ci sont de feuilles Excel...

Soit, ton fichier attaché n'as pas la structure qui permet
une mise à jour, soit ta requête ne le permet pas.

Donne le SQL de ta requête ici, pour voir.

--
A+



Ok ! Déjà si tu me dis que c'est possible alors je suis confiante.
Voici la requête créée :
La première que j'ai faite est celle ci :

UPDATE TRY
SET jn = JN.SAISIE,
status = Status.SAISIE
WHERE TRY.sn = SN. SAISIE;

Seulement, Access ne reconnaissait pas la table SAISIE et me demandais



Pas étonnant...


Esaies quelque chose comme :

UPDATE TABLE1 INNER JOIN Table2 ON [TABLE1].PK = [Table2].PK
SET [TABLE1].Champ1 = [Table2].Champ1,
[TABLE1].Champ2 = [Table2].Champ2;


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/

Avatar
sydney
Pas étonnant...


Esaies quelque chose comme :

UPDATE TABLE1 INNER JOIN Table2 ON [TABLE1].PK = [Table2].PK
SET [TABLE1].Champ1 = [Table2].Champ1,
[TABLE1].Champ2 = [Table2].Champ2;


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Ok !!! D'accord, je m'en vais de ce pas l'essayer !! Merci beaucoup.
Juste une chose me brouille. Je suis peut -etre bete mais je demande
quand meme : que signifie PK ??

Avatar
sydney
Non en fait oublie ma question ; primo, je viens de comprendre et
deuxio, elle etait stupide!!!
Merci.

A+. Sydney