Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About tlsparker

  • Rank
  1. Try formatting the field as a popup menu rather than popup list and see if that works. I have a similar script for a dropdown list that works OK on PC. Demo is at my site: http://www.tgparker.com/filemaker Download dropdown.zip Tom [ February 14, 2002, 03:26 PM: Message edited by: Tom Parker ]
  2. Enter Find Mode. Type "Jane" in the First_Name field. Type "Smith" in the Last_Name field. Click "Find" This will return all records for Jane Smith. Tom
  3. I suggest changing your data structure somewhat: Instead of having a separate field for each student/assessment combination, you can do this all with three fields (in FileMaker it is cumbersome to summarize data across fields; it is much easier to summarize across records). The fields would be: Student (unique number for each student) Assessment(number from 1 to 3) Rating (number from 1 to 4 or blank) You could also have fields for teacher, school, class, and whatever other categories you use. To count students who have been rated, create a calculation field "Rated" = If(IsEmpty(Rating), 0, 1) Then, create a summary field = Total(Rated). By placing this summary field within different sub-summary parts on your report layouts, you can summarize for whichever categories you need the information. Remember that you need to sort and enter preview mode to view sub-summaries. If you need to work with the count data in further calculations, there are methods to create the same summary information using self-relationships within the file, or using relationships from a different file. Good luck! Tom tom@tgparker.com http://www.tgparker.com/filemaker
  4. On your form page, this is what your popup menu will look like: <select name="xx" size="1"> <option value="Field1">Field1</option> <option value="Field2">Field2</option> <option value="Field3">Field3</option> </select> On your response page, [inline: -Search, database='databasename', layout='searchlayout', (Form_Param:'xx') =(Form_Param:'textboxname')] [/inline] Note that you are passing the names of the user inputs to the next page as Form_Params. It is actually better practice to set these as variables at the top of the page, then call the variables in the inline. Use the [Records] tag to display results within the inline. Feel free to ask more if you need to. I assumed you understand Inline methodology. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  5. Create a calculation field Calc= Field1&"
  6. This only addresses a portion of the original question. However, it seems the fundamental challenge is to create serial numbers that start over at 1 on each day (sub-serial numbers). I created a sample file showing one technique for doing this and posted it on my site: http://www.tgparker.com/filemaker The file is called SubSerial.zip The idea is to create a self-relationship based on date. Serial number is then an auto-entered calculation that first uses IsValid function to test if any previous records exist for that date. If not, field takes value 1, otherwise, field takes value Max(DateRelation::Serial)+1. You can download the file and play with it. Hopefully, it will lead to a solution for the other parts of your question.
  7. [Variable_Set:'user'=(Form_Param:'UserID')] Note the parentheses. This syntax should work for you. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  8. I think the conventional wisdom is to never delete fields for this very reason. I think you can rename them with a prefix of your choosing marking them as obsolete. This flags them for you as a designer but allows them to function as placeholders for your scripted routines.
  9. The form_param works great, but disappears after the first time you use it on a response page. You could try a reuseform_param tag, but it is much simpler, like Scratch said, to simply set a variable to the form_param. You can then use the variable an unlimited number of times on the page. If I need to pass it on to yet another page, I will use Input type= hidden (or pass it in a URL string) and then pick it up as a form_param in the next page (and so on). I use this method exclusively instead of using tokens or cookies.
  10. One method would be to create a separate file with one record per payment type. Create a relationship based on payment type. Create a calculated field defined as Sum(PaymentType::InvoiceAmt). View as list, creating any necessary header and footer and you have a report you can work with in browse mode. Alternatively, you could do this within the file using self-relationships. Unfortunately, as you have discovered, the subsummary parts on layouts are meant to be viewed and printed only (thus they only show up in preview mode).
  11. I think there are a few ways to solve this, but here is what I have used in the past: Create three global text fields: gDate1, gDate2, and gDateText. Users enter the start date in gDate1 and the end date for the range in gDate2. In your script: set field["gDateText","gDate1&"..."&gDate2"] Go to Field[select,perform,"gDateText"] Copy Enter Find Mode Go to Field[select,perform,"Date"] Paste Perform Find This method has always given me the best results for date ranges because of how picky date fields are, although I have been using it since 4.0 and there may be more ways to do it now. Here, you simply simulate typing the range into the field. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  12. I could see using String_CountField to count the number of words and then iterating through a loop (LoopTo String_CountField). Within the loop, set a Var to String_GetField,and use the variable in an inline search, still within the loop. You could set the results of the inline search to a variable and build a return-separated list to return to the user. Check these tags in the LDML reference database for syntax. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  13. Can you manually enter find mode, type the date range in the date field, i.e. 01/01/2002...01/31/2002 and find the dates that way? If so, try placing a pause in the script after the paste command to see what is going into the field (standard script debugging technique). Make sure the global fields are of type text. If nothing works, email me the file and I'll look at it real quick. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  14. This may not help you in your current situation, but I can share my experience with Lasso. I have potentially thousands of users, so I simply built a separate user/password database with integrated session management and let Lasso handle the security. I found that integrating the Lasso Security module with FileMaker's built-in access privileges was just about impossible to implement with any number of users. Check the Lasso list archives at http://www.blueworld.com for reams of information about how the experts handle Lasso/FM security integration. Tom tom@tgparker.com http://www.tgparker.com/filemaker
  15. I think you could use the replace function safely as long as it is embedded in a script. I would minimize the need for user interaction (and resulting opportunities for data corruption) by having users input all required info (two find requests and the replace data) into global fields on a data input layout. Once the data is entered in global fields, have the user click a button that initiates a script: Go to Layout[x] Set Error Capture[on] Enter Find Mode Set Field ["SearchField", "FirstGlobal"] Set Field ["SearchField2", "SecondGlobal"] Perform Find If Status(CurrentError)=401 Show Message "No records, try again..." Go to Layout [original layout] End If Replace["DataField", "ThirdGlobal"] Go to Layout [original layout] Of course, you need to substitute your own field names. I assumed you were searching on two different fields. If you are searching for two different criteria in the same field, you would need to insert a new find request before the second set field step. Good luck! Tom tom@tgparker.com http://www.tgparker.com/filemaker
  • Create New...

Important Information

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