mikezwet Geplaatst: 20 februari 2005 Geplaatst: 20 februari 2005 Ik wil dus controleren of een record dubbel is maar begrijp niet helemaal het Selfjoin principe. Heb een veld die "AlgCode" heet en heb een veld die controleerd of "AlgCode" niet dubbel is. De table heet "Eigen Collectie" If( Count(Eigen Collectie::AlgCode) > 1; 1;0) Quote
0 AvD Geplaatst: 20 februari 2005 Geplaatst: 20 februari 2005 Een SelfJoin is een gewone relatie zoals we die kennen uit relationele databanksystemen, maar dan wel naar het bestand zelf. We leggen dus een relatie van bestand A naar bestand A op basis van een key field. Als we daar een Count op doen, dan geeft die bij unieke keys natuurlijk 1, anders een getal groter dan 1. Quote
0 mikezwet Geplaatst: 20 februari 2005 Auteur Geplaatst: 20 februari 2005 Een SelfJoin is een gewone relatie zoals we die kennen uit relationele databanksystemen, maar dan wel naar het bestand zelf. We leggen dus een relatie van bestand A naar bestand A op basis van een key field.Als we daar een Count op doen, dan geeft die bij unieke keys natuurlijk 1, anders een getal groter dan 1. Ik heb de volgende SelfJoin relatie gemaakt: Dat werkt niet bij mij met bovenstaande calculatie dus ik zal iets fout doen? Quote
0 mikezwet Geplaatst: 20 februari 2005 Auteur Geplaatst: 20 februari 2005 Ik was dus zo stom om de naam van de nieuwe relatie niet in te vullen in calculatie, dus nu werkt het wel. Ik krijg alleen in het "originele" record een 1 te zien in het veld "checkdubbel" en in de dubbele met dezelfde code ook een 1, dus nu kan ik niet zoeken op dubbelen omdat ik ze allebij vind. Een record dat niet dubbel is krijgt wel een 0 Quote
0 Rony Rabijns Geplaatst: 20 februari 2005 Geplaatst: 20 februari 2005 Ik krijg alleen in het "originele" record een 1 te zien in het veld "checkdubbel" en in de dubbele met dezelfde code ook een 1, dus nu kan ik niet zoeken op dubbelen omdat ik ze allebij vind. Mike, dat is toch logisch. Kijk eens naar je berekeningsveld : je vraagt een record te markeren als het dubbel is. Dan is het toch nogal wiedes dat je dat record vindt als je daar op zoekt ! Formuleer eens wat je wil. Je wil de dubbels vinden zonder ze te zoeken ? Je wil de dubbels zoeken zonder ze te vinden ? Quote
0 mikezwet Geplaatst: 21 februari 2005 Auteur Geplaatst: 21 februari 2005 Ik krijg alleen in het "originele" record een 1 te zien in het veld "checkdubbel" en in de dubbele met dezelfde code ook een 1, dus nu kan ik niet zoeken op dubbelen omdat ik ze allebij vind. Mike, dat is toch logisch. Kijk eens naar je berekeningsveld : je vraagt een record te markeren als het dubbel is. Dan is het toch nogal wiedes dat je dat record vindt als je daar op zoekt ! Formuleer eens wat je wil. Je wil de dubbels vinden zonder ze te zoeken ? Je wil de dubbels zoeken zonder ze te vinden ? Ik bedoelde: zoals ik hem had kreeg het unieke record een "1" en het dubbele record een "1". Ik kon ze niet onderscheiden. Heb zelf wat geprobeerd in het volgende voorbeeld, dat werkt goed. En inderdaad volgens het SelfJoin principe. Dubbelen.zip Quote
Vraag
mikezwet
Ik wil dus controleren of een record dubbel is maar begrijp niet helemaal het Selfjoin principe.
Heb een veld die "AlgCode" heet en heb een veld die controleerd of "AlgCode" niet dubbel is.
De table heet "Eigen Collectie"
If( Count(Eigen Collectie::AlgCode) > 1; 1;0)
5 antwoorden op deze vraag
Aanbevolen berichten
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.