Jump to content
  • 0

Dubbele record voorkomen of verwijderen bij import vanuit Excel


Gert-JAn1966

Question

Ik heb een script gemaakt waarmee ik vanuit Excel data importeer in FM, echter als ik de import 2x uitvoer of er zijn dubbele records in het bestand dan worden deze gewoon geïmporteerd. Dat wil ik niet.

Ik heb een aantal velden in de DB op unieke waarde ingesteld maar bij het importeren worden deze ondanks de dubbele waarde gewoon geïmporteerd. Wie kan me helpen dubbele records te voorkomen?

 

Link to comment

6 answers to this question

Recommended Posts

  • 0

Hoi Banach,

Bedankt voor je reactie, maar dat werkt niet. Ik dacht zelf ook dat dat zou moeten werken, maar helaas bij mij niet.

Zie bijlage. Ik heb de structuur van de Excel, de Database instellingen op de velden, het import script en het resultaat als ik 2x dezelfde Excel importeer. ingesloten. 

Nog opties? Een script om achteraf te ontdubbelen is ook goed hoor :-)

 

887360786_scripttbvimport.thumb.jpg.d424c77c956b645c03539e8110c63f58.jpg431691477_databaseveldeneninstellingen.thumb.jpg.a30af1b02270d09459d335b655fba961.jpg985939731_bestand2xgeimporteerd.thumb.jpg.0b85e9c21960490f8495c01344877220.jpg

Schermafbeelding 2019-11-11 om 09.44.58.png

Link to comment
  • 0

De beste methode is mijns inziens om het Excel bestand altijd in een tijdelijke tabel te importeren, en vandaar de data met een script doorzetten naar de definitieve tabel. Klinkt ingewikkeld, maar je hebt dan wel alle controle over wat er binnenkomt en waar het naartoe moet. Iemand kan wel een compleet verkeerd bestand klaarzetten en daar word je niet blij van.

 

Link to comment
  • 0

Inderdaad is een tussentabel een goede optie. Nog twee opties:

1. Dedupliceren na import. 
Bepaal de combinatie van velden die de record uniek maken.
Maak dan een calculatieveld waarin een hash wordt gemaakt van de gecombineerde string.
Maak een table occurance van dezelfde tabel met de hash als relatie. 

Maak nu een calculatieveldje dat de records in die TOC telt. Is deze groter dan 1, dan dupliceert ie. 

schrijf een scripjie dat wordt uitgevoerd na elke import, dat deze duplicaten eruit gooit. 
 

optie 2. Simpeler: importeer als update op basis van de sleutelvelden. Importeer de resterende records. 

Edited by Marsau
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...