I am having trouble with a continuous form setting Enabled to False in the current record only. I have tried code in the OnCurrent of the form and OnOpen, examples like
If Me.NewRecord then
Me!Quantity.Enabled = False
.....
also
If Me.NewRecord = True then 'if this makes any difference?
Dataentry is set to Yes and have tried No also with no difference.
So I can set all [Quantity].enabled to false but I only want to set the New Record, not all the records I have already created.
Any help would be appreciated as I still have a pretty basic knowledge of Access
I've built a basic inventory management system that allows a business to add products and the ingredients (and labour etc.) that go into them so they can work out costs and profit.We've run into a bit of a usability problem in the sense that they have 700 different ingredients and so adding them to products has become a little unwieldy as the lists in the comboboxs are massive.
What they've asked me to do is to add a filter combobox to the Ingredients subform of their New Product page that allows them to constrain the Ingredients by type, to make the lists more manageable. So if you imagine they are entering a record for a new cake and need to add Eggs as an ingredient they could either...
a) Scroll through the list of 700 ingredients as they do currently and find "Size 3 chicken egg".
...or...
b) Use a combobox on the ingredient row to pick "Eggs" which would in turn filter the ingredients combobox on that row from 700 ingredients down to a handful e.g."Size 1 chicken egg", "Size 2 chicken egg", "Size 3 chicken egg", "Size 1 duck egg" etc.
the filter combobox applies to all rows in the subform! Is there a clever way of telling the Filter to only apply itself to the current row of the continuous form?My code is...
Code: Private Sub FilterRMs() Dim mySql As String If Me.RMTypeFilter.Column(1) = "999" Then Me.FilterOn = False
Hi I have a problem that has been messing my head up. I want to be able to change the way the tab button works in a continuous form, instead of the tab tabbing across/through a single record first I want to be able to tab down/through the fields. I know this may seem strange to some but that is how I would like it to work. I could change the form to something else but that would require too much alteration and make life harder in the long run.
I currently have some VBA code set to ensure that the field that is select on open has a TabStop and all other fields do not. Is this the correct way of doing it or is there an easier way.
Combo box on continuous form should have the control source listed as the field on the form that will be updated. The Row Source, however, is a query that includes 2 things: the field on the form that will be updated (this part will be nonvisible in your form) and the table/query of selections you want to show up in the combo box (visible). Then ensure the Bound column is set to 1 and the Column count is set to 2 with Column Widths as 0";1"
in a continuous form i want to click on one record and have the one field change the background colour to highlight it. When I use the code: Field. BackColor = vbYellow it changes the background on all the records. Is there a code to say only for the record with focus?
I've got two control buttons ('OK' and 'Cancel') on several forms. They work on the forms in Single Form view, but not on the one form that is in Continuous Form view. I couldn't find any mention of this behavior on this forum, but on another forum somebody mentioned that Continuous Form view makes control buttons do odd things. Any ideas on how to handle this?
Here's the code:
Private Sub OK_Click() On Error GoTo Err_OK_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Me.Visible = False
Exit_OK_Click: Exit Sub
Err_OK_Click: MsgBox Err.Description Resume Exit_OK_Click End Sub
Private Sub Cancel_Click() DoCmd.Close acForm, "Glossary" End Sub
I created an Event Procedure on the After Update event for a control in a continuous form. Basically, if certain conditions are met, I want it to disable another control. It works perfectly, except it is disabling the controls for all the records instead of just that record.
Does anyone know how to get it to just update that record? I've been researching and cannot figure it out!
Basically I have a continuous form with each record having a textbox and a checkbox. There can only be one checkbox ticked per record but what I want to do is to stop the other checkboxes from being ticked if one is already ticked.
I have a continuous form on which where each record has many controls, including control (A). I wish to set the colour of this control based on the contents of another control (B). Control B is a memo format and is placed behind another control making it hidden. The idea being that the user can then click on control(A) and look at supporting information from Control B on another form.
Conditional formatting cannot be used since this only allows conditions based on the control (A), not (B). Event procedures cannot be used since they all depend on making a record the current record, and I want the user to immediately see when further information is available. When I apply VBA code using an 'on load' event it is action for all records on the form in a way that if only one record has extra information, all records are flagged in this way.
I am mid way through a Access db and have a solid idea what i want from a form. The idea is for a rota display and edit form.
a tab control with 5 tabs (-2 weeks, -1 week, current week, + 1 week, + 2 weeks) and when the user clicks it lists all the employees (Employee Table) with any found rota entrys (Rota Table) populating into a text box type table with employees information blank where no rota information has been entered.
then the user can edit / add shift information from that table and hit save.
the main rota information is inputted by an excel import but this is done once a month and adhoc changes will be needed (holidays absence etc)
the only thing i found like what i want is a continuous form (which ive never used before but been told that wont go in a tab control)
How i would accomplish this (code snippets - doesnt have to be detailed just the fundamental functions so i can add modify to suit the information the sql's i already have its just the form controls.)
Access 2010. I have a form pulling from a query to create a "To Do' list of sorts. On this form is a button to open an input form for the corresponding record (I hope). When this button is used I want it to pull certain data for that specific line from the query and input it into the new record opened by the button. I know this is possible as I use another db that does this but I have not been able to figure out how to make it work in the new db.
I have created a new form with a few tabs, I need to let the value's of the last record be carry to a new record, but it must only show when I press the first letter on the new record, I did rerad about this, but only find it for normal forms. Did try to get it to work, but it dows not work on tabs form
I have a form that displays its records in a Contiuous Form. The controls on the form are: txtRecID, txtStudID, cboTrimester, cboType, fld Comment, and blnReqConf.
My issue is that I need the blnReqConf (Request Conference) checkbox and label controls to only show on the reocrds when/if the cboTrimester = "Tri-2" and the cboType = "Parent" or "Teacher" are selected or displayed.
I have written: If cboTrimester = "Tri-2" And (cboType.Column(1) = "Teacher" Or cboType.Column(1) = "Parent") Then blnReqConf.Visible = True lblReqConf.Visible = True Else blnReqConf.Visible = False lblReqConf.Visible = False End If
The problem is that the controls display on all records throughout the form. How do I make it so that the controls are hidden on some records in the continous form and are shown on others based on the criteria? Is it possible?
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.
I have a continuous subform which queries a table of attachments. I'm using Access 2007 but not using the Attachment datatype; this DB will grow considerably and I don't want to waste precious space by filling it with bulky files. So instead, I have code which makes a copy of the attachment and adds the hyperlink (to the copy) to the table instead.
Now - I want to add a control to the subform to display an icon / image reflecting the file type of the attachment (Word doc, Excel s/s, PDF etc.)
But not sure how to go about it.
I was thinking I could use FileSystemObject.GetFileExtension at the point in the code where the attachment is added, and add a new field to my attachments table (i.e. translate "*.xls*" to "Excel", etc.) Then store / embed a handful of images for the core types I would expect and use an image control on the subform to display the image based on the value of that field.
But is that even possible / feasible?
Or, is there a handy API which can retrieve the icon associated with a file type based on what has been installed on the local machine (even if there is, there's still the problem of setting up the image control to display the appropriate icon specific to each record...)
Or, is there another control available which would be better suited to something like this than an Image control?
What I am trying to do is put a subform within a subform. The trouble is I want both forms to be continuous forms.
when I put the subform within a subform, access comes up with the following message:
************************************************** ******************** A form with a subform object cannot have its DefaultView set to Continuous forms.
You tried to add a subform to a form in design view. MSAcess will reset the property to Single Form. ************************************************** *********************
which it does my higher level form becomes a form only showing single records at a time whilst the subform is a continuous form.
So I have a control called txtBranch. If the user does not put 1 of 4 options then a msgbox pops up and says that is an invalid option and then gives all the valid options. It then sets the value to blank. Then it moves to the next field. I do not want it to move to the next field. I want it to stay on txtBRanch till it has a correct value. I have tried DoCmd.GoToControl "txtBranch", Me.txtBranch.SetFocus on the OnExit, OnLostFocus, AfterUpdate events and it still continues to go to the next control how do I get it not to go to the next control?
What I really need is for when the form opens, it looks at todays date, then matches current user and then goes to that record for today, if no current user there, then will goto new record..
i know, sounds complicated, and probably is really easy, but my heads not with it today, as about to get drunk as its my 40th, and got people ringing and texting and still trying to get this done....
I've included a copy of this database, named Timecards..
I have table that I had to add a new field to which we update with a form. I tried to add a control for the new field but the field does not show up in the list for the control source. I am trying to add a list box to the form with a blank and 5 options.
I have attached screen shots of the table design and the form. The table has the field in datasheet view and I have manually entered a few entries in it but it still will not show in the control source for the form control. The top section of the form is where we enter and select the data for the new records. The bottom section (circled in red) autofills the matching record, from separate tables, for updating with the new entries.
I have added form controls for modified fields in the past so I am confused about why this is happening.
Hi, I am using a macro in order to change a value after a control has been updated (using the AfterUpdate field). The problem is that I would like to use a single macro for all the controls (since the macro does the same thing on every control and I have many controls), not a new macro every time (nor a macro with many rows); is there any way to put into an expression something like "Current Control" constant instead of [Forms]![New]![Surname], [Forms]![New]![Name] etc...? something like [Forms]![New]![CurrentControl]? Thanks.
I want to use buttons on a form to change the sort order on a continuous form. In the buttons click event I am using a public function (named Sort_1) to change the sort order. The first element of the event call is the name of a generic query (named Sort_1_Query1) and the query field to sort (LAST_NAME OR FRIST_NAME, depending on the button.)This is the Click Statement.
=Sort_1("Sort_1_Query1","LAST_NAME")
This is the Public Function Public Function Sort_1(SortName As String, FieldName1 As String) DoCmd.ApplyFilter SortName, FieldName1 & "between 'A' and 'Z'" End Function
I think the problem is in the use of quotation marks or trying to pass the query field name to the Do Command or the use of an ampersand.
I have a continuous form in which I put a command button for each record called "detail". I would like to click on the "detail" button and make it open another form containing all (and only) the info on this record.
At first I refused to use an "id" to link both forms, but finally I added the "id" in the table... however still does not work.
continuous form: "04 - GASTOS_BUSQUEDA" id field on continuous form: "Gastid"
pop-up (details) form: "GASTOS_EDITAR" id on pop-up (details) form: "editar_id"
This is what I have tried on the "click" properties of the "details" button field (called "btn_editgs"):
4) Private Sub btn_editgs_Click() On Error GoTo btn_editgs_Click_Err Dim strWhere As String strWhere = "[editar_id] = " & Me.Gastid DoCmd.OpenForm "GASTOS_EDITAR", , , strWhere btn_editgs_Click_Exit: Exit Sub btn_editgs_Click_Err: MsgBox Error$ Resume btn_editgs_Click_Exit End Sub