It may seem a rather simple question, though it continues to confound me -and I have searched to no avail :D
How do you trigger an event depending on what button is pressed on a msgbox?
For example, using a vbYesNo msgbox on a form, how can I assign events to either the Yes or the No option? Say, if "Yes" is clicked the focus would be set to a control on the form, and if "No" is clicked access would close down.
Any ideas?
I've currently got on the on click event of a command button (the bit in italics is fine, the bit in bold is not working!):-
Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
Dim stDocName As String
MsgBox "Please select where you wish to save the exported file", vbOKOnly, "Save To Location"
I have a main form that holds a tab control with a number of sub forms. One of these subforms has a pop up form for adding new records to it. After closing this pop up form I would like to initate code on the sub form where the new record now will appear. One of the things I like to do is simply to set focus to the record the user just added.
My problem is that I cannot seem to get any event to trigger in this setting (bben trying more or less all). If I understand things right the fact that I am using a pop up form and the fact that I am using a tab control both seem to interfer with the Activate event and making it passive.
How I can trigger code on the sub form (after closing the "Add New" pop up form)?
I currently use this code to trigger a not in list event, ask the user if they want to add it to the respective table, and then add it.
I'd like to be able to add the text in the combo box that triggers the event to show up in the msgbox.
Private Sub cboCategory_NotInList(NewData As String, Response As Integer) Const Message1 = "The data you have entered " & me.cbocategory.text &" is not in the current dataset." Const Message2 = "Add now?" Const Title = "Unknown entry in CATEGORY Field..." Const NL = vbCrLf & vbCrLf
I have a form (MS Access 2003) that has a button that when pressed, assigns the current time to field [Time1] using
Code: Me.Time1 = Now()
I have another field [Time2] that adds 15 minutes to [Time1] using the following in the Control Source field
Code: =DateAdd("n",15,[Time1])
I was wanting to use these to force a message box when the system time reached Time2 and tried the following code on the Form ON TIMER event (Interval at 1000 ms) but it does not work.
Code:
If Time() > Me.Time2 then MSGBox "Time to show message" End if
I tried putting in a manual time in the VBA such as:
Code:
If Time() > #2:05:00 PM# MSGBox "Time to show message" End if
which worked. So, I am guessing there is something with my orignal code using Me.Time2 that is causing the problem.
Access front end, SQL Server backend. ---- I have a continuous subform (part of a tab control on a main form) whose name and sourceobject are both "sbfCannulae". There are about 10 fields on the subform, and all are bound to fields in a table. The primary key of this table must be generated by combining two other fields, which must happen just before the record is saved. (I know calculated data should not usually be saved in tables, but trust me. In this case it is necessary.)
Right now the user COULD enter data into the primary key-bound textbox, but since the user is me, I make sure not to do that.
When I enter data into all fields except the primary key, I get an error because the primary key cannot contains nulls...of course.
I use the following code to tell me when an event has been triggered.
Code associated with sbfCannulae: Option Compare Database
Private Sub Form_Activate() MsgBox "cann activate" End Sub
Private Sub Form_BeforeInsert(Cancel As Integer) MsgBox "cann before insert" End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer) MsgBox "cann before update" End Sub
Private Sub Form_Current() MsgBox "cann current" End Sub
Private Sub Form_Dirty(Cancel As Integer) MsgBox "cann dirty"
End Sub
When I enter data into a new record, the Dirty event is triggered, but I cannot for the life of me figure out how to trigger any of the other events. No combination of values and nulls in any fields, clicking in other tabs, clicking to other records, or using the navigation buttons will ever trigger any events but Dirty.
The only msgbox I ever get is the one giving delivering the SQL error about the primary keys not taking null values.
I have a form in my database that opens by default. I want to trigger a yes/no (yes would run a query, no would end) popup based on the value of a field in a table or query (i.e. if "now" is fifteen days past date in the table/query).
As above, I've noticed that it will only trigger if there are no textboxes on the form with a higher tab index than the control the keyascii is set for. Any ideas why, or what I'm doing wrong?
I've found this a lot and never bothered trying to find a solution till now. :p
I have a combo box in a form which simply pulls a text field from a single table - approximately 100 values to choose from. On the After Update Event, there is a basic "If null this, else that" VBA which just hides a subform if the value is null. This works fine, except there are a handful of values (I've found at least 6) that when chosen, trigger the NULL portion of the code! All the values are very similar, so I don't know what the problem is - for example, the value "D-11" works, but neither "D-10" nor "D-12" does.
i have list box which lists all active records. raw source is based from Main Query which lists all active records from current user. on click even of list box i have macro that goes on record selected in list box, which is working fine.on current event of main form function is called. Main Query order by id Desc, list box order by is Asc problem is when i click on last field in List Box which takes me to record, On Current event does not trigger on main form. if i use Record Selector on main form to go to that same record,On Current triggers.
we have gotten in to a routine of copying, pasting and bastardizing old databases instead of creating new ones from scratch - and we've had a problem recently where we've started off with one master database back in 2011, which has then been the base for practically every single major DB we've created ever since.So this month we've copied and pasted (again) and started adding new features to what's already there, and the thing has corrupted. I've copied and pasted the same version three times and added all the new bits, and the same thing has happened every time.
So this time I've copied and pasted and tried my best to clean up, get rid of the dead weight and (where necessary) create completely new objects, split into FE and BE versions etc, and I've reduced the overall weight of the DB by about 50%.Due to time constraints I now need to crack on and get this thing working again and, for the most part, it does - but now I'm having trouble carrying the filter over from the OnClick Event of a form button to the next form it's opening.
We're using the DB to record attendees at an Event we're running later in the year. This is the code that I'm running from the OnClick Event of the button on Form1:
Code: Private Sub btnBkg_Click() On Error GoTo Err_btnBkg_Click Dim stDocName, vFilt As String Dim vBkgRef As Long Dim vContactID As Long
[code]....
You can see I've tried to use vFilt instead of the actual code for frmBooking's Where Condition, but for some reason it does not carry over to the form whichever way I try - when I open the immediate window and type ?vFilt it returns a blank entry. Not sure how to show the 'Where Condition' in the Immediate Window?Before Update, Open and Activate of frmBooking, but I'm hoping that the problem lies with what I've posted up here, as I don't want to get into posting the frmBooking code...
It may be worth noting that the button resides in the Header of a continuous form, with conditional formatting that changes the button caption depending on whether there is a value in the BkgRef text box of the record that has the focus.
I am wondering whether it is possible to trigger the run of a macro when a form window is closed using the close button in the top right of a standard window?
If not, then is it possible to display a form in a window without the minimize, restore and close buttons?
I am currently using a setup whereby I have a button to close a form, and when clicked a macro is executed. However, the user could just as easily close the form using the close button of the window and the updates would not be performed.
I have a form which has been in use for some time now, and works extremely well for all users; as part of a recent update to that form, I added a few events to various controls; most of them are message box prompts to remind the user to do something, but one is automatic entry of text into a memo field when another field is updated, and it is really this last one that is causing an issue.
There is a command button on the form which has an embedded macro, created using the wizard - it is probably the last, or one of the last few buttons that have a macro as opposed to VBA.
Essentially, when this button is clicked, I would like a duplicate of the current record to be made (thus giving it an Autonumber ID of its own), and if possible I would like this to be done without triggering any of the after update events on the form. Is there a way to disable these events and copy a record in its entirety, re-enabling the events at the end?
I will have a PC and a number of scanners in a production line. I will need at least 15-20 scanners and would like to plan for more if needed. When an operator clicks on a button I would like to have each of the scanners triggered and return the value. They can be done in turn or all at once (preferred for speed). I need to know which value came from each scanner. I would then compare the barcode read at each station versus what is supposed to be at that station and either pass or fail.
I'm trying to get one combo box control what tables are available from another combo box. Example, combo box (a) includes numbers 1-5. Selecting (1) makes the data in combo box (b) specific to that selection. Selecting (2) makes the data in combo box (b) something different (pulls data from a different table).
Could anyone please tell me what is wrong with this event procedure? I get an compile error always. What I want is, if the condition is not met, the message box would pop up otherwise close the form. Please help.
Private Sub (Field Name)_BeforeUpdate(Cancel As Integer) If (Me.MyFieldName = condition) Then MsgBox "My Message" End If Else DoCmd.Close End Sub
i have an event procedure with a msgbox using vbOKCancel. if the user clicks cancel, basically i want to cancel the event. If the user clicks OK, I want to resume the event and complete the bunch of commands. What statements do I need to do this. I assumed that cancel meant cancel.... but...
I am trying to popup a messge box that has multiple lines.
I have three textboxes on my form
When I click the button I want a messagebox to pop up and say ON FOUR LINES:
"Are you sure you want to update:" Textbox value 1 [The actual value] Textbox value 2 [The actual value] Textbox value 3 [The actual value]
I am starting with this but am a bit confused...Any help woudl be appreciated...
Code:If MsgBox("Are you sure you want to update this?" + "THIS:", vbYesNo + vbQuestion, _ "Save Record") = vbNo Then MsgBox "DOING NOTHING" Else MsgBox "DOING SOMETHING" End If
I've included the following code for when my report has no data.
Private Sub Report_NoData(Cancel As Integer) MsgBox "No data for report" Cancel = True End Sub
but when you click OK on the MsgBox, the code falls over within the form, which originally opened the report on the calling line with an error message "The OpenReport action was cancelled".
This is the line of code in the form.... DoCmd.OpenReport "My report", acViewPreview, acEdit
Hi, I have a formcalled Register and this table contains Name-of-Employee, Username and some other fields. The form searches the Register table when someone wants the register, and if the username is already taken up by another user, it gives a message box saying that the username is already used, and also it will give some suggestions as well. I want the MsgBox to take the first letter of "Name of Employee" and then put it beside the username, and show it as a suggestion. Here is the code I already have: Dim d As Database Set d = CurrentDb Dim r As Recordset Set r = d.OpenRecordset("Staff Login")
Dim h As String h = Me.Username
r.MoveFirst Dim flag As Boolean flag = False Do While Not r.EOF If h = r![Username] Then flag = True End If r.MoveNext Loop
If flag = True Then MsgBox ("This Username already exists" & vbNewLine & vbNewLine & "Here are some suggestions:" & vbNewLine & (Me.Name_of_Employee) & (Me.Username) & vbNewLine & (Me.Username) & (Me.Name_of_Employee)) End If
The code works perfectly up to here, but the thing is that I want it to show the first letter of "Name of Employee" beside the "User Name" and maybe the other way around.
Please help me as soon as possible, I am really in a great hurry