dirk Geplaatst: 3 maart 2006 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
0 Koen Van Hulle Geplaatst: 5 maart 2006 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
0 dirk Geplaatst: 6 maart 2006 Auteur Geplaatst: 6 maart 2006 Hallo Koen, Bedankt voor de formule. Ga ze straks eens uitwerken en uitproberen. thx. Dirk Quote
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
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.