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
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
Pierre CFI [mvp]
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
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 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
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" 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
Raymond [mvp]
RE.
non, ce qu'a voulu te dire Pierre c'est que ta clé primaire qui est toujours unique est basée sur les deux champs indissociables et que la valeur jointe de ces deux champs est unique.. si ta clé est basée sur code + date, comme tu le dis, un code ne peut pas avoir deux fois la même date donc tu peux le prendre en clé primaire. lors de l'import le doublon sur la clé primaire ne sera pas pris en compte.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"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
Jeff
RE.
non, ce qu'a voulu te dire Pierre c'est que ta clé primaire qui est toujours
unique est basée sur les deux champs indissociables et que la valeur jointe
de ces deux champs est unique.. si ta clé est basée sur code + date, comme
tu le dis, un code ne peut pas avoir deux fois la même date donc tu peux le
prendre en clé primaire. lors de l'import le doublon sur la clé primaire ne
sera pas pris en compte.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"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)
non, ce qu'a voulu te dire Pierre c'est que ta clé primaire qui est toujours unique est basée sur les deux champs indissociables et que la valeur jointe de ces deux champs est unique.. si ta clé est basée sur code + date, comme tu le dis, un code ne peut pas avoir deux fois la même date donc tu peux le prendre en clé primaire. lors de l'import le doublon sur la clé primaire ne sera pas pris en compte.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"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
Jeff
Pierre CFI [mvp]
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
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" 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
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" 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
Jeff
Bonjour Pierre
Merci beaucoup pour cette information.
Cordialement
Jeff
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
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" 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
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Bonjour Pierre
Merci beaucoup pour cette information.
Cordialement
Jeff
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
--
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
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" 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
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com