1 of 1 people found this helpful
I would assume your relationships look like this:
- Schools have many students but students have one school
- Students have many order, but orders have one student
IN that case, each Order record will have only one related student that it can show. There is nothing to filter when viewing from the Order-based layout, no matter what the portal is intended to show.
You might want to perform Finds when on the order screen rather than thinking in terms of filters, and view the result in list view.
You are correct. When creating an order, my first step is to select a school, then select a student based on that filter. When I use a conditional value list I can get all of the students to appear. When I choose the student (any student) I want the contact information from the student file to transfer into the order (invoice). However, regardless of which student I choose I again only get the first students information in the other fields (address, ph number, email, etc.).
On doing more research I saw someone suggest using a portal with a button in it to choose that student, but that does not appear to work either.
Thanks so much for your help.
When I choose the student (any student) I want the contact information from the student file to transfer into the order (invoice). However, regardless of which student I choose I again only get the first students information in the other fields (address, ph number, email, etc.).
You need another relationship between Orders and a second occurrence of Students, based on matching the chosen SchoolID. Use this relationship to filter the students value list:.
Schools -< Students -< Orders >- Students 2
Message was edited by: Michael Horak
You did state that the portal was on a layout based on Orders. There will only be one related student for any record in the Orders base table.
If you are trying to use a portal filter to select the school and then assign the student, you really shouldn't be using a portal at all, just a filtered value list with fields in the order record. Filter the value list itself and don't use a portal. The portal arrangement you set up only makes sense if you were trying to create student records from an Order.
You will need another set of TOs in your relatinoship graph to create the relationship between School and Students to filter the value list for students by school.
- Order [x] School –> Students
Show all schools to pick from in the Order record, then filter the list of students by the school chosen. No portals involved.
I have edited my post while you were replying - hope it answers your concern. Note that the rightmost relationship is:
Orders::SchoolID = Students 2::SchoolID
It's not the only way to arrange the relationship graph but I believe it's the most efficient one in the circumstances.
I still don't get it. Whenever I choose the school from the value list, it takes the first student assigned to that school and fills in their information in all of the fields, then when I choose the student from the list, nothing changes.
Where does it fill in the student info? Are you using lookups instead of value lists to populate the Order record?
On the order layout there is a value list drop down "Schools2:_kf_student_id". The value list shows both the student id and seconf field Student Name. This list is filtering properly by my choice of school in the value list above it.
After choosing that I want other fields on the order form to fill in:
"Schools2: Student Name"
"Schools2: Student Address"
"Schools2: Student Email"
"Schools2: Student Phone"
However, regardless of which student I choose, the other fields just stay on the first student from that school?
See if this works for you:
BTW, you only need to lookup data that's bound to change - otherwise you can simply place the related fields on the layout (see the Name field vs. LookupSource).
Orders.fp7.zip 8.5 K
Thank you, Thank You, Thank You.
You have created in 5 minutes something that has perplexed me for two days.
I hope I can help out a fellow newb in the future!
Thanks also to Stephen!