lou Posted July 4, 2008 Posted July 4, 2008 Ik maak een record aan en wens dit record bv. 5 keer te dupliceren. Via Duplicate Record is dat gemakkelijk te doen en als het één keer 5 keer is, tot daar nog aan toe. Maar als het 20 keer wordt of meer, moet je nog goed de tel bijhouden. Kan dit niet via een scriptje opgelost worden waarbij ik het gewenst aantal inbreng en de record dan ook x-aantal keren wordt gedupliceerd? Hoe los ik dat het beste op? Met dank bij voorbaat. Quote
0 lou Posted July 6, 2008 Author Posted July 6, 2008 Ja, zo kan het wel werken (misschien).......... Maar als de file niet modifieerbaar is, kan het ook niet echt getest worden (hoewel ik allerminst aan uw kunnen twijfel). Quote
0 lou Posted July 8, 2008 Author Posted July 8, 2008 Ik heb het opgelost. Hoewel jouw voorstel wellicht een goede oplossing zou zijn, maar ik deze niet kan toetsen in de praktijk, heb ik gekozen voor 10 knopjes waarachter het scriptje Duplicate Record zit, oplopend van 2 tot 10. Toch bedankt. Quote
0 edc Posted July 8, 2008 Posted July 8, 2008 Ik heb het opgelost.Hoewel jouw voorstel wellicht een goede oplossing zou zijn, maar ik deze niet kan toetsen in de praktijk, heb ik gekozen voor 10 knopjes waarachter het scriptje Duplicate Record zit, oplopend van 2 tot 10. Toch bedankt. Misschien toch nog even het bestand van eroos bekijken. Lijkt mij veeel simpelder. Ik weet niet wat je probleem is, maar voor mij was dit bestandje zonder meer toegankelijk. 1 knopje + simpel scriptje van 7 lijntjes. Quote
0 lou Posted July 8, 2008 Author Posted July 8, 2008 Vreemd ik krijg de foutmelding (in bijlage). Het scriptmenu geeft mij enkel de mogelijkheid tot het uitvoeren van het script niet tot het editeren ervan. Vandaar dat ik het niet kan bekijken.........hoe graag ook, want ik ben ervan overtuigd dat het gebruikvriendelijker is. Quote
0 edc Posted July 8, 2008 Posted July 8, 2008 Vreemd... Net alsof het bestand in read-only staat. Script ziet er zo uit: duplicerenVeld instellen [ dupli::Aantal; "" ] Aangepast dialoogvenster tonen [ Titel: "Dupliceren"; Knoppen: “OK”, “Annuleren”; Invoer 1: dupli::Aantal, "Hoeveel records toevoegen?" ] Loop Exit Loop If [ dupli::Aantal=0 ] Record/verzoek dupliceren Veld instellen [ dupli::Aantal; dupli::Aantal - 1 ] End Loop Quote
0 lou Posted July 8, 2008 Author Posted July 8, 2008 Toch nog een vraag. De vraag "Hoeveel aantal toevoegen" kan m.i. tot fouten leiden, indien even niet met de volle aandacht bij de zaak (zou niet mogen, maar wie heeft er al niet eens een moment van zwakte.....). Beter ware "Hoeveel stuks nodig". Dus verander ik bij Exit Loop If de waarde van aantal naar "1". Dit werk, zolang je maar getallen inbrengt. Toch niet slim natuurlijk want bij "Cancel" komt deze loop in een eindloze omdat "1" niet bereikt wordt. Hoe kan je nu bv. een record 2 x dupliceren door bij de vraag "Hoeveel stuks nodig" 3 in te vullen enz.. Quote
0 andries Posted July 8, 2008 Posted July 8, 2008 Door na het dialoogvenster de volgende stap toe te voegen: Veld instellen [ dupli::Aantal; dupli::Aantal - 1 ] Als je dan zegt dat je drie stuks nodig hebt, zal hij 2 maal de record dupliceren. Het script wordt dan zo: dupliceren Veld instellen [ dupli::Aantal; "" ] Aangepast dialoogvenster tonen [ Titel: "Dupliceren"; Knoppen: “OK”, “Annuleren”; Invoer 1: dupli::Aantal, "Hoeveel stuks heb je nodig?" ] Veld instellen [ dupli::Aantal; dupli::Aantal - 1 ] Loop Exit Loop If [ dupli::Aantal=0 ] Record/verzoek dupliceren Veld instellen [ dupli::Aantal; dupli::Aantal - 1 ] End Loop Voor het annuleren ga je de "fout" moeten opvangen, maar ik ken de benamingen niet in het Nederlands. Maar wil het vanavond wel eens opzoeken. Quote
0 andries Posted July 8, 2008 Posted July 8, 2008 of dit kan natuurlijk ook dupliceren Veld instellen [ dupli::Aantal; "" ] Aangepast dialoogvenster tonen [ Titel: "Dupliceren"; Knoppen: “OK”, “Annuleren”; Invoer 1: dupli::Aantal, "Hoeveel stuks heb je nodig?" ] Loop Exit Loop If [ dupli::Aantal=1 ] Record/verzoek dupliceren Veld instellen [ dupli::Aantal; dupli::Aantal - 1 ] End Loop Het is korter, maar ik vind het eerste "correcter" Quote
0 JeanWM Posted July 8, 2008 Posted July 8, 2008 (edited) Als mij die vraag gesteld wordt, vraag ik altijd 'waarom dupliceren' ?. Wat is de eigenlijke onderliggende bedoeling. En zeker als het meer dan 1 keer moet. Stel je dupliceert 5 maal een record uit een found set van 1. Dan sta je in record 6.... en dan ? Meer dan 1 keer dupliceren wijst doorgaans op een design flaw.... Edited July 9, 2008 by Guest Quote
0 lou Posted July 8, 2008 Author Posted July 8, 2008 OK nogmaals bedankt allemaal die mij antwoordden. Quote
0 lou Posted July 9, 2008 Author Posted July 9, 2008 Beste JeanWM: jouw opmerking is inderdaad zeer terecht en het dupliceren is een lapmiddel, maar het werkt! Even een woordje uitleg. Ik krijg maar geen goede oplossing gevonden om artikels waarvan er meerdere moeten zijn ook allemaal op een label geprint te krijgen. Stel ik heb van artikel "X" 5 stuks nodig, dan print FM deze 5 stuks niet afzonderlijk op een label. Dat was dus de achterliggende reden van het dupliceren. Met dit dupliceren heb ik dus 5 records van artikel "X" en krijg ik straks ook 5 labels bij het printen. Misschien allemaal belachelijk voor een gevorderde FM gebruiker, maar als beginner moet men roeien met de riemen die men heeft. Quote
0 andries Posted July 9, 2008 Posted July 9, 2008 kun je dan niet beter het print script "loopen"? Lijkt mij logischer op dat moment... Zoiets als Veld instellen [ label::Aantal; "" ] Aangepast dialoogvenster tonen [ Titel: Afdrukken"; Knoppen: “OK”, “Annuleren”; Invoer 1: label::Aantal, "Hoeveel labels heb je nodig?" ] Loop Exit Loop If [ label::Aantal=0 ] PRINT LABEL Veld instellen [ label::Aantal; label::Aantal - 1 ] End Loop Quote
0 lou Posted July 9, 2008 Author Posted July 9, 2008 Klopt als je dit artikel per artikel doet. De bedoeling is echter alle artikels van één order tezamen te printen. Er wordt gefilterd op een bepaald order, de gevonden records worden geëxporteerd naar een dbf bestand en dit bestand wordt ingelezen in de software Label Matrix en naar de labelprinter gezonden. Quote
0 JeanWM Posted July 9, 2008 Posted July 9, 2008 Ik vermoed dat je een table te weinig hebt. Order ----Order/Artikel ------Artikel In Order heb je een orderKey In Artikel heb je een artikelKey In Order/Artikel breng je die twee als foreignKey samen. Roep je in Order/Artikel een orderNummer op, dan krijg je al je artikelen van dat gegeven ordernummer netjes bij elkaar. Exporteer die foundset. Klaar, en niks geen dupliceren meer. Quote
0 lou Posted July 10, 2008 Author Posted July 10, 2008 En toch begrijp ik dit niet. Als ik in table Artikel alle gegevens plaats die onmiddellijk verband houden met het artikel (code, kleur, prijs enz) en in de table Order de gegevens die verband houden met het order zelf (ordernummer, klant, code, aantal besteld) dan zie ik niet in hoe in Order/Artikel het "aantal besteld" wordt uitgesplitst in afzonderlijke records. Voorbeeld: code: 100 aantal: 10 klant: Mij Dan zou ik, als ik jouw uitleg goed begrijp, in Order/Artikel (na ingave van het ordernummer) 10 identieke records moeten krijgen van code 100, dat is althans wat de doelstelling zou moeten zijn. En dat krijg ik niet voor mekaar. Quote
0 eroos Posted July 10, 2008 Posted July 10, 2008 Bekijk dit draadje eens over join-tables: http://www.clarify.net/viewtopic.php?t=4945&highlight= En zoek eens op het forum naar join table (meer-op-meer relaties). Quote
Question
lou
Ik maak een record aan en wens dit record bv. 5 keer te dupliceren.
Via Duplicate Record is dat gemakkelijk te doen en als het één keer 5 keer is, tot daar nog aan toe.
Maar als het 20 keer wordt of meer, moet je nog goed de tel bijhouden.
Kan dit niet via een scriptje opgelost worden waarbij ik het gewenst aantal inbreng en de record dan ook x-aantal keren wordt gedupliceerd?
Hoe los ik dat het beste op?
Met dank bij voorbaat.
19 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.