Salut tout le monde,
J'ai une table qui contient des données, environs 3000
enregistrements. Dans un fichier excel j'ai des données, environs
50000,ce sont les mêmes champs que dans la table access.
Je veux importer ces données dans la table access, mais pas toutes,
seulement celles qui ont le numéro personnel le même que celles qui se
trouvent dans access déjà.
comment faire?
merci, et à plus.
Salut tout le monde,
J'ai une table qui contient des données, environs 3000
enregistrements. Dans un fichier excel j'ai des données, environs
50000,ce sont les mêmes champs que dans la table access.
Je veux importer ces données dans la table access, mais pas toutes,
seulement celles qui ont le numéro personnel le même que celles qui se
trouvent dans access déjà.
comment faire?
merci, et à plus.
Salut tout le monde,
J'ai une table qui contient des données, environs 3000
enregistrements. Dans un fichier excel j'ai des données, environs
50000,ce sont les mêmes champs que dans la table access.
Je veux importer ces données dans la table access, mais pas toutes,
seulement celles qui ont le numéro personnel le même que celles qui se
trouvent dans access déjà.
comment faire?
merci, et à plus.
Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et pro visoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
pgz a écrit :> Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et pro visoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et pro visoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
On 8 juin, 08:31, Fabien wrote:pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num >> Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 >> ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
On 8 juin, 08:31, Fabien <UrbaniakFab...@Neuf.fr> wrote:
pgz a écrit :> Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num >> Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 >> ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
On 8 juin, 08:31, Fabien wrote:pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et provisoire,
- récupérer alors les données utiles avec une procédure DAO ou ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num >> Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 >> ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
On 8 juin, 08:31, Fabien wrote:pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et p rovisoire,
- récupérer alors les données utiles avec une procédure DAO o u ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
Tu choisit tes 2 tables T_provisoire et T_data
Tu créé un lien entre les deux sur le champs NoPersonnel
Tu indique qu'il s'agit d'une requte de mise a jour
et tu séléctionne les champs a mettre a jour dans ta table T_data.
Pour chaque champs de T_Data tu indique dans la ligne mise a jour, le
champ de la table T_Provisoire qui lui correspond.
Tu dois obtenir quelque chose comme :
T_data T_provisoire
NoPersonnel-----------------NoPersonnel
Champs1 Champs1
champs2 Champs2
---------------------------------------------------------------------
Champs | Champ1 | Champ2
Table |T_data |T_data
Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2]
----------------------------------------------------------------------- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 8 juin, 08:31, Fabien <UrbaniakFab...@Neuf.fr> wrote:
pgz a écrit :> Bonsoir.
Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et p rovisoire,
- récupérer alors les données utiles avec une procédure DAO o u ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
Tu choisit tes 2 tables T_provisoire et T_data
Tu créé un lien entre les deux sur le champs NoPersonnel
Tu indique qu'il s'agit d'une requte de mise a jour
et tu séléctionne les champs a mettre a jour dans ta table T_data.
Pour chaque champs de T_Data tu indique dans la ligne mise a jour, le
champ de la table T_Provisoire qui lui correspond.
Tu dois obtenir quelque chose comme :
T_data T_provisoire
NoPersonnel-----------------NoPersonnel
Champs1 Champs1
champs2 Champs2
---------------------------------------------------------------------
Champs | Champ1 | Champ2
Table |T_data |T_data
Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2]
----------------------------------------------------------------------- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 8 juin, 08:31, Fabien wrote:pgz a écrit :> Bonsoir.Dans le principe, je te proposerais la manip suivante :
- importer toutes les données XL dans une table particulière et p rovisoire,
- récupérer alors les données utiles avec une procédure DAO o u ADO,
- supprimer la table provisoire
Bon courage,
Bonjour,
Ok pour l'import.
Puis Mise a jour de la table par les éléments de la table d'import :
UPDATE ImportClassTmp INNER JOIN Matable ON (ImportClassTmp.Num =
Matable.Num)
SET Matable.Champ1 = ImportClasstmp.Champ1, Matable.Champ2 =
ImportClasstmp.Champ2 ;
Voilou
Salut, merci pour vos réponse, j'avoue que je ne comprends pas tout...
j'ai suivi donc un peu votre aide, j'ai crée une nouvelle table qui
s'appelle T_Provisoire, et qui contient les mêmes champs que la table
originale, elle s'appelle T_Data. Le champs sur lequel le update doit
fonctionner s'appelle NoPersonnel.
Pouvez-vous écrire votre fonction sql avec mes données svp.
merci.
Le plus simple c'est de creer une nouvelle requete.
Tu choisit tes 2 tables T_provisoire et T_data
Tu créé un lien entre les deux sur le champs NoPersonnel
Tu indique qu'il s'agit d'une requte de mise a jour
et tu séléctionne les champs a mettre a jour dans ta table T_data.
Pour chaque champs de T_Data tu indique dans la ligne mise a jour, le
champ de la table T_Provisoire qui lui correspond.
Tu dois obtenir quelque chose comme :
T_data T_provisoire
NoPersonnel-----------------NoPersonnel
Champs1 Champs1
champs2 Champs2
---------------------------------------------------------------------
Champs | Champ1 | Champ2
Table |T_data |T_data
Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2]
----------------------------------------------------------------------- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi
- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi
- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi
Bonjour.
Je te propose la procédure DAO suivante, dans l'idée et donc à matt re au
point dans ton contexte
Public sub subImporter
dim db as DAO.Database, rstData as DAO.Recordset, rstProvisoire as
DAO.Recordset
set db = Application.CurrentDb
set rstData = db.OpenRecordSet("T_Data",dbOpenDynaset)
set rstProv = db.OpenRecordSet("T_Provisoire",dbOpenDynaset)
While Not rstProv.EOF
rstData.FindFirst "NoPersonnel = " & rstProv("NoPersonnel")
if Not rstData.NoMatch Then
rstData.AddNew
rstData("NoPersonnel") = rstProv("NoPersonnel")
rstData("NomChamp") = rstProv("NomChamp")
...
rstData.Update
End if
rstProv.MoveNext
Wend
rstProv.Close
rstData.Close
set rstProv = Nothing
Set rstData=Nothing
Set db = Nothing
End sub
Et tu exécutes : F5
Bon courage,
--
pgz
_____________________________- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Je te propose la procédure DAO suivante, dans l'idée et donc à matt re au
point dans ton contexte
Public sub subImporter
dim db as DAO.Database, rstData as DAO.Recordset, rstProvisoire as
DAO.Recordset
set db = Application.CurrentDb
set rstData = db.OpenRecordSet("T_Data",dbOpenDynaset)
set rstProv = db.OpenRecordSet("T_Provisoire",dbOpenDynaset)
While Not rstProv.EOF
rstData.FindFirst "NoPersonnel = " & rstProv("NoPersonnel")
if Not rstData.NoMatch Then
rstData.AddNew
rstData("NoPersonnel") = rstProv("NoPersonnel")
rstData("NomChamp") = rstProv("NomChamp")
...
rstData.Update
End if
rstProv.MoveNext
Wend
rstProv.Close
rstData.Close
set rstProv = Nothing
Set rstData=Nothing
Set db = Nothing
End sub
Et tu exécutes : F5
Bon courage,
--
pgz
_____________________________
p...@wanadoo.fr
- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Je te propose la procédure DAO suivante, dans l'idée et donc à matt re au
point dans ton contexte
Public sub subImporter
dim db as DAO.Database, rstData as DAO.Recordset, rstProvisoire as
DAO.Recordset
set db = Application.CurrentDb
set rstData = db.OpenRecordSet("T_Data",dbOpenDynaset)
set rstProv = db.OpenRecordSet("T_Provisoire",dbOpenDynaset)
While Not rstProv.EOF
rstData.FindFirst "NoPersonnel = " & rstProv("NoPersonnel")
if Not rstData.NoMatch Then
rstData.AddNew
rstData("NoPersonnel") = rstProv("NoPersonnel")
rstData("NomChamp") = rstProv("NomChamp")
...
rstData.Update
End if
rstProv.MoveNext
Wend
rstProv.Close
rstData.Close
set rstProv = Nothing
Set rstData=Nothing
Set db = Nothing
End sub
Et tu exécutes : F5
Bon courage,
--
pgz
_____________________________- Afficher le texte des messages précédents -
Salut, merci pour ta réponse, mais moi je ne veux justement pas mettre
à jour les champs que j'ai dans T_Data, je veux juste ajouter des
lignes à ma table, mais ajouter seulement les personnes qui existent
déjà dans ma T_Data, donc en fait au final j'aurai deux lignes pour la
même personne... c'est ce que je veux...
et non pas mettre à jour un champ particulier... ca je ne veux pas...
merci à toi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -