[Access] Hoe dubbele vermeldingen deleten ?

Pagina: 1
Acties:
  • 134 views sinds 30-01-2008

  • Renkie
  • Registratie: Januari 2000
  • Laatst online: 30-08 06:53
Ik heb een access database (tabel) van ons klantenbestand met de volgende indeling :

net -- nummer -- straat -- naam

4 rijen dus

probleem is dat door een foutje bij ons er een aantal dubbele vermeldingen instaan

Ik weet dat ik dmv duplicaten niet toestaan dit soort dingen kan filteren, maar ik wil graag dat access dit doet door naar het telefoonnummer te kijken, dit staat dus verdeeld over 2 kolommen ! (net en nummer)

Is het mogelijk om die 2 kolommen te koppelen en deze 2 samen te controleren op duplicaten ?

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Kun je in access (net zoals ik mySQL :P) niet gewoon een unique index aanmaken op beiden kolommen?

Dus zoiets:
SQL:
1
2
3
4
 ALTER TABLE `customers` ADD UNIQUE (
`net` ,
`nummer`
) 

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • crazyx
  • Registratie: Juli 2001
  • Laatst online: 07-08 20:20
Dit kan je doen door een query te maken. Ik weet niet wat je kennis is van Access.

Eerst voeg je naam en straat toe aan die query, en dan voeg je net en nummer samen door in de titel het volgende te schrjiven => telefoon : net + nummer

En als je dan naar de query gaat kijken die access heeft aangemaakt, dan schrijf je daar DISTINCT vlak na het woord SELECT (is normaal het eerste woord), en dan zou alles in orde moeten zijn.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

crazyx schreef op 29 april 2004 @ 09:42:
Dit kan je doen door een query te maken. Ik weet niet wat je kennis is van Access.

Eerst voeg je naam en straat toe aan die query, en dan voeg je net en nummer samen door in de titel het volgende te schrjiven => telefoon : net + nummer

En als je dan naar de query gaat kijken die access heeft aangemaakt, dan schrijf je daar DISTINCT vlak na het woord SELECT (is normaal het eerste woord), en dan zou alles in orde moeten zijn.
Ik weet ook niet wat jouw kennis is van Access; maar op het moment dat je met een SELECT DISTINCT aan de gang gaat dan wijzig je niet de opgeslagen data (de inconsistentie dus) maar alleen de output daarvan. Het lijkt me beter om het eigenlijke, achterliggende probleem op te lossen, en niet alleen de weergave daarvan :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Kopieer de structuur van de tabel, geen data, naar een nieuwe tabel.
Zet een unieke index op het veld wat je moet hebben, hier dus een combi van twee, en kopieer dan de data erheen. Hij geeft dan natuurlijk een fout maar kies gewoon voor doorgaan en voila

[ Voor 7% gewijzigd door Verwijderd op 29-04-2004 11:07 ]


  • TromboneFreakus
  • Registratie: Juli 2001
  • Laatst online: 01-08-2023
Verwijderd schreef op 29 april 2004 @ 11:06:
Kopieer de structuur van de tabel, geen data, naar een nieuwe tabel.
Zet een unieke index op het veld wat je moet hebben, hier dus een combi van twee, en kopieer dan de data erheen. Hij geeft dan natuurlijk een fout maar kies gewoon voor doorgaan en voila
Dat lijkt me ook geen optie, aangezien je hier met twee velden zit die samen uniek moeten zijn. Op jouw wijze zou het netnummer al uniek moeten zijn, beetje tricky vooronderstelling....

Misschien kun je er wel op gokken dat het abonneenummer uniek moet zijn. Ik neem aan dat je in een bepaalde regio opereert en door de hernummering van enkele jaren terug kun je nog steeds vaak wel zien aan het nummer uit welke regio iemand komt binnen een bepaald netnummer. Juist dankzij dat voorvoegsel zijn volgens mij veel abonneenummers behoorlijk uniek binnen een niet supergroot gebied.

Verwijderd

TromboneFreakus schreef op 29 april 2004 @ 11:17:
[...]


Dat lijkt me ook geen optie, aangezien je hier met twee velden zit die samen uniek moeten zijn. Op jouw wijze zou het netnummer al uniek moeten zijn, beetje tricky vooronderstelling....

Misschien kun je er wel op gokken dat het abonneenummer uniek moet zijn. Ik neem aan dat je in een bepaalde regio opereert en door de hernummering van enkele jaren terug kun je nog steeds vaak wel zien aan het nummer uit welke regio iemand komt binnen een bepaald netnummer. Juist dankzij dat voorvoegsel zijn volgens mij veel abonneenummers behoorlijk uniek binnen een niet supergroot gebied.
Volgens mij snap je het niet ;), je maakt een gecombineerde index die op zich uniek moet zijn, ik heb het net even geprobeerd en het werkt prima.

  • Renkie
  • Registratie: Januari 2000
  • Laatst online: 30-08 06:53
