Sounds like a combination of issues. If the drop down field is inside the portal row, then yes, selecting a value in the bottom blank row of the portal will create a new record. That's how portals are designed to work. You can set up a search field for the client name outside of the portal where you enter all or part of a name and all matching client names appear in the portal. Clicking a button in the portal row can then select that client by ID and enter the data into a specified field, perform a find for that client, use Go To related record or any number of different actions as needed once the user has selected a client.
Here's a demo file that includes several different examples of these techniques: http://www.4shared.com/file/plr_jbkk/EnhancedValueSelection.html
Then maybe a portal is not the way to go.
I need to track volunteer services provided to clients by head of household. Sometimes services are delivered to more than one client at a time. So I created a clients table and thought.
The volunteers are pulled in from a volunteer table and selected from a pulldown menu.
The volunteer hours are tracked in an appointment table via a volunteer login.
Is there a way to do this?
Certainly there is a way and the portal is one option, it's just a matter of learning how it and value lists work. Please give a detailed example of what you are trying to do and then I can suggest some approaches that should work for you.
It's taken a little bit to formulate my response. Here's what I'm trying to do:
volunteers - with vol. info
appointments - that tracks vol. requests; logged activities
clients - includes basic client information
organizations - includes org information
The issue I'm trying to resolve now is finding a way to select up to 5 clients for a volunteer request (appointment table) or up to 5 clients to be recorded for the volunteer log in (also appointment table) if the appointment was not requested (i.e.: ongoing etc)
Originally, I inserted a related pulldown field and that seemed to work. However, I later learned that we could have up to 5 clients receiving services for one activity. It was suggested to me that instead of including 5 separate related fields that use a portal instead, so I could select as many clients as I needed to. Of course what happens when I do that, the portal creates a new identical client. To avoid misspellings I'd like the client name to be a pull down?
Are multiple pull-downs the way to go? If you're able to make a suggestion, I'll be sure to respond much, much sooner.
Sounds like a portal is the way to go, but we have to set up relationships and a layout to support what you need to do here.
It would seem that you need these relationships:
Volunteer::VolunteerID = Appointments::VolunteerID
Appointment::appointmentID = Appointment_Client::AppointmentID
Clients::ClientID = appointment_client::ClientID
You would create a new record on the appointments layout, selecting a volunteer from the Appointment::VolunteerID field via a value list and you'd use a portal to Appointment_Client to select as many clients as desired to link to this one appointment record by selecting clients from a drop down list formatted Appointment_client::ClientID field. Fields from Clients can be added to the portal to supply additional info about the client and will display that data automatically once a ClientID is entered.
Initially your instructions were a little too zen for me. So I created the "appointments_client" table and included all of the common fields and ran into all kinds of problem.
I went back and tried again with creating the appointments_client field with the just the id fields as you suggested (with the right relationships) and of course it worked.
It's often very useful to include other fields in such a join table as long as you don't use them to store data already stored in other tables.
One more question. I'm now able to input the clients receiving services from volunteer via a portal that's working great. One last thing I have to do: I need to run a report (a layout based on the Appointment Table) that tracks
"appointment date/total hours/appointment type/volunteer name/client name"
When I click find in that report to find what services were provided to "Client A":
1. If Client A is the only client receiving services then client A is returned in the search results
2. If client A is listed 2nd (or anything but first) that activity is returned, but under a different name (the client name listed first) is the name returned in the results.
Is there a way to search and return the name I'm searching for?
Many summary reports can be done from Appointment_Client and that was my first thought here, but you have information that needs to be totaled in the appointment table.
If you perform a find and specify criteria in a field from a related table such as performing a find in Appointments but specifying a client name or ID in Appointment_Client or Clients, You will find all appointment records with at least one related record that matches your criteria. That produces the records you need for your totals, but you'll need to be a bit creative to display client data for the correct client as references to the related table will match to the first related record and this may be data for a different client linked to the same appointment. If you store the client ID in a global variable or global field, you can use a filtered portal to display the correct client data.