dirk Geplaatst: 3 maart 2006 Delen Geplaatst: 3 maart 2006 Hallo, Heeft er iemand ooit al een controle calculation gemaakt voor een ISBN getal (10 cijfers versie en/of nu reeds vooruitdenkend de 13 cijfers versie)? thx. Dirk (bib boutersem) ps. uitleg over ISBN kan je oa. hier vinden : https://portal5.boekhuis.nl/portal/page_pageid=194,2280620&_dad=portal&_schema=PORTAL Quote Link naar reactie
0 Koen Van Hulle Geplaatst: 5 maart 2006 Delen Geplaatst: 5 maart 2006 Hier een controle voor de officiele ISBN 10 (dus geen rekeninghoudende met de soms eigen afwijkende ISBN cijfers meestal eindigend op XX) // ISBN 10 Let ( [ ISBN ="90-270-1165-6" ; filterisbn=Filter(ISBN;"0123456789") // Behoud alleen cijfers ; Controlecijfer = if(length(filterisbn) ? 10 ; GetAsNumber("") ; GetAsNumber(right(filterisbn;1) ) ) ; SumCheck = (Middle (filterisbn ; 1; 1) * 10) + (Middle (filterisbn ; 2; 1) * 9) + (Middle (filterisbn ; 3; 1) * + (Middle (filterisbn ; 4; 1) * 7) + (Middle (filterisbn ; 5; 1) * 6) + (Middle (filterisbn ; 6; 1) * 5) + (Middle (filterisbn ; 7; 1) * 4) + (Middle (filterisbn ; 8; 1) * 3) + (Middle (filterisbn ; 9; 1) * 2) ; CheckControlecijfer = (Ceiling(Sumcheck/11) * 11)- SumCheck ; result = If(Not Isempty(ControleCijfer) and Controlecijfer=CheckControlecijfer; "OK" ; "Niet OK") ] ; result ) ISBN 13 kun je volgende formule gebruiken: // ISBN 13 Let ( [ ISBN =" 978-90-77287-02-6" ; filterisbn=Filter(ISBN;"0123456789") // Behoud alleen cijfers ; Controlecijfer = if(length(filterisbn) ? 13 ; GetAsNumber("") ; GetAsNumber(right(filterisbn;1) ) ) ; SumCheckOneven = Middle (filterisbn ; 1; 1) + Middle (filterisbn ; 3; 1) + Middle (filterisbn ; 5; 1) + Middle (filterisbn ; 7; 1) + Middle (filterisbn ; 9; 1) + Middle (filterisbn ; 11; 1) ; SumCheckEven = Middle (filterisbn ; 2; 1) + Middle (filterisbn ; 4; 1) + Middle (filterisbn ; 6; 1) + Middle (filterisbn ; 8; 1) + Middle (filterisbn ; 10; 1) + Middle (filterisbn ; 12; 1) ; CheckControlecijferCalc = 10 - Right(SumCheckOneven + (SumCheckEven *3);1) ; CheckControlecijfer = If(CheckControlecijferCalc=10;0;CheckControlecijferCalc) ; result = If(Not Isempty(ControleCijfer) and Controlecijfer=CheckControlecijfer; "OK" ; "Niet OK") ] ; result ) Quote Link naar reactie
0 dirk Geplaatst: 6 maart 2006 Auteur Delen Geplaatst: 6 maart 2006 Hallo Koen, Bedankt voor de formule. Ga ze straks eens uitwerken en uitproberen. thx. Dirk Quote Link naar reactie
Vraag
dirk
Hallo,
Heeft er iemand ooit al een controle calculation gemaakt voor een ISBN getal (10 cijfers versie en/of nu reeds vooruitdenkend de 13 cijfers versie)?
thx.
Dirk
(bib boutersem)
ps. uitleg over ISBN kan je oa. hier vinden :
https://portal5.boekhuis.nl/portal/page_pageid=194,2280620&_dad=portal&_schema=PORTAL
Link naar reactie
2 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.