-
Posts
627 -
Joined
-
Last visited
-
Days Won
35
Community Answers
-
jbante's post in TO names get trimmed in the drop down in Specify Calculation dialog was marked as the answer
Use a Mac, where this isn't an issue.
-
jbante's post in Get CurrentYear? was marked as the answer
In your file's startup script:
Set Field [Table::field; Year ( Get ( CurrentDate ) )] -
jbante's post in Sorting Interface using virtual sort was marked as the answer
pdipotet, would you be willing to share the file you're working on? If not, would you be willing to show it to me in a GoToMeeting screen sharing session? That's a new one to me; I'd like to see that. Message me off-thread.
kigmaker, When sorting the current found set of records, Virtual Sort passes each primary key of each record to the ExecuteSQL function as a parameter, so the technique is limited by how many parameters the ExecuteSQL function accepts. Judging from your results, that limit is 1000 arguments (1 query + 1 column delimiter + 1 row delimiter + 997 primary keys = 1000). "Stick to sorting smaller found sets" is the only recommendation I have for you. Sorry. I'm adding better error reporting for this particular problem to the module roadmap for future development.
-
jbante's post in Anyway to trigger on the Big Red X right corner.. or prevent X was marked as the answer
You can control what happens when users try to close a FileMaker database using the OnLastWindowClose trigger. You can even prevent users from closing the file entirely by exiting the script with a result of False, since OnLastWindowClose is a pre-event trigger.
Get ( PersistentID ) has been fixed. You just have to make sure your FileMaker Go users have updated to 12.0.8 or later.
-
jbante's post in Button Badge ? was marked as the answer
The line with the blue handles indicates the direction of the gradient background fill for the object.
-
jbante's post in How to create a global "Title" for the entire file by typing into one field? was marked as the answer
Your one-record system preferences table is a step in the right direction. As part of your startup (OnFirstWindowOpen) script, go to a layout based on that table and load the value from your systemName field to a $$SYSTEM_NAME global variable. You can then display that global variable as a merge variable throughout your file. If you change the value, users will have to re-login to trigger a reload of the value for each user session.
-
jbante's post in Conditional modification timestamp that updates only if certain fields change was marked as the answer
The auto-enter (replacing existing contents) re-calculation will only be triggered when fields referenced in the calculation are modified, thus the ~trigger Let statement and your own use of the Evaluate function. Modifications to fields not referenced in the auto-enter calculation will not trigger it to re-evaluate.
-
jbante's post in Hourly rate was marked as the answer
First, if you're entering currency data in a field, it should probably be a number-type field, not text. In layout mode, select the field and look at the Inspector Palette > Data tab > Format (at the bottom). In the numeric formatting options, select "currency," which will give you the option to select a currency symbol and limit a number of fractional digits to display. Note that this setting applies only to the presentation of that instance of the field on that layout, not the data stored in the field. We usually want it this way so that the value in the field doesn't confuse any calculations or other operations it might be used in.
-
jbante's post in No interactive Word or Excel was marked as the answer
FileMaker container fields do not support treating Word or Excel documents as interactive content. Your setup is fine.
-
jbante's post in Trouble Exporting Records via Scheduled Server Script was marked as the answer
What path are you checking for the Documents folder? If you aren't already, it might be useful to include that in your diagnostic email. On a client, Get ( DocumentsPath ) returns the Documents folder for the current user logged-in to the OS. From the perspective of a server-executed script, there is no user logged-in to the OS, so it's less obvious where the documents folder is. I believe the default path is {applications or program files, as appropriate for the OS}/FileMaker/FileMaker Server/Data/Documents/
-
jbante's post in sort values in List using a calc was marked as the answer
If all else fails, here's the custom function I use to sort return-delimited lists alphabetically:
https://github.com/jbante/FileMaker-Techniques/blob/master/CustomFunctions/Value/ValueSort-TimSort.fmfn
And this one sorts numbers:
https://github.com/jbante/FileMaker-Techniques/blob/master/CustomFunctions/Value/NumberSort-TimSort.fmfn
-
jbante's post in Concern re Database Size... was marked as the answer
FileMaker 12 files are a bit larger than nearly-equivalent FileMaker 11 files. There's more information to store about the new "design surface," but that hasn't been a significant problem yet in my experience.
I'm not convinced that your graphics are bloated beyond what's typical in other medium-complexity databases like what you're describing. Some things you might try in this regard:
1. If you have any gradient images, use FileMaker-native layout objects with gradients applied to them rather than inserted graphic objects.
2. For the graphic objects you do have, use PNG format images. FileMaker is optimized for handling the PNG format on layouts.
3. Consider storing your graphic objects in global container fields set on start-up rather than inserted images on layouts. I don't think this will make your database any smaller, but it does save you some work when you decide to use a different image for a given purpose, since you'll only have one place to change the image, and that change will propagate to the rest of the solution as users re-login.
A FileMaker file increasing in size by 10 MB per year is nothing to worry about. If you have enough text data, it could reasonably take up that much space, especially after you account for any indexes. I work on databases that increase in size by gigabytes per year without noticeable performance degradation (not due to file size, anyway). If you're still concerned, you might compare what fields are indexed and whether the indexing is "minimal" or "all"; but don't be hasty in turning indexes off, since they work to make your database faster (at the expense of also making your database bigger), and some indexes are necessary to make relationships work well.
-
jbante's post in Simple Script to set minimum and maximum commissions on a sale was marked as the answer
Case ( price < 0 ; "?" ; // error price ≤ 15 ; 5 ; price ≤ 30 ; 7.5 ; price ≤ 50 ; 10 ; // ... price ≤ 250 ; 30 ; // value "30" for example price ≤ 500 ; price * .15 ; price ≤ 1000 ; price * .2 ; /* Else */ price * .25 ) -
jbante's post in Comparing SQL timestamp to FM timestamp was marked as the answer
Try this:
Let ( [ ~timestamp = "2012-04-26 14:57:03" ; ~timestamp = Substitute ( ~timestamp ; [ " " ; ¶ ] ; [ "-" ; ¶ ] ; [ ":" ; ¶ ] ) ; ~year = GetValue ( ~timestamp ; 1 ) ; ~month = GetValue ( ~timestamp ; 2 ) ; ~day = GetValue ( ~timestamp ; 3 ) ; ~hour = GetValue ( ~timestamp ; 4 ) ; ~minute = GetValue ( ~timestamp ; 5 ) ; ~second = GetValue ( ~timestamp ; 6 ) ]; Timestamp ( Date ( ~month ; ~day ; ~year ) ; Time ( ~hour ; ~minute ; ~second ) ) ) If you do this frequently, you probably want to make a custom function out of it. In general, my first attempt to parse out pieces of delimited data in FileMaker is usually to substitute return characters for the delimiters, then use the GetValue function.
-
jbante's post in iPad to iPad Peer-to-Peer sharing possible was marked as the answer
iOS devices (iPad, iPhone, iPod Touch) cannot act as FileMaker hosts for peer-to-peer sharing. I recommend getting a separate computer to run FileMaker Server.
Each user can be restricted to specific layouts via privilege sets under Manage > Security.
-
jbante's post in Apply Function to List was marked as the answer
I've written some functions that do this, ForEach and ForEach (non-recursive). You can reference these while writing your own, or just use mine. If you find anything I can improve, or want some clarification, please let me know.