Modules & VBA :: Way To Find Which Control Is Being Clicked
Aug 18, 2014
I have two command buttons having two textboxes to populate. The way I am going to populate the text for both the textboxes is same but on separate clicks. Is there way to find which button (or control) is being clicked in runtime. I think I have done it a long back but not getting right now (I had a gap in my career). The keyword sounds like some 'Defaultcodecontrol' or something like that only.
I am creating a database to manage multiple mobile devices. The table structure is complete and I'm trying to build a set of forms.
Simplifying things, I have tblUser, tblSim and tblDevice. I also have a tblJoin where you can select a UserID, SimID and DeviceID to create an item of inventory.
I have created a parent form (frmCreateInventory) base on tblJoin, so it has JoinID and combo boxes for UserID, SimID and DeviceID in the lefthand side.
I have also set up 3 sub forms sfrmUser, sfrmDevice and sfrmSim, based on their respective tables, which I want to display on the right hand side of frmCreateInventory.
I'd like to be able to create a subform control in frmCreateInventory, but change the subform it displays based on what combo box is clicked, e.g. if I click the UserID control, the subform displays sfrmUser, and the relevant data based on the UserID that is linked to the JoinID. if I click the DeviceID control, the sfrmDevice is displayed and the relevant info etc. etc.
Is this possible? if so, how would I go about doing this?
In a current form I want to display a checkbox that can be checked or unchecked. Based on if the box is checked or not, a value will be placed in a field when the record gets updated or created...
I have created a check box but when I click it, I am unable to uncheck it, Im pretty confident I can do the later part in coding it into the database... its just having the free ability to check it or not!
I have 3 text boxes on a form each of which gets their values from different queries using DLookup this is functional but only when I click on the text box its self, I have tried using the "On load" & "On current" to requery the textbox (Text38 as control name) but no luck,, another strange thing i've noticed, when I have the form open in access and i click on my taskbar, thus switching windows from access to the desktop but keeping access in view, all text boxes are calculated immediately.
I'm designing a form which will display a lot of employee information in a tabular layout. Users need the option to update a lot of these controls, but I want them to do that on a separate form. I'm wondering if VBA can determine the position of a clicked button within the tabular layout.
Can I have some code which determines that, for example, the second button across on the 3rd row is clicked and read the corresponding label?
I was planning to have each button just call a function passing an argument, but since all these buttons will be labelled "update" it could get a bit confusing if I need to re-arrange the controls. So I wondered if what I describe above is possible, and which VBA functions I would need to look into if so?
I have added a list box to a form with Single Selection mode on. Its purpose is to improve the interface. It contains items that represent all records. Clicking on the list box causes the form to jump to another record.
The problem is following: if I click on the List Box, it clears the selection and nothing is highlighted but it jumps to correct record. When I use standard record selection buttons, it highlights the correct items.
I read the index of selected item from .ListIndex property because Selected() does not work in a Single Selection mode. However, this is read-only property and I cannot use this to highlight the item back from VBA. But when I use Selected() it is not working. I mean when I click again on the same item it's selected. It's weird. I attached a simple database file with this problem.
The second problem is, when using standard record selection buttons, access iterates through all records and then jump to empty one. That is not like a new record. I don't know which event to use to control this situation. I would like to deselect all items, let user enter the data and re-query the List Box with a new record.
i've got a data entry form. when i click the button add all the other buttons go grey, i am in mode "New" also i am able to add, edit, records in this state, when i press save i want the supplierID field to automatically populate itself with the next SupplierID record THAT IS EMPTY. So say that my last record was ID number 45 then when i click add on my form and go into "New" state the SupplierID field automatically populates itself with "46" btw this is all an unbound form,
I'm quite new to Acces (2010) . Currently, I'm working on a form in which certain fields are set to invisible. I'd like to toggle fields to visible based on the button clicked.
Example: Field 1: O No O Yes --> When No is clicked Field 2 (containing a date) becomes visible --> When Yes is clicked Field 3 and 4 (both yes/no fields) become visible
Given the firmname and textbox name is it possible to programmically get the fieldname and table name where the data for that control is held.
I can use .controlsource and .recordsource
But is possible that .controlsouce is an alias of the actual fieldname.
Similarly the recordsource could be a query, from that I want to get the actual table, complicated say if two tables in the query had a field with the same name (even if only one was referenced)
I am relatively new to Access and i am wondering why i cannot find a specific field from a table on the control source when i am and attached it to a check box.
I have created the field on the table, and now i want to attached it to the check box on a form however when i go down the list of control sources i cannot see it.
message "cannot find the object "." ". I have looked in the VBA for the Report I am working with and the form that has the underlying data and cannot find the rouge period! I am creating a label for payment envelopes that is gets its data from the form that indicates payments made
I'm lost on how to use the LIKE to find a value in a field.
I try to use the open folder if a field contains "Retail" or any other containing as a part. So, I could have just "Retail" "New Retail" and then act on it.
How can I use the below proper?
Code: If Me.Business_Type Like "*" & "Retail" Then
I've got this yes/no message box that deletes an appointment. When i click yes to confirm delete, the box just stays there. I have to click yes again before it works. Clicking no works fine. Its like its going round the else if statement for vbYes twice. Does anyone know why this is happening? Heres a snippet of the related code. Thanks in advance.
If myYesNoQuestion(strDelete) = vbNo Then myDisplayInfoMessage "Appointment kept on file" 'If the user decides not to delete the customer then appointment kept Calendar3.SetFocus 'Sets the focus away to allow the rooms to be disabled lstRoom1.Enabled = False lstRoom2.Enabled = False lstRoom3.Enabled = False lstRoom4.Enabled = False 'Disables the rooms again
ElseIf myYesNoQuestion(strDelete) = vbYes Then strSQL = "DELETE * FROM tblAppointment where [AppointmentID]= " & .Column(2) 'SQL to delete appointment from table DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True 'Turn warning off, run SQL, turn them back on again
myDisplayInfoMessage "Appointment Deleted OK" 'If the user decides to delete the customer then record is deleted and a message is shown to prove that Calendar3.SetFocus 'Sets the focus away to allow the rooms to be disabled lstRoom1.Enabled = False lstRoom2.Enabled = False lstRoom3.Enabled = False lstRoom4.Enabled = False 'Disables the rooms again
I have a form, with just two buttons, say "Tyre" and "Engine". These buttons open the same form, say frmCar.
What I want to do is when I click the "Tyre" button, a tbo in the frmCar to get as value "Tyre" and when I click the "Engine" button, the same tbo in the frmCar to get the value "Engine".
I have an unbound textbox in a form which is filled with a text value eg "RWL" when the form opens. I now need another textbox that goes to the Company Data base finds the "RWL" text and finds its Primary key and puts it in the new textbox?
I have a unbounded form which has all the fields same as the table. Now I want to search a row from the table with the Ticket number and First Name. After retrieving all the fields instead of using Update query I just want to add it as a new record.
I have a command button on a continuous form(form 1) and I need this button to open another form(form 2) when I press on it. So far so good.
When I press the button, I need some VBA to open the form(form 2) , search for a particular table name based on the open form(form 1) current record and use that table name as the newly opened form (form 2) data source. I have ways to do most of those task but for one thing:
How do I make access search for a table name containing a particular string? Here's what I am working with:
Code: Private Sub Commande26_Click() On Error GoTo Err_Commande26_Click Dim stDocName As String Dim stLinkCriteria As String Dim stDataSource As String
I have a database for work where I have a table of meters and a table of Faults which has a list of all faulty meters at one time. When a fault is repaired, I have a macro which updates the Meter Status to Working, adds a Fault Closed date, appends the record to the Closed table and then deletes it from the Faults table.
The user runs this from a form by clicking the Closed Fault button which activates the macro. I've added Echo on and off to hide that the form is temporarily closed while the Append and Delete queries are run and then it is re-opened again.
My problem is that the Form always opens at the first record in the Faults table. I would like it to open to the record which would have been next after the one that has been moved to the Closed Faults table.
Below is the code I have been using to test the Copying Meter Reference, closing and opening of the form and finding the correct record:-
Function CopyTest() On Error GoTo CopyTest_Err Dim strMeterRef As String DoCmd.SetWarnings False DoCmd.GoToRecord , "", acNext strMeterRef = Meter_Reference
[code]....
As you can see I am trying to go to the next record, copy the Meter_Reference by setting it to strMeterRef and then Find strMeterRef when the Faults form is re-opened.
I have a Macro embedded in a button which calls the above Function by using RunCode but nothing happens.
I have a field (SNumber) which is a text field and contains records that have a number which sometimes also have 2 letters on the right. ( examples: 1, 2, 3CD, 5, 6 HD). I am using the Right function in a code I am writing.
If Right (SNumber, 2) = "CD" then .....rest of code here
I would like instead of stating actual letters to code "any 2 digits". Can this be done and what is the correct code for any digits in this instance?
I have this subform in a form, i want the field that has a hyperlink (which is called Link) to display a check box once the file path has been pressed, so when each path (Link) is pressed i would like the form to display a check box that would tell the person if that pathfile had been pressed. I would like this to show for each of the path files.
This has been working perfectly fine however the TotalPrice is no longer calculating the UnitPrice x Quantity and the TotalCost isnt calculating as nothing appears in the TotalPrice. However when we click the fields the data is diplayed but only on clicking, if we leave the record and go back its back to blank again.