I am creating a contacts database using FileMaker Pro 19. Part of the relationship diagram is shown below:
For each Person record, I have zero or more Phone records, each corresponding to exactly one IDDCode record.
In the layout for editing Person records, I have a portal (with all default options) pointing to the Phone table. In each portal row I have edit boxes for the Phone::Label and Phone::PhoneNumber fields, and a drop-down control with "Display data from" = IDDCode::DisplayCode and the "Values from" list set up as:
Hopefully it is clear enough what I am aiming for. What actually happens is not even close to that. Among the many unexpected behaviors:
Changing one drop-down sets the value in all rows
The values shown in the drop-down do not necessarily correspond to the values in the Phone table
When I open the drop-down list, the highlighted default is off by one (e.g. if IDDCodeID is 39, the value for IDDCodeID 40 is highlighted)
Some of the edit boxes are missing, e.g. the second row in the example image should have a phone number filled in
The portal does correctly display the existing (imported) data, though. Here is an example of what I see when I try to use the layout:
QUESTION:
Obviously the way I have set this up is wrong (I am familiar with databases but brand new to Filemaker). Rather than address the problems with my setup point by point, I am hoping to find out what is the right way to do this in Filemaker?
Related
I am an extreme newbie to COGNOS (5 days give or take a few hrs) and have been thrown in the deep end.
I have a data package i am working with and the only date field I can use has the property of timestamp. I have looked through other questions that are similar and i have used the "CAST" function to turn the field into a date so this has worked.
cast ( [TR_Logical Layer].[Fact Event].[Period Datetime],DATE) - so I was happy with that.
However now when I am building the graph, I am getting repeated dates - and I can only think that this is because somehow it is still holding onto the timestamp portion of the field.
Please how can i get all of my many dates for say the 21st Jul to be one?
Possible issue: Repeating is probably due to how it is grouped (down to the time which would have the day repeating)
Suggested solution: Add a determinant to control granularity and grouping
Here are the steps
https://www.ibm.com/docs/en/cognos-analytics/11.1.0?topic=determinants-specifying
Click the query subject you want, and click Actions, Edit Definition.
Click the Determinants tab.
Click Add under the Determinants box.
The entry New Determinant displays in the box. To give this entry a meaningful name, right-click it, and click Rename.
To define a key, right-click a query item in the Available items box and click Add as Key. Tip: You can also drag query items to the Key box.
To identify which query items should be associated with this determinant, right-click query items in the Available items box, and click Add as Attributes.
Tip: You can also drag query items to the Attributes box.
You can have a determinant with no attributes defined for it. Framework Manager uses this type of determinant to indicate which query items are indexed.
To specify that the selected determinant should be used as the unique identifier, select the Uniquely Identified check box.
Do this only if the data in this item is unique for every row in the underlying data source. You can specify more than one unique determinant if they are truly unique. At query time, the relationship being used will determine which unique determinant to use.
Select the Group By check box to indicate that when keys or attributes associated with that determinant are repeated in the data, IBM® Cognos® Analytics should apply aggregate functions and grouping to avoid double-counting.
If you want to change the order of the determinants, use the arrow buttons.
Determinants are processed in the order in which they are specified in the model.
Click OK
I need to change two columns in a Sales Order's item line section (bottom of the page) in NetSuite: https://i.ibb.co/27vx9Dr/2019-06-20-10-41-13-Window.png
It feels like the solution ties these two together as they are both perceived as item line fields or "Sublist Fields" (according to NetSuite's customization form page).
INVENTORY DETAIL needs to be enabled or set to "normal" so I can be able to specify bins associated from my selected item or be able to interact and fill in this column at the basic level.
AMOUNT needs to be set as "inline-text" so that other people handling sales orders cannot disturb it at all and still be able to see the value of this particular column.
I have attempted to search through Customization > Lists, Records & Fields and searched the following options: (which I thought were relevant to the fields that I wanted to modify)
Item Fields to no success
Transaction Body Fields to no success
Transaction Line Fields found out that AMOUNT and INVENTORY DETAIL are both padlocked
I also attempted to search through Customization > Forms and I have spent a long time looking through my Sales Order custom transaction form (possibly missing out on menus unintentionally) to no success.
I know that inside Customization > Forms > Entry Forms there is an Inventory Detail form in there that shows exactly the window I'm expecting, but I haven't figured out how to customise anything in the columns item line for transaction forms yet so I can create a custom column containing a link to INVENTORY DETAIL simulating the typical behavior of the original one while hiding the disabled one.
Near the top of a Sales Order form, I went to Customise > Customise Form and found out that I can find both AMOUNT and INVENTORY DETAIL inside the Sublist Fields tab.
Unfortunately, it only has SHOW toggles and this does not do what I need for it to do.
It is clear that I am confusing Sublist Fields with Screen Fields where I expected there would typically be a DISPLAY TYPE column that bears the drop-down selections containing "Normal", "Inline-Text" and "Disabled" options.
In actuality, they have SHOW checkbox toggles for both INVENTORY DETAIL and AMOUNT where the AMOUNT checkbox is greyed out. (This still does not achieve or reflect what I need it to do)
I am unaware of the conditions that needs to be met for AMOUNT to behave as an inline-text. There is probably another condition that needs to be met for the INVENTORY DETAIL column to be made available somehow.
I admit that I missed something crucial, so please kindly mention about it.
Any help would be greatly appreciated.
I was able to create a new column by creating a Transaction Line Field that contains two separate fields which are applied to Sales Orders.
For the INVENTORY DETAIL, I went to Customization > Entry Forms and copied the link for "Standard Inventory Detail Form" and then produced my own HTML code inside the Default Value when creating a new Transaction Line Field.
For AMOUNT, I created a new transaction line field and then set the Default Value as the appropriate value found in https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2018_1/schema/record/billingaccount.html and I used the curly bracket notation {} to fetch the data for the edittable AMOUNT but changed the Access to View-only, which makes this exactly what I needed.
After previewing the changes into an existing Sales Order, I can see my results reflected as expected. Consider this question solved.
I'm building a database in FileMaker 12 that will, among other things, keep a list of jobs (indicated by numeric ID) and the employees who had billable time for that job.
Given three tables:
Employee ( empName, empID, salary, ... )
JobHours ( empID, jobID, hrsWorked, ... , refID)
JobCost ( jobID, expenses, profit, ... , refID)
Where:
Employee is my personnel roster matching names to numeric employee IDs and stats (salary, et al) ;
JobHours is a list of employee participation -- whenever an employee spends time on a job, this table has a line that shows their ID, the job ID, hours worked, and a few other things;
JobCost is a daily record of jobs. One entry in this table refers to the activity for a single job on a single day. Additionally, each entry gets a system generated unique ID (since neither jobID nor date is unique) to relate to JobHours (resulting in a list of who worked on a particular job on a particular day).
I have a form showing records from JobCost. For each record, I can see in a portal, showing records from JobHours, who worked on that job on that day.
Now, the issue.
In my portal, I want to have a drop-down list of employee names pulled from a value list to create records in JobHours with the following criteria:
1) I need it to be a drop-down rather than a pop-up so it will respond to auto-fill from the keyboard. A drop-down will show the secondary value (employee name) from a value list while dropped down, and will respond properly to keyboard autocomplete on the secondary value, but once you've made your selection, it only displays the primary value (employee ID).
2) I need it to display names, not IDs, at all times. The pop-up does this perfectly. However, it doesn't seem to respond to the keyboard for typing autocompletes.
3) I need to store the numeric ID rather than the name.
I know how to satisfy any two of these criteria at once, but that's all. The whole database is working beautifully otherwise. Is this behavior possible?
One common technique is to use two fields, one directly on top of the other.
On the bottom, put your JobHours::EmpID field. Set it up as the drop-down list with the value list that you've specified.
On top of the JobHours::EmpID field put the related Employee::EmpName field. Set the field so that it cannot be entered in browse or find mode.
Now your users will see the Employee Name, but when they click that click will go through the top field and into the Employee ID field where they will choose the name from the value list.
pft's solution is one that I have long used, but I do still find it inelegant because the user still sees an existing id number in the field when changing the value.
If the type-ahead is important, I would use the popup menu. Once the menu has been activated either by tabbing into it or by clicking into it, the user is able to type from the keyboard and the selection will change based on what's entered.
I came to this thread looking for a solution to this same issue (allowing the user to pick from a list, show their choice, but store a related value instead). For example, choose a plant species name from a dropdown, show the plant species name in the dropdown field, but have it store the taxonomic serial number (TSN; which is more likely to stay the same over the years). This is easy to do in MS Access, but took a litlte more messing around to do it in FMP12.
How I solved it:
I created two fields in the table that would be storing the values: Plant_TSN and Plant_SciName. A relationship must exist between the values in these two fields. In my case, I store a SciName for each TSN in a lookup table. I then created two fields in my layout, one for each new field.
For the value you wish to store (ex. Plant_TSN):
Make the corresponding layout field a dropdown and include the show/hide arrow. Edit the value list you will populate the dropdown with to show the second (reader friendly) column but store the first column value. In the layout shrink the field to only show the arrow.
For the field you wish the user to see (ex. Plant_SciName):
make the other layout field a Edit Box and prevent field entry in either Browse or Find mode. But it up against the dropdown arrow created in the previous step to make what looks like one field.
Finally, back in the first field (arrow-only drop down) write a script to push the user friendly number (Plant_SciName) to the edit box when the user-ugly (Plant_TSN) value is picked in the drop down. I used the OnObjectSave script trigger of the dropdown formatted field. Script should be something along the lines of 1) Freeze window, 2) Go to Related Record (based on relationship in lookup table 3) Set Field (i.e. the edit box) and 4) GotoLayout[original] to offset the Freeze.
Probably not an entirely clear explanation, but I bet you will get it on your third read through! I would have posted a screenshot, but I apparently need 10 "reputation points".
Cheers.
I am already using Filemaker Pro 10, I have two questions:
I have a text field in a portal, and whenever I am entering values like "B12C45" in it, it works well, but when the string is longer like "BC12F42, B45z87" it doesn't show whole the strings and omits the letters from it. what Can I do?
My second question is that: I have a portal in a layout, in this portal every row has an id sometimes the id is repeated in other rows but the value of another field called Position is changing. Now I want to have those rows of this portal which have the same id in another layout. I have tried using scripts for it, but scripts don't work well in this case, and they are entering whole the portal in the new layout not the parts I want . How can I write a script which does this?
I will really appreciate any help.
For the first question there are many ways you could display more data in a field and the best one will depend on the particular implementation in your database. There are three main ways to solve this problem: field-size adjustments, text-size adjustments and programming adjustments to dynamically change the text-size.
Field-size adjustments include:
Making the field longer
Using the autosizing aspect of a field so that as the window grows, so does the field
Text-size adjustments include:
Making the font size for that field smaller.
Setting the font style for that field to condensed.
Programatically, though, three things stand out to me as possibilities. I like the third one the best for most of my solutions:
Set the tooltip for the field to "Self" (without the quotes). A user can see the entire contents of the field by hovering the mouse over the field.
In "Define Database" set the field's calculated value to: "TextStyleAdd(self;Condense)" (without the quotes) and make certain that "Do not replace existing value of field" is turned off
Use Conditional formatting to add the Condense style or use a smaller font when the number of the characters in the field gets long.
The steps for using conditional formatting are as follows:
In layout mode select the field and select 'Conditional Formatting...' from the pop-up menu
Add a new condition
Change the condition to 'Formula is'
In the text field enter "Length(Self) > 8" (without the quotes)
Press the "More Formatting..." button
Select "Condense" as the Style from the text
You can add multiple conditions, so you might have "Condense" only for Length(Self) > 8 and another condition for Length(Self) > 16 where you set both "Condense" and reduce the Font Size.
As for your second question, I'm not able to get a picture of what you're trying to do from the question you asked. You might be able do the following in a script:
Go to Related Record [the portal relationship]
Sort Records [by ID]
And then use a summary field (Count of ID) to determine how many of each ID you have.
If you clarified what you were trying to do, gave more information about your tables and table occurrences, we might be able to provide a better answer for this instance.
I created a label report (2 columns). The fields used are, Suffix, Contact Name, Company Name, Job Title and Department – simple contact data.
The Department field is the last one and in the report of 78 records the Department field decided not to display the entire field text twice.
I have "Can Grow" set as default on all fields, I checked the margins and label width to ensure the text is not being truncated because of the labels being too wide for the margins. I modified the data in the database by abbreviating certain words and it shows the change but it still truncates after 50 characters. Other times the Department name is 80+ characters and it displays all of the data.
This problem is happening onscreen when I preview the report and also when various users print it. The default printers have not changed.
This one has me stumped. Is this an application bug (if so is there a Service Pack for CR 11.5?) or does it have anything to do with printer drivers in need of update?
Thanks in advance for your help on this puzzle.
Update
I did specify data source
The text in the database is without any special characters or anythig else that might be out of place
No I am not using Underlaying Following sections anywhere in the document
11.5.8.998 is my version of CR (lloks like I am behind - however, when I click on verify for updates it tells me there aren't any. Do you ahve a link to the SP2 download?)
No formula in the Custom string option
Mine worked by simply going to the Database Menu option: Database-->Verify Database, and the field sizes were updated
It could happen if the length of the field in the Data Source is less than your string. To check this:
In the Field Explorer right click on the data source name and choose "Show Field Type"
The length of the field is written between ( ). If it is less than your string length, you have to re-build your data source. For example, if your data source is a view, you have to drop and create it again and then verify your data base in crystal report.
Hope it helps.
Random troubleshooting thoughts. One of these could even work :)
You didn't specify your datasource, but can you preview your data before it goes into Crystal? If the actual data is randomly truncated, then the problem isn't Crystal, it's the data.
Does this data have any special characters, i.e. accents, foreign currencies, etc? That could be a problem (I don't know if this could even create problems, never used them in Crystal)
In the Section Expert, are you using the Underlaying Following Sections option for fancy formatting? If so, your 'grown' fields may be hidden by some other field in the following section.
My Crystal Reports XI Developer Edition is 11.5.12.1838 (that's service pack 2). Is your Crystal up to date?
In the Format Field pane, there is an option to make a custom Display String. Sometimes I forget I have a formula and then don't understand why it's not doing what i want.