Ga naar inhoud
  • 0

Dubbele record voorkomen of verwijderen bij import vanuit Excel


Gert-JAn1966

Vraag

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 naar reactie

6 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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. 

aangepast door Marsau
Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...