Continuous Subform Unbound Control Problem

webbmatt

New member
Local time
Today, 03:16
Joined
Nov 21, 2005
Messages
7
Hello,

Please see the attached images (screen shots from my db).

I'll start by explaining the function of this form. Invoices are raised through a different area of the system - they then appear in the outstanding invoice list in my payment processing screen while awaiting payment. When a payment is received the user creates a payment using the controls at the top of the form. When created - payments will appear in a list box at the bottom of the screen. I then want the user to be able to highlight a payment from the list and type the amount to allocate against each line in the outstanding invoices subform. Then (once happy with the allocation) press the "Allocate" button which will cycle through the allocations the user has made inserting rows into my Transaction table - allocating the payment against multiple invoices.

The fields displayed in the outstanding invoices subform are selected in a query which calculates the amount still outstanding. In trying to illustrate my aim I've added an unbound text box to the subform (the column Allocate). What I'd like to be able to do is type a different amount against each outstanding invoice. I understand this is not the way that unbound controls work in continuous forms - i.e. that they are multiple instances of the same control hence when I type 100 against the first item in the list it appears against every item in the list. I can't use a bound control because the query is not updateable - and in any case, the entry won’t exist in the transaction table until it has been inserted anyway.

I'm pretty competent with Access and VBA but haven't really explored recordsets - I'm usually able to achieve what I want by binding my forms to stored queries. This, however, is a bit more of a complex problem than I'm used to dealing with.

So, to the point then. I guess my first question is - is it possible to achieve this? I'm sure it must be. If so please can someone try to shed some light?

Secondly, I have an idea but have absolutely no idea of how to implement it. I seems to me what I would need to do is build a temporary recordset for the form and add a field to it i.e. the "Allocate" field I've been talking about. The user would then be able to manipulate this recordset because the form wouldn't be directly accessing a query. Nor would there be any unbound controls on the form. Once the user had typed in all of the allocation figures they are happy with they would be stored in my temp recordset. They could then hit the "Allocate" button which would cycle through the recordset inserting rows into my Transaction table (as long as various validation rules were passed).

Does this sound possible? If so can anyone give me any help or point me in the direction of any material they know of that might be of any help?

Thanks in advance for your help.

To give a flavour of how I originally built this form I've attached another image - PaymentProcessingOld.gif. It's a similar kind of setup. Payments are created at the top of the screen and appear in the list box bottom left. The outstanding invoice subform serves only as a point of reference. The user actually allocates payments by selecting the item from a combo box and typing the amount. This builds the transaction I've talked about above. It's quite straight forward when there are only a few payments and allocations, but in practice payments are usually large and split across up to 100 different invoice lines. That makes it a very tedious task.
 

Attachments

  • PaymentProcessing.GIF
    PaymentProcessing.GIF
    54.7 KB · Views: 247
  • PaymentProcessingOld.GIF
    PaymentProcessingOld.GIF
    35.7 KB · Views: 221
See quote below from UtterAccess.com forum - many thanks to KenSnell...

"The method that I use for such form setups is to use a temporary table as the form's RecordSource. When I open the form to fill it with data, I have the VBA code create the table, fill it with data from a query that gets the desired records, and then displays the data. In that temporary table, I have the extra fields that are needed to allow entry of data such as payments, etc.

Then, when the user clicks the "enter" or "done" button to save the data, the form runs VBA code that reads the data from the temporary table and writes the data back to the appropriate permanent tables.

I believe that you could use a similar process to do what you seek here. "


I think I have this figured now, many thanks to all who took the time to consider my post.
 

Users who are viewing this thread

Back
Top Bottom