Ga naar inhoud
  • 0

Tabs in een "merge" berekening veld


arpijper

Vraag

6 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:

Als je in de merge-berekening bijvoorbeeld een euroteken en een eerder getypte en gekopieerde tab invoegt kom je een aardig eind:

 

If(not IsEmpty(GetRepetition ( bedrag ; 1)); "€ " & Int(Round(GetRepetition ( bedrag ; 1);2)) & "," & Right("00" & GetAsText(Round(GetRepetition ( bedrag ; 1);2) * 100); 2) & "¶";"")

&

If(not IsEmpty(GetRepetition ( bedrag ; 2)); "€ " & Int(Round(GetRepetition ( bedrag ; 2);2)) & "," & Right("00" & GetAsText(Round(GetRepetition ( bedrag ; 2);2) * 100); 2) & "¶";"")

&

If(not IsEmpty(GetRepetition ( bedrag ; 3)); "€ " & Int(Round(GetRepetition ( bedrag ; 3);2)) & "," & Right("00" & GetAsText(Round(GetRepetition ( bedrag ; 3);2) * 100); 2);"")

  • 0
Geplaatst:

En je kan gebruik maken van de functie Char(). Een tab is volgens mij Char(9).

 

rmw

 

PS @Pescador: GetRepetition kan je tegenwoordig vervangen door vierkante haken. Dat maakt het allemaal een stuk leesbaarder :)

If(not IsEmpty(bedrag[1]); "€" & Char(9) & Int(Round(bedrag[1];2)) & "," & Right("00" & GetAsText(Round(bedrag[1];2) * 100); 2) & "¶";"")
&
If(not IsEmpty(bedrag[2]); "€" & Char(9) & Int(Round(bedrag[2];2)) & "," & Right("00" & GetAsText(Round(bedrag[2];2) * 100); 2) & "¶";"")
&
If(not IsEmpty(bedrag[3]); "€" & Char(9) & Int(Round(bedrag[3];2)) & "," & Right("00" & GetAsText(Round(bedrag[3];2) * 100); 2);"")

  • 0
Geplaatst:

Het valt me nog niet mee om een goed veld te krijgen. Ik hoop dat iemand mij verder kan helpen, het heeft me al een weekend gekost! ;-)

Bijgaand mijn voorbeeld bestand.

Nu wil ik de prijzen met de daarbijhorende omschrijving ook in het veld verwerkt hebben.

Kun je de getallen ook rechts laten uitlijnen zodat deze netjes onderelkaar komen te staan?

 

Verder heb ik gemerkt dat met het werken met Char(9) de tab in een calculatie je wel heel erg rekening moet houden met de voorliggende veldinhoud lengte. Je krijgt erg snel/vaak verspringingen. Bovendien kan een goeduitgelijnd veld op het scherm na het printen wel een verspringing weergeven??

Test.fp7

  • 0
Geplaatst:

Je loopt met opmaak berekening altijd aan tegen het feit dat tab-stops in het tekst veld ook nog eens variabel zijn.

Standaard staan die om de (uit mijn hoofd) 20 pixels oid. Afhankelijk van het lettertype en de grootte heb je soms 2 of soms 1 of soms 3 tabs nodig om de tekst goed uit te lijnen. Dat krijg je dus bijna niet goed. Elke omschrijving op de eerste regel is ook weer anders van lengte.

 

Maar je kan ze ook zelf instellen. (layout modus, inspector, tab Appearance) Dan zorg je in de berekening maar voor 1 tab en zet je de tab afstand zelf goed.

Nadeel daarvan is dat dat alleen van toepassing op dat veld en die layout.

 

Kortom een rotklusje, dat altijd (bij een klant, in een kritische situatie) zal stuiten op de uitzondering waar je nog niet aan hebt gedacht en er toch weer verrot uit zal zien.

 

Maar als je alle parameters zelf kan beheersen is het mogelijk.

 

Tevens zou ik voor het berekenen van de tekst van een herhalend veld een custom functie schrijven die het eindresultaat in tekstvorm aan je terug geeft, zodat je uiteindelijke berekende veld veel leesbaarder wordt.

 

Een opzetje is bijgevoegd.

 

HTH

 

rmw

Opzet.fp7

  • 0
Geplaatst:

Bijgaand een aangepaste versie van de test.

Er kan in de calculatie met vette tekst worden gewerkt, voor tussenkopjes of iets dergelijks.

 

Ik heb het aantal tabs direct na elkaar weggehaald.

Door in de lay-out op strategische plaatsen een tab neer te zetten blijft het beter te voorspellen en beheersbaar.

Maar het blijft lastig om in één veld tabs neer te zetten die zowel door bedragen als andere teksten gebruikt kunnen worden.

 

PS@rmw: Sommige gewoontes slijten langzaam. Goede tip van de vierkante haken ipv GetRepetition.

In deze versie van Test_B heb ik ook maar vierkante haken gebruikt.

Test_B.fp7

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.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...