A (more difficult) method to use the age ranges from their own table
(separate from the other data) would be to use a correlated subquery.  Then
you could have "cleaner" SQL.  You can find examples of this on the web.

OR I think there may be limited support for saving query formatting like
discussed here:
https://forum.openoffice.org/en/forum/viewtopic.php?f=61&t=39997
but I don't have any experience with how this works or its limitations.

On Mon, May 9, 2016 at 12:00 AM, Gary Dale <garyd...@torfree.net> wrote:

> Thanks Bruce. I appreciate the help. I was trying values from a table that
> translates age ranges into text. I hate hard coding numbers, let alone the
> number of ranges, because I handle events for two different groups who have
> their own definitions. They used to be encoded in the different
> certificates...
>
> My sql was
>
> SELECT "results".*, "Categories".* FROM { oj "results" LEFT OUTER JOIN
> "Categories" ON "results"."age" BETWEEN "Categories"."low" AND
> "Categories"."high" }
>
> which doesn't work but does work when I use "results"."age" =
> "Categories"."low", leading to my complaint that BETWEEN doesn't work.
>
> Your use of a CASE statement with just the one table looks like it will do
> the trick, even if the code will be ugly. I'll need 2 different CASE
> statements with a total of 8 different cases to do the translations.
>
>
>
> On 08/05/16 09:43 PM, Bruce Hohl wrote:
>
>> Gary,
>> See attached for a working case when in LO Base.  You do have to be very
>> careful when using Base Queries (SQL) that everything is exactly correct
>> like where commas are placed (or not) and how quotes / half quotes are
>> used
>> (or not).  So setting this up in Base will likely take more time than in
>> Calc.  You will have to judge if the final result in Base is best for your
>> needs.  Good Luck!
>>
>> On Sun, May 8, 2016 at 4:31 PM, Gary Dale <garyd...@torfree.net> wrote:
>>
>> The first option is what I have been doing - it uses a calc file to drive
>>> a mailing list. The logic is in the document, not in the calc file, so
>>> that
>>> I can bring in new data without a lot of effort - the raw data can just
>>> be
>>> a .csv file.
>>>
>>> The second option, using a "smart" calc file, moves the logic to the data
>>> file which is what I don't want to do. It means importing the data or
>>> calculation into a calc file each time. The second option, moving the
>>> logic
>>> into a base file seems more promising.
>>>
>>> However, after much wailing and gnashing of teeth, I have to question
>>> whether base can do what I want. I can't get it to take a query using a
>>> BETWEEN criterion (e.g., youth is AGE between 0 AND 18).
>>>
>>> It won't (apparently) do any queries on calc sheets. Fortunately
>>> copy/pasting to create a new base table is easy enough. Unfortunately
>>> without being able to match the main table (containing participant
>>> information) against age categories, etc., it's not much good.
>>>
>>> I suppose I can use a brute force technique and create a table row for
>>> every possible age (for example) but that seems like a ludicrous kludge
>>> when the basic problem is that Writer's form letter functions can't
>>> compare
>>> numbers.
>>>
>>>
>>> On 28/04/16 09:58 PM, Bruce Hohl wrote:
>>>
>>> Two more ideas for this problem:  (1) Do not use a Calc file - see
>>>> LO_Labels_howto.odt, (2) Move the logic from Writer into either Calc or
>>>> a
>>>> Base query.  While I can't explain how this might work for your
>>>> Certificate
>>>> mail merge I can show you through the attached examples how I used these
>>>> two ideas to solve my mail merge problem.  Good Luck and I hope you can
>>>> make this work for you in LO.
>>>>
>>>> On Wed, Apr 27, 2016 at 9:17 PM, Gary Dale <garyd...@torfree.net
>>>> <mailto:
>>>> garyd...@torfree.net>> wrote:
>>>>
>>>>      I can browse to a spreadsheet directly without first attaching it
>>>>      to a database, but that's just a kludge. LibreOffice creates the
>>>>      base file when you select the spreadsheet, which brings me back to
>>>>      the same problem.
>>>>
>>>>
>>>>
>>>>      On 27/04/16 07:24 PM, Bruce Hohl wrote:
>>>>
>>>>          Reportedly, as of LO 5.1 you can create a mail merge without a
>>>>          Base file -
>>>>          reference this:
>>>>          http://vmiklos.hu/blog/mail-merge-embedding.html You might
>>>>          try to recreate your Certificate mail merge without the Base
>>>>          file being
>>>>          careful to select cell formats for your data that work with
>>>>          Writer.  (If
>>>>          you have good spreadsheet skills you could likely get the job
>>>>          done entirely
>>>>          in Calc.)
>>>>
>>>>          On Wed, Apr 27, 2016 at 6:18 PM, Gary Dale
>>>>          <garyd...@torfree.net <mailto:garyd...@torfree.net>> wrote:
>>>>
>>>>              I've tried it with Debian/Stretch v5.1.2.2.0+ and Windows
>>>>              7 v5.1.3. If I
>>>>              was running anything old or unusual, I would have noted
>>>>              it. The document is
>>>>              simple, as is the spreadsheet and the base file that
>>>>              connects them.
>>>>
>>>>              I tried changing the numbers to text but Base doesn't seem
>>>>              to allow that.
>>>>              It's decided that the columns for age and place are
>>>>              decimal numbers.
>>>>
>>>>              So far as I can see, either the number comparisons operate
>>>>              differently
>>>>              from the text comparisons (which the documentation doesn't
>>>>              mention) or the
>>>>              number comparisons are broken. Normally I'd consider that
>>>>              unlikely, but my
>>>>              past experience with printing "form letters" and labels is
>>>>              that these areas
>>>>              don't get a lot of attention.
>>>>
>>>>
>>>>              On 27/04/16 03:32 PM, Bruce Hohl wrote:
>>>>
>>>>                  Can you give more details of your set-up.  What is in
>>>>                  the Writer, Calc
>>>>                  and / or Base components of LO.
>>>>
>>>>                  On Wed, Apr 27, 2016 at 11:44 AM, Gary Dale
>>>>                  <garyd...@torfree.net <mailto:garyd...@torfree.net>
>>>>                  <mailto:garyd...@torfree.net
>>>>                  <mailto:garyd...@torfree.net>>> wrote:
>>>>
>>>>                       I'm trying to print certificates for a group of
>>>>                  athletes and need
>>>>                       to have them reflect their standing in the event.
>>>>                  The certificate
>>>>                       has a number of conditional text fields, such as
>>>>                  to translate
>>>>                       their gender from M/F to male/female, which are
>>>>                  working.
>>>>
>>>>                       However the ones that are doing numeric
>>>>                  comparisons aren't. The
>>>>                       comparison always seems to return "true" so the
>>>>                  "then" condition
>>>>                       is printed. For example Run Results.Race.place ==
>>>>                  1 is the
>>>>                       condition but the translation text is always
>>>>                  "first place", never
>>>>                       empty. Since I have 5 different conditions (first
>>>>                  3 positions,
>>>>                       participate, supported), I get a lot of text
>>>>                  printed that shouldn't.
>>>>
>>>>                       The slightly more complex Run Results.Race.age >
>>>>                  18 AND Run
>>>>                       Results.Race.age < 60 always prints adult. At one
>>>>                  point I had it
>>>>                       print an else (senior) but that branch was never
>>>>                  taken even when
>>>>                       the age was well past 60.
>>>>
>>>>                       I've checked the Run Results.odb file (which
>>>>                  links to a
>>>>                       spreadsheet) and the age & place fields are both
>>>>                  of type decimal.
>>>>
>>>>                       What am I doing wrong?
>>>>
>>>>                       --     To unsubscribe e-mail to:
>>>>                  users+unsubscr...@global.libreoffice.org
>>>>                  <mailto:users%2bunsubscr...@global.libreoffice.org>
>>>>                                      <mailto:
>>>> users%2bunsubscr...@global.libreoffice.org
>>>>                  <mailto:users%252bunsubscr...@global.libreoffice.org>>
>>>>                       Problems?
>>>>
>>>> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
>>>>                       Posting guidelines + more:
>>>>                  http://wiki.documentfoundation.org/Netiquette
>>>>                       List archive:
>>>>                  http://listarchives.libreoffice.org/global/users/
>>>>                       All messages sent to this list will be publicly
>>>>                  archived and
>>>>                       cannot be deleted
>>>>
>>>>
>>>>
>>>>              --
>>>>              To unsubscribe e-mail to:
>>>>              users+unsubscr...@global.libreoffice.org
>>>>              <mailto:users%2bunsubscr...@global.libreoffice.org>
>>>>              Problems?
>>>>
>>>> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
>>>>              Posting guidelines + more:
>>>>              http://wiki.documentfoundation.org/Netiquette
>>>>              List archive:
>>>>              http://listarchives.libreoffice.org/global/users/
>>>>              All messages sent to this list will be publicly archived
>>>>              and cannot be
>>>>              deleted
>>>>
>>>>
>>>>
>>>>      --     To unsubscribe e-mail to:
>>>> users+unsubscr...@global.libreoffice.org
>>>>      <mailto:users%2bunsubscr...@global.libreoffice.org>
>>>>      Problems?
>>>>
>>>> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
>>>>      Posting guidelines + more:
>>>>      http://wiki.documentfoundation.org/Netiquette
>>>>      List archive: http://listarchives.libreoffice.org/global/users/
>>>>      All messages sent to this list will be publicly archived and
>>>>      cannot be deleted
>>>>
>>>>
>>>>
>>>> --
>>> To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
>>> Problems?
>>> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
>>> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
>>> List archive: http://listarchives.libreoffice.org/global/users/
>>> All messages sent to this list will be publicly archived and cannot be
>>> deleted
>>>
>>>
>
> --
> To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
> Problems?
> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
> List archive: http://listarchives.libreoffice.org/global/users/
> All messages sent to this list will be publicly archived and cannot be
> deleted
>

-- 
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to