wouterm Posted December 28, 2009 Posted December 28, 2009 Als ik een record verwijderen in layout A, dan kan ik deze nog altijd opzoeken (en vinden) via layout B. Als ik het programma sluit en opnieuw open is de record definitief verdwenen. Iemand een idee hoe dit kan komen? Alvast bedankt. Quote
0 fmwebshop Posted December 28, 2009 Posted December 28, 2009 Als je je record verwijderd met een script moet je je "records bevestigen". Anders weet ik het niet, ik kan bij mij niet hetzelfde "probleem" produceren. Vr groet Harry Quote
0 wouterm Posted December 28, 2009 Author Posted December 28, 2009 Ze worden idd. met een script verwijderd. Wat bedoel je juist met "records bevestigen"? Quote
0 andries Posted December 28, 2009 Posted December 28, 2009 Met bevestigen denk ik dat Harry "commit" bedoelt. Echter het lijkt mij raar dat dit het probleem zou oplossen want normaal gezien commit je toch automatisch als je van layout verandert, dus zou de delete moeten bevestigd zijn? Dus op zich zou hij die wijzigingen moeten opslaan. Heb dit wel al meegemaakt in een server omgeving. Records die werden gedelete op een Mac waren nog zichtbaar op een PC (het omgekeerde was niet waar). Wij hebben toen een backup genomen om van daar weer opnieuw te starten. Probleem was toen opgelost. Wij gingen er toen dus vanuit dat het om een corrupte file ging, maar hebben dit niet verder onderzocht. Ik ben wel benieuwd wat het zou kunnen zijn. Quote
0 wouterm Posted December 28, 2009 Author Posted December 28, 2009 Nu merk ik dat ik net hetzelfde voor heb in een portaal. Als ik een portaalrij wil verwijderen via een script., Dan blijft deze in het portaal staan. (tenzij ik weer de layout verlaat) Het script dat ik gebruik om de portaalrij te verwijderen is het volgende - Portaalrij verwijderen (zonder dialoogvenster) - Records/verzoeken vastleggen (zonder dialoogvenster) Quote
0 edc Posted December 28, 2009 Posted December 28, 2009 Plaats daar nog de volgende stap na: Venster vernieuwen [samenvoegresultaten in cache wissen] Heb zelf ook ondervonden dat dit soms nodig is. Quote
0 andries Posted December 28, 2009 Posted December 28, 2009 let op dat er een groot verschil is tussen het verwijderen van een hoofdrecord en het verwijderen van een gerelateerde record. Voor de gerelateerde records, zal je de "refresh window" script stap moeten gebruiken met "refresh join/chache result" aangevinkt. Quote
0 wouterm Posted December 28, 2009 Author Posted December 28, 2009 Ik heb die refresh stap toegevoegd, maar nu ervaar ik soms dat ik een portaalrij helemaal niet kan verwijderen. Zowel niet via scriptstap, als via de shortcut ctrl+E. Na het herstarten van het bestand kan ik die lijn wel verwijderen. Het probleem stelt zich in meerdere bestanden die ik reeds gemaakt heb (meestal bij de laatst aangemaakte record). Quote
0 edc Posted December 29, 2009 Posted December 29, 2009 Sinds FMpro 7.0 heb ik ondervonden dat het maken van nieuwe records via een portal niet zo best meer lukt. (Vooral bij multi-user gebruik). Daarom doe ik sindsdien als volgt: * Sleutel uit het hoofdrecord in een variabele plaatsen. * Naar een (hulp)layout gaan op basis van de subtabel. * Daar een nieuw record aanmaken. * De sleutel invullen. * Commit + refresh. * Terugkeren naar het oorspronkelijk layout. (Bij de relatie staat dan zelfs "maken van records in deze tabel toegestaan via deze relatie" af) Misschien nodeloos omslachtig, maar sindsdien geen probleem meer. Wellicht ligt jou probleem daar in de buurt. Quote
0 andries Posted December 29, 2009 Posted December 29, 2009 kan je specifieker vertellen wanneer het zich voordoet? - bij de laatste record, of bij de laatste record als hij net aangemaakt is? - open je in je script een nieuw venster die naar de child record gaat, of heb je ergens anders een script dat dat doet? Mss mist daar dan een commit, als dan het venster per ongeluk blijft openstaan is je record gelocked en kan je hem niet deleten. - doet dit probleem zich enkel voor bij gerelateerde records of ook bij hoofdrecords? Quote
0 wouterm Posted December 29, 2009 Author Posted December 29, 2009 Het probleem vindt enkel plaats bij het deleten, niet bij het aanmaken. Ik heb zonet geprobeerd om het probleem te simuleren, maar nu werkt het perfect. Het probleem komt dus blijkbaar op willekeurige basis voor. Quote
0 andries Posted December 29, 2009 Posted December 29, 2009 en wat is de foutmelding die je krijgt? Quote
0 wouterm Posted December 29, 2009 Author Posted December 29, 2009 Geen foutmelding, de portaalrij blijft gewoon staan. (Alsof bij die ene portaalrij het script niet werkt) Bestaat er misschien in filemaker een optie om een fout op te zoeken via een logbestand? Quote
0 andries Posted December 29, 2009 Posted December 29, 2009 bizar... en als je het via het script doet en de script debugger. Krijg je dan een error bij de script stap "delete portal row"? Je kan altijd eens een consistency check uitvoeren op het bestand via de "recover" functie. Dan maakt hij een log aan. Maar ik denk niet dat het daar zit. Quote
0 fmwebshop Posted December 29, 2009 Posted December 29, 2009 Ik ervaar regelmatig soortgelijke problemen met Fm. Scripts die niet doen wat ze overduidelijk zouden moeten doen, berekeningsvelden die niet het resultaat geven dat voorzien is. Kun je dagen mee bezig zijn. Als het me nu overkomt wis ik het veld of het script, sluit het bestand en maak script of veld overnieuw. Bij mij werkt dat. Vr groet Harry Quote
0 SuperWimmie Posted December 31, 2009 Posted December 31, 2009 Kan je een kopie maken van dat bestand en één van de twee eens reorganiseren / herstellen? Dan weet je of het helpt. Het lijkt alsof de indexen niet goed meer lopen. Quote
0 wouterm Posted January 6, 2010 Author Posted January 6, 2010 Het probleem blijft bestaan. Enige oplossing die ik momenteel nog kan verzinnen is in de gerelateerde layout de record zelf verwijderen. Quote
Question
wouterm
Als ik een record verwijderen in layout A, dan kan ik deze nog altijd opzoeken (en vinden) via layout B. Als ik het programma sluit en opnieuw open is de record definitief verdwenen. Iemand een idee hoe dit kan komen?
Alvast bedankt.
16 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.