Ajouter des données à une table seulement si le numéro perso existe ...
7 réponses
ymer.hyseni
Salut tout le monde,
J'ai une table qui contient des donn=E9es, environs 3000
enregistrements. Dans un fichier excel j'ai des donn=E9es, environs
50000,ce sont les m=EAmes champs que dans la table access.
Je veux importer ces donn=E9es dans la table access, mais pas toutes,
seulement celles qui ont le num=E9ro personnel le m=EAme que celles qui se
trouvent dans access d=E9j=E0.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pgz
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,
-- pgz _____________________________
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
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à.
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,
-- pgz _____________________________
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.
Fabien
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
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
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
ymer.hyseni
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 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
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.
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 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
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.
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
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.
Fabien
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.
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 :
--------------------------------------------------------------------- Champs | Champ1 | Champ2 Table |T_data |T_data Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2] ----------------------------------------------------------------------
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.
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 :
---------------------------------------------------------------------
Champs | Champ1 | Champ2
Table |T_data |T_data
Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2]
----------------------------------------------------------------------
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.
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 :
--------------------------------------------------------------------- Champs | Champ1 | Champ2 Table |T_data |T_data Mise a jour |T_Provisoire.[Champ1] |T_Provisoire.[Champ2] ----------------------------------------------------------------------
ymer.hyseni
On 8 juin, 11:58, Fabien wrote:
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 :
--------------------------------------------------------------------- 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 -
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
On 8 juin, 11:58, Fabien <UrbaniakFab...@Neuf.fr> wrote:
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 :
---------------------------------------------------------------------
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 -
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...
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 :
--------------------------------------------------------------------- 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 -
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
pgz
Bonjour.
Je te propose la procédure DAO suivante, dans l'idée et donc à mattre 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
Bonjour.
Je te propose la procédure DAO suivante, dans l'idée et donc à mattre 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
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...
Je te propose la procédure DAO suivante, dans l'idée et donc à mattre 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
ymer.hyseni
On 8 juin, 12:57, pgz wrote:
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 -
Merci à toi, ca fonctionne comme il faut... bravo
cioa
On 8 juin, 12:57, pgz <p...@discussions.microsoft.com> wrote:
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
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 -
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 -