
1. Re: A Calculation
b3nelson May 14, 2009 11:07 PM (in response to b3nelson)My guess for the formula is (not filemaker correct an any way, but in my mind works)
(Size AR) x (Qty AR) + (Qty AR) x (Gap AR)  (Gap AR) = (Used Area AR)
(Size AC) x (Qty AC)+ (Qty AC) x (Gap AC)  (Gap AC) = (Used Area AC)
(Used Area AC) x (Used Area AR) = (Total Used Area)
Get (Sheet Size)
If (8.5x11); (Top Margin) = 11  (Used Area AR) /2; (Left Margin) = 8.5  (Used Area AC) /2;
If (8.5x14); (Top Margin) = 14  (Used Area AR) /2; (Left Margin) = 8.5  (Used Area AC) /2;
If (11x14); (Top Margin) = 14  (Used Area AR) /2; (Left Margin) = 11  (Used Area AC) /2;
If (12x18); (Top Margin) = 18  (Used Area AR) /2; (Left Margin) = 12  (Used Area AC) /2;
But this needs to auto calculate as the fieds are being entered, this is in my mind what a script should look like (not in FileMakers mind I'm sure)

2. Re: A Calculation
comment_1 May 15, 2009 1:15 AM (in response to b3nelson)I am not quite sure what is given and what needs to be calculated. I'd suggest you try to solve the problem in one dimension first. It seems quite clear that if users are allowed to input the label width, the horizontal gap between labels, and the number of columns, they can easily exceed the given page width  even before they have entered the optional left margin. So I think you need some kind of hierarchy that determines which values take precedence and which will be automatically adjusted to fit.
b3nelson wrote:
this needs to auto calculate as the fieds are being entered, this is in my mind what a script should look likeI don't think you need a script for this  and calculation fields will update "live".

3. Re: A Calculation
b3nelson May 15, 2009 5:21 PM (in response to b3nelson)No I dont think I need a script for this either, I'm sure a calculation will be just fine.
This is the calculation I currently have to convert to 32nds, I found this searching around forums and I modified it abit to work in my situation.
Let([
integer=Int(Top Margin);
numerator=Mod(Top Margin;1)
];
Case(integer;integer &" ";"")&
Case(
Int(numerator*64) < 1;"";
Mod(Int(numerator*64);2) = 0; Div(Int(numerator*64);2) & "/32")
)
I guess all i need to know how to do is how to do simple multiplication and subtraction.