Dick Verschuur Posted February 14, 2010 Posted February 14, 2010 Goedenavond allemaal waarschijnlijk is dit redelijk simpel... maar ik zie niet hoe ik het voor elkaar kan krijgen Ik wil een serienummer invoeren van het format A001 (A002... A003) Maar... dat nummer komt alleen in een nieuw record waarvan veld "code" de waarde 800 of 805 bevat In de andere records blijft het veld serienummer leeg Ik worstel hier al een halve dag mee, het lukt me niet en ik kan dus wel wat hulp gebruiken dick Quote
0 pjotter Posted February 14, 2010 Posted February 14, 2010 Dat zal in mijn ogen nooit een serie nummer zijn omdat een serienummer in mijn ogen altijd uniek moet zijn. Het is dus een bepaald produkt nummer wat toegevoegd moet worden als een bepaald veld aan een bepaalde voorwaarde voldoet. Je zult met meerderde velden moeten werken lijkt mij. Een global veld wat dus elke keer de laatste produkt naam moet bewaren en waar naar gekeken wordt bij een ophoging. Vervolgens die waarde uit het global veld ophalen, met 1 verhogen en de waarde plaatsen in het produktveld en in het global veld. Quote
0 fmwebshop Posted February 14, 2010 Posted February 14, 2010 Misschien heb je hier iets aan. Vr groet Harry Serienummer.fp7 Quote
0 pjotter Posted February 15, 2010 Posted February 15, 2010 Is een mooie oplossing alleen moet het een tekst veld worden en de formule iets aanpassen: Case( veld code = 800 or veld code = 850;"A" & max+1 ) Nadeel is op deze manier wel dat het serie nummer bij een ander getal dan 800 of 850 niet is in te vullen. Oplossing zou kunnen zijn een extra veld wat handmatig kan worden ingevuld. Code dan: Case( veld code = 800 or veld code = 850;"A" & max+; veldinvullen ) Nogmaals is mooi maar ik zou het geen serie nummer noemen het is immers geen uniek veld. Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 Dat zal in mijn ogen nooit een serie nummer zijn omdat een serienummer in mijn ogen altijd uniek moet zijn.Het is dus een bepaald produkt nummer wat toegevoegd moet worden als een bepaald veld aan een bepaalde voorwaarde voldoet. Je zult met meerderde velden moeten werken lijkt mij. Een global veld wat dus elke keer de laatste produkt naam moet bewaren en waar naar gekeken wordt bij een ophoging. Vervolgens die waarde uit het global veld ophalen, met 1 verhogen en de waarde plaatsen in het produktveld en in het global veld. Serienummer of produktnummer... hoe het veld genoemd wordt is mij om het even. Met het idee om met tussenvelden te werken heb ik dus behoorlijk geworsteld. Waar ik op vastloop is vooral het format van het nummer: de "nullen". Wanneer ik (bijvoorbeeld) global veld J008 wil laten ophogen met 1 krijg ik als resulttaat J9 Daar doe ik blijkbaar dus iets fout. En hoe ik ook zoek... ik vind geen oplossing. Dick Quote
0 fmwebshop Posted February 15, 2010 Posted February 15, 2010 Splits je "nummer" op in twee delen: een letter met het berekende aantal voorloopnullen en een getal tekstvelden laten zich niet goed berekenen. Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 Misschien heb je hier iets aan. Vr groet Harry Ik kan hier niets mee, denk ik. Dat is niet vervelend bedoeld Harry... maar ik snap het niet meteen en ik zie ook niet waar ik mijn beginwaarde kan invoeren. Dus denk ik niet dat dit de oplossing is (hoewel ik het graag mis zou hebben). Mijn probleem is vooral het format van het nummer: A008, A009, A010 etc. een volgnummer van 4 posities, bestaande uit één letter, drie cijfers. Ik zou bovendien ook ergens een beginwaarde moeten kunnen invoeren van het bovenstaande format. d Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 Splits je "nummer" op in twee delen: een letter met het berekende aantal voorloopnullen en een getal tekstvelden laten zich niet goed berekenen. Onze berichten hebben elkaar gekruist Harry. Vraag: Hoe geef ik aan dat een getal uit 3 posities bestaat, voorafgegaan door voorloopnullen? d Quote
0 fmwebshop Posted February 15, 2010 Posted February 15, 2010 Zoiets if(length(serienummer getal)=1;"00";if(length(serienummer getal)=2;"0";"") Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 There are more")" than there are "(" or there are more "(" than there are ")" ? Quote
0 fmwebshop Posted February 15, 2010 Posted February 15, 2010 if(length(serienummer getal)=1;"00";if(length(serienummer getal)=2;"0";"")) Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 if(length(serienummer getal)=1;"00";if(length(serienummer getal)=2;"0";"")) Dank! Dank! Dank! Ik was er ook uit, net voordat ik je post kreeg! Maar zonder je eerste post had ik het niet gevonden! Dank! Quote
0 edc Posted February 15, 2010 Posted February 15, 2010 Ik gebruik altijd de volgende vorm: GetAsText ( Right(serienr+1000;3 )) Quote
0 andries Posted February 15, 2010 Posted February 15, 2010 of... Right ( "000" & SerieNr ; 3 ) Nog mooier is als je die "000" ook nog eens dynamisch maakt, en dat je in je parameterstabel kan instellen hoeveel voorloopnullen er moeten zijn. Quote
0 Dick Verschuur Posted February 15, 2010 Author Posted February 15, 2010 genoeg, genoeg: het werkt inmiddels zoals het moet (maar het is nooit af) d Quote
Question
Dick Verschuur
Goedenavond allemaal
waarschijnlijk is dit redelijk simpel... maar ik zie niet hoe ik het voor elkaar kan krijgen
Ik wil een serienummer invoeren van het format A001 (A002... A003)
Maar... dat nummer komt alleen in een nieuw record waarvan veld "code" de waarde 800 of 805 bevat
In de andere records blijft het veld serienummer leeg
Ik worstel hier al een halve dag mee, het lukt me niet en ik kan dus wel wat hulp gebruiken
dick
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.