Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by comment

  1. Quickbooks Online

    I presume QBXML is an XML file (there is very little one can learn about it by Googling it or 'quickbooks xml'). If so, you can import it as you would any XML file - with the help of an XSLT stylesheet to transform the document into Filemaker's own FMPXMLRESULT grammar. I am afraid that without seeing an example of the input file or its schema that's about all I can say.
  2. Create checklist

    Okay, then please explain what exactly do you mean by a "checklist", what is it used for and why is it necessary to recreate it periodically. Usually you create something in a database only when something new was created in real life. A mere passage of time is not a good reason to make any changes. Please leave that to the forum moderators.
  3. Create checklist

    I am afraid not. You have posted this under Interface Design, but it looks to me like a question about database structure. Based on the parts that I did understand, I would say that you need to have a Sites table and an Equipment table, related by SiteID. Possibly a third table for types of equipment. Then - I would think - comes a table of Issues, which would be linked to Equipment by Equipment ID: Sites -< Equipment -< Issues This is based on the assumption then whenever a piece of equipment develops an issue, a record in the Issues table would be created. Once the issue has been solved, the record would closed (e.g by entering a date into a ClosedDate field). But this doesn't fit your description of preparing a weekly checklist, or having a N/A value (indicating what?).
  4. Hide Empty Portal

    Come to think of it, that's not entirely true. Suppose you add a field that cannot be empty (such as ClientID) into the portal and give it an object name. You could then use the GetLayoutObjectAttribute() function to get the object's content - and hide the portal when it's empty.
  5. Hide Empty Portal

    This is not going to be simple - and I am afraid it might turn out to be slow too (these two often go together). In a nutshell, portal filtering works at layout level - and you have no access to its results except by viewing them on screen. So your plan to use the results of portal filtering in order to show or hide the portal cannot work. You will have to replicate those results using another method. And that method will have to test each and every record in the Clients (?) table for the conditions stated in your portal filtering formula. This could be done using a custom recursive function or ExecuteSQL(). Or even a script triggered by modification of one of the global fields. The simplest one to implement would probably be to add an unstored calculation field to the Clients table to do the PatternCounts, and look at the aggregate result from the context of Shift. You could also switch the portal filtering to use the same field and eliminate at least some of the duplication. You don't really need those fields: just use the x relational operator with any two fields (or even no fields at all).
  6. Grouping duplicate product in invoice

    If you want to place the totals in a fixed position relative to the bottom of the page, then you must use the footer part for this. But that will only work if the entire invoice fits on a single page.
  7. Grouping duplicate product in invoice

    I don't understand what you mean by "it not work to fix the position".
  8. Hide Empty Portal

    Please provide more details about your setup. How exactly is the relationship defined, and what exactly is your filtering expression? --- A semantic note: There is no such thing. A portal shows related records. The result of a search is a found set.
  9. I am afraid you're not being clear now. A button can be either inside the first portal row or outside it. If it's inside, it will be repeated for each row. If it's not repeated, then it's outside the portal for all intents and purposes. In any case, what I said earlier still applies: if it's a button, then clicking it will not change the current selection. If you're doing something in-between that will cause you to exit the current portal row (such as opening a popover), then Filemaker will not know which portal row to delete.
  10. Grouping duplicate product in invoice

    To display products grouped by their name, sort them by name and use a layout with a sub-summary part and no body part.
  11. Do you mean the button is outside the portal? Well, that depends on whether it's a button or a popover button. Clicking a button does not change the current selection, so it doesn't really matter if the button is outside the portal. If it's a popover, you will need some method to remember the active portal and the active portal row number - e.g. by running a script triggered on object enter. Consider also what might happen if user clicks the button accidentally, when no portal row is actually active (but one might have been active beforehand).
  12. Filemaker project structure

    I am afraid your description is not clear enough. What does your solution actually do for your customers? Are you the one working with it, or do your customers operate it? Not sure what is the point of that either. -- P.S. Please update your profile to reflect your version and OS.
  13. I can't answer that without knowing what exactly we are doing here, and - most importantly - for what purpose.
  14. I don't see why not. I suppose it could be something like: SELECT Field1 FROM YourTable WHERE StartDate = CURRENT_DATE - DAYOFWEEK(CURRENT_DATE) + 1 assuming weeks start on Sunday.
  15. I am mostly guessing here, but: If you define an unstored (not global) calculation field that returns the start date of the current week, and use it as a matchfield in a self-join relationship, so that: YourTable::cCurrentWeekStart = YourTable 2::StartDate and place the Field1 field from YourTable 2 on the layout, it will show data from the first record whose StartDate matches the current week's start date. Unstored calculations can be used as matchfields on "this" side of the relationship (i.e. the side that requests the related records, not the one that supplies them).
  16. FWIW, I had no problem performing the transformation using the files you sent me in a PM, running BE 3.3.4 in FMP 16 on MacOS Sierra. Were you able to perform a transformation using other files?
  17. I would much prefer you sanitize the files so that they can be discussed publicly.
  18. Well, what are you waiting for? Just attach them here (preferably reduced to the minimum required to show the problem).
  19. Converting date formats on import

    If some of the files you import are in MMDDYY format and others are in DDMMYY format, then you will need two separate procedures to import each kind. And you will have to select between them manually, because Filemaker's cannot tell if 010217 is January 2nd or February 1st just by looking at them - no one can. You could script the import of US-format files so that immediately after the import (while the found set still contains only the just now imported records), the date field's contents are replaced with a calculation that rearranges the imported string. You may also prefer to map the date to a text field during the import and take the string from there. Obviously, you cannot solve this by having an auto-entered calculation attached to the date field - because that would be also applied when users try to enter dates into the field in the normal course of things. If your system uses a European date format, and your file is set to use the system formats, then importing a US file will result in either a wrong date or an invalid one (with the exception of dates like 040417). In theory you could switch your OS to US locale before importing, but that's not practical. That has nothing to do with the problem. You need to make sure the field contains the correct data. The formatting only affects the way the data is being displayed in this particular field instance on this particular layout. As I mentioned, you could do Replace Field Contents[]. The exact calculation depends on the exact format (I doubt it's really MMDDYY, with no separators).
  20. Scripting a Constrained Search?

    I am afraid you have lost me completely at this point. I suggest you have a look at the attached file, which has a structure similar to yours (reduced to the minimum necessary to demonstrate the principle). As you can see, it shows the latest measurements of the selected equipment - and it shows them using a layout of the Measurements table. LatestMeasurements.fmp12
  21. Scripting a Constrained Search?

    That is what I understood from the beginning, and it is exactly was I suggested. Try this procedure manually first, before scripting it (except for the Go to Related Record part, which cannot be performed manually): 1. Go to a layout of Sessions. For the purposes of this exercise, place the serial_number field from the Equipment table on this layout. 2. Enter Find mode, enter a serial number of an equipment into the serial_number field and perform the find. You now have a found set of all Session for the selected equipment. 3. Go to the last record. Assuming your records were entered chronologically, that is the latest session of the selected equipment - otherwise you'd have to sort them by date before doing this step. 4. Now you need to do Go to Related Record [ From Measurements; Show related only (match current record only); Using your report layout ] to get a found set of all (and only) measurements taken at that last session.
  22. Deleting Found Records

    You could delete them one-by-one in a loop. I can't think of any other method at the moment.
  23. Display "other" value from Checkbox set

    Yes, but obviously not in the same field. You will need to add a calculation field and use a custom function (such as http://www.briandunning.com/cf/193, for example) to remove the items listed in the value list from those listed in your field. It might be simpler to let users enter the "other" value into another text field.
  24. Import Excel not working

    Elementary, Watson.
  25. You can calculate the date of last Wednesday using = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - 3 ; 7 ) Note that this will return the current date when the calculation is performed on a Wednesday. I am afraid I did not get this part: The calculation looks only at the weekly cycle and ignores year boundaries. If you like, you can use = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - Weekday + 1 ; 7 ) where Weekday is a number between 1 (Sunday) and 7 (Saturday).

Important Information

By using this site, you agree to our Terms of Use.