Wanneer ik dmv een query alle dubbele vermeldingen kan vinden en deleten met de hand (op 1 van de dubbele vermeldingen na natuurlijk, die moet erin blijven) dan ben ik ook al blij !

Het gebied is heel Nederland, en wanneer er 2 mensen instaan met

020 1234567
021 1234567

Moet ik natuurlijk niet 1 van de 2 deleten als zijnde 'dubbel' , omdat het geheel bestaat uit waardes van beide rijen (02x EN 1234567 )

Verwijderd

Het is echt heel simpel gewoon de volgende stappen volgen:

Kopieer de structuur van de tabel, geen data, naar een nieuwe tabel.
Open deze in ontwerpmode
Ga naar view, indexes
Maak een index op netnummer, ga naar het veld eronder en geef geen naam in, kies het tweede veld voor de index.
Ga terug terug naar de eerste index en zet deze op uniek
Wijzigingen opslaan
Daarna in de oude tabel alle records selecteren en met Record append in de nieuwe tabel plakken
Dan kun je eerst de nieuwe tabel controleren voor je de oude verwijdert.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Renkie schreef op 29 april 2004 @ 12:09:
Wanneer ik dmv een query alle dubbele vermeldingen kan vinden en deleten met de hand (op 1 van de dubbele vermeldingen na natuurlijk, die moet erin blijven) dan ben ik ook al blij !

Het gebied is heel Nederland, en wanneer er 2 mensen instaan met

020 1234567
021 1234567

Moet ik natuurlijk niet 1 van de 2 deleten als zijnde 'dubbel' , omdat het geheel bestaat uit waardes van beide rijen (02x EN 1234567 )
Dat is exact wat meerdere mensen hier voorstellen. Heb je alle tips al geprobeerd (oa die van leoliekens?) :?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Renkie
  • Registratie: Januari 2000
  • Laatst online: 30-08 06:53
Dat ga ik vanavond proberen :-) Ik meldde het even voor de zekerheid.

De tips lijken erg goed als ik het zo lees, nu hopen dat het (mij) lukt :P

De tip van leo werkt zowiezo niet denk ik omdat er dus meerdere abboneenummers zijn in de verschillende netnummer gebieden die identiek zijn. (zie 020 / 021 voorbeeld)

[ Voor 37% gewijzigd door Renkie op 29-04-2004 12:52 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Renkie schreef op 29 april 2004 @ 12:46:
Dat ga ik vanavond proberen :-) Ik meldde het even voor de zekerheid.

De tips lijken erg goed als ik het zo lees, nu hopen dat het (mij) lukt :P

De tip van leo werkt zowiezo niet denk ik omdat er dus meerdere abboneenummers zijn in de verschillende netnummer gebieden die identiek zijn. (zie 020 / 021 voorbeeld)
Waarom lezen mensen niet? Al meerdere malen is uitgelegd dat het voorstel van leoliekens een dubbele index betreft. Hierbij gaat het dus om de combinatie van deze twee waarden die uniek moet zijn. Dit is exact mijn voorstel in deze post.

Misschien kan leoliekens nog ietswat meer verduidelijken hoe hij dit precies heeft aangepakt zodat de TS hierin geen fouten kan maken? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Creating multiple field indexes

Open the table in Design view.
Click Indexes on the toolbar.
In the first blank row in the Index Name column, type a name for the index. You can name the index after one of the index fields, or use another name.
In the Field Name column, click the arrow and select the first field for the index.
In the next row in the Field Name column, select the second field for the index. (Leave the Index Name column blank in that row.) Repeat this step until you have selected all the fields you want to include in this index.

Gewoon onder F1 in Access te vinden.Ik heb hem zelfs nog even geprobeerd voor jou situatie en het werkt keurig.

Lezen is inderdaad bij velen hier geen sterk punt geloof ik, dit is typisch een RTFM gevalletje.

Het is inderdaad hetzelfde als jij voorstelde alleen moet je de data wel naar een andere tabel moven want omdat de zaak al niet uniek is en dan kun je die index niet meer maken.

[ Voor 12% gewijzigd door Verwijderd op 29-04-2004 16:11 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik gebruik zelf geen Access; maar als dit zo duidelijk onder F1 te vinden is dan hebben we nu een mooi einde van dit topic. Ik hoop dat de TS er zo uitkomt verder :)

[ Voor 3% gewijzigd door Spider.007 op 29-04-2004 16:12 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1

Dit topic is gesloten.