Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
bonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
bonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" <jf@jf.com> a écrit dans le message de news:
mesnews.339a7d3c.9dc8786e.4.4671@jf.com...
Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
bonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeff
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeff
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeff
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeffbonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeff
bonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" <jf@jf.com> a écrit dans le message de news:
mesnews.339a7d3c.9dc8786e.4.4671@jf.com...
Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeffbonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
pas du tout, tu crées une clé primaire en selectionnant les 2 champs
Un index peut comprendre 1 ou plusieurs champs et il y a doublon si les 2
champs se retrouvent à l'identique
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeffbonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
pas du tout, tu crées une clé primaire en selectionnant les 2 champs
Un index peut comprendre 1 ou plusieurs champs et il y a doublon si les 2
champs se retrouvent à l'identique
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" <jf@jf.com> a écrit dans le message de news:
mesnews.33ae7d3c.27a04e34.5.4671@jf.com...
Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeff
bonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" <jf@jf.com> a écrit dans le message de news:
mesnews.339a7d3c.9dc8786e.4.4671@jf.com...
Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
pas du tout, tu crées une clé primaire en selectionnant les 2 champs
Un index peut comprendre 1 ou plusieurs champs et il y a doublon si les 2
champs se retrouvent à l'identique
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour Pierre
Si je crée deux index sans doublons, cela veut donc dire que
deux code ne peuvent pas avoir la même date ?
Si c'est ça ce n'est pas bon car deux codes peuvent avoir
la même date mais le même code ne peut pas avoir deux fois
la même date ... (j'espère que c'est clair)
Cordialement
Jeffbonjour
si tu base ta clé primaire sur ces 2 champs (ou tu crées un undex sur les 2
champs sans doublon) lors de l'import, les doublons se font jeter, tout
simplement
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Jeff" a écrit dans le message de news:Bonjour à tous
Dans une table 4 champs [Code],[Date1],[Prix],[Etat]
Une importation de données (fichier texte) vient alimenter
cette table.
Problème (je sais c'est le même pour tout le monde) : empécher
les doublons dans la table basés sur les 2 premiers enregistrements
[Code],[Date1]. Un code peut apparaître plusieurs fois, une date aussi
mais un code à une date ne peut apparaître qu'une seule fois.
Ma solution (qui ne me semble pas être trés bonne)
Requête sélection avec regroupement, comptage des champs et prise en
compte
uniquement de ceux qui apparaissent plus d'une fois dans la table.
Plus une fonction
Sub SuppressionDoublons()
Dim db As DAO.Database, rs As DAO.Recordset, rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("DOUBLONS")
Do Until rs.EOF
Set rs1 = db.OpenRecordset("select * from [table1] where
[Code]=" & EntoureGuillemets(rs!Code) & " and [Date1]=" &
DateAmericaine(rs!date1))
rs1.MoveNext
Do Until rs1.EOF
rs1.Delete
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
End Sub
Etant donné que ma recherche de doublons se basent sur deux champs de
la table et non pas sur un seul, j'en appelle à vos conseil pour soit
optimiser
cette fonction (si c'est possible :-) ) ou la convertir en requête
suppression
(toujours si cela est possible). A moins que la solution me soit
bêtement
passer sous le nez...
Merci d'avance
Cordialement
Jeff
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com