This is related to some advice I received some time ago <a href="http://www.access-programmers.co.uk/forums/showthread.php?t=64818">here<a>
I am runnign some code, it performs some applications, then, if a Count Field is greater than 1, a form opens as a dialog, displaying some information:
Dim A As String
A = "NewForm"
If Me.[Count] > 0 Then
DoCmd.OpenForm A, acNormal, , , , acDialog
End If
If Me.Continue = "No" Then
Exit Sub
End If
The new form opens, and you can either view it, and click continue, which will run the rest of the code, or you can click quit, which updates Me.Continue to "No", and then it exits.
The problem is, when it exits the Sub, it doesn't really stop the code, it just leaves things kind of hanging. When I try to run the code again, I get:
3321 - The database engine could not lock the table 'NewTable' becuase it is already in use by another person or process.
Another symptom - The original form where I click to start running the code, has two date fields. Normally, when this form opens, they are blank, but when I exit the sub, as above, the previous dates I entered are still sitting there.
I am using Access 2010 - Version 14.0.61.29.5000 (32-bit)
I am building a custom Export Wizard to export data to Excel using the Report Wizard for the basic ideas.
All I am trying to do is have a [Back] button on a form to open another form and close the current form.
Private Sub cmdBack_Click() DoCmd.OpenForm "frm_ExportWizardPage2", , , , , , Nz(Me.OpenArgs) DoCmd.Close acForm, "frm_ExportWizardPage3" End Sub
The new form is opening but then the current form is not closing. All forms are the same size, shape and positioned centrally although this should not make any difference.
Could this be anything to do with which form has the focus when I open the new form?
I have a bound form with a few fields. I would like to run a sub after some of these fields are modified, but not others. I would like it to run only once, after user finishes his work on the form.
When using the Unload event - the form on the form is not there anymore (or did I get something wrong?).
Is there a way to trap Data on form just before the form closes?
When a form is open you can also see on the task bar that the form is open If the user right clicks on the form(on the task bar ) they get the following options minimize , maximise , close.
Does any one know how I can stop the user selecting Close please ?
when i close the form all the fileds in the forms gets saved to the table. i want it should pop up before closing to save it or not. i have a button on the form to save the fields in the table. which has code
I've added a message box to what is basically a standard simple to use access control, "closeForm", I'm a newbie working on learning access vb. I'm guessing my code if fudged. Any help is greatly appreciated.
Private Sub Close_Click() On Error GoTo Err_Close_Click Dim Answer As Integer Answer = MsgBox("Press Ok to Close, Cancel to Continue.", vbOKCancel + vbQuestion, "Exit Data Entry?") If vbOK Then DoCmd.Close
I have found that when closing a form and changes have been made to the fields, these changes will be saved.
I would like to know if there it is posible to only save the changes when a command button is pressed and not when if you close the form any other way.
Not sure what to call this "phenomenon" so haven't had any luck searching for an answer.
I have a form (form1) that has a close button with code behind it. When the button is clicked, it takes a few seconds for the code to run. When form1 closes, all is well up until: There is another form (form2) that is open behind form1. When form1 closes, part of it is still visible over form2.
I'm looking for a way to cancel the closing of a form/app. I added a button asking if the user is sure they wish to exit, and am having difficulty finding the correct code to cancel the close event.Here is my codeDim ians As Integer ians = MsgBox("Are you sure you wish to exit?", vbYesNo, "Exit App") If ians = vbNo Then DoCmd.CancelEvent DoCmd.OpenForm "orderlist", acNormal Exit Sub End IfCan help or send me down the right path?Thanks
When closing a form, I want my system to prompt: "Close without saving?". If yes, I want to continue the closing-proces, but when "no" is pressed, I want to just close the MsgBox-window and of course keep all the data-entries...
If MsgBox("Close without saving?", vbYesNo, "Close?") = vbNo Then XXXXXXX
I have a form that has some fields with validation rules, which are Not Is Null. I have a private function to validate records (here is a snipet)
Code: Private Function ValidateRecord() As Boolean ValidateRecord = False Select Case Outcome Case "Interpretation" If IsNull(Me.[Date Provided]) Then MsgBox [Date Provided].ValidationText Exit Function End If
[code]...
The form has a save and close button. I was wondering if there was a way to keep the form from closing if those fields are null. Right now, you click the button, the validation text pops up (it pops up twice too), and then the form closes.
I thought about maybe having the (If...Then, Inputbox)code in the Form_BeforeUpdate instead. If I do that, is there a way to do that for date textboxes and comboboxes where you choose the value instead of typing it?
I have a form for inputting products into a table called "products". On this form is a combo box which lists the Suppliers. This list is generated by a Table called "suppliers".
If the supplier has not alredy been entered into the supplier table then it is not listed in the combo box list. I have added a button to open a supplier entry form to add the supplier to the supplier table. Once the new supplier is entered and the supplier entry form closed, the new entry does not show in the combo box list unless you close the product form and reopen it.
How do I refresh the combo box list without closing the form it is in and reopening it.
I have been surfing these forums for about 3 hours and I cannot find the answer to my question. So, if this is already answered in another post I apologize in advance...
Here is my problem. I need to have a "Login" form to start this db that I am working on. I have found a post that I referred to for the code with some editing to make it work for me.... The code is....
Private Sub Login_Click() On Error GoTo errorfix Set db = CurrentDb Set r = db.OpenRecordset("tblBouncers")
Do Until r.EOF If BName = r![Bouncer] And BPW = r![BPassword] And r![Active] = 1 Then DoCmd.OpenForm "frmMain", acNormal GoTo exit_sub Else r.MoveNext End If Loop
Most everything works fine. If my username and password get qualified, the main form opens, or if my username and password are wrong, I get the appropriate message and it clears the boxes like I want it to. However, my problem is that I cannot, no matter how hard I play with this, get it to close the Login form, without encountering an error.
Yes, I know that the code above doesn't have anything telling it to close the form, because no matter where I put the "DoCmd.Close acform, "frmBLogin" "I keep getting an error message "This action can't be carried out while processing a form or report event."
What am I missing, and where do I put it? I have tried various locations for setting db and r to nothing then closing the form (based on advice from other posts I have read), but keep getting the same error, or worse (worse being can't close the error and have to end the process through task manager).
Will someone please direct me in the right direction? You can even go so far as to tell me my code is completely wrong... This is my first attempt at loops so you won't hurt my feelings.
Can anyone guide me to how to code a form that will not error when closed if nothing has been input to the first field which has the focus? I have a start up form that has fields connected to a table and if this database is open and the user desides not to use it then closes it without entering any data it will error. Is this a recordset issue? Thanks
I have a form with 55 values entered. On closing the form, I need it to decide if this is a new record. If it is a new record, it loads all 55 values into an array. If all values are above 20,000, it goes ahead and closes the form. If any are below 20,000, it writes the record to another table and brings up that form to add add a comment.
Every thing does as it should except determining if it is a new record. What property will trigger it properly? All the properties I have tried either triggers it on all the records (even if it is an old record) or it does not trigger it and closes without prompting the code.
I have created a form with buttons which runs queries. The parameters I need for the query are being passed through just as I wish and the relevant query is run correctly. However, if I then press the button on the form with different parameters I get the results from the previous query. I can only solve this by closing the query before pressing the button. Is there an easy way to close the query to prevent this from happening. In case this is relevant, the only data which I am returning from the query is stored in the windows clipboard.
I currently have 3 forms open and when I call a specific function and it gets to this line below it goes to the on close of 1 of my open forms closes that form before it opens the selected form in code (below) in design mode. It doesn't close all my forms....why does it do this?
I have a form with a subform. There is a close button on the main form which I have applied a key command of Alt + c and when the focus is on the main form it closes the form as you expect. But if the focus is on the subform, using Alt+c does nothing. I am trying to give the user a way to avoid using the mouse (so they do not have to click on the button from the subform. Also it is confusing that the key command doesn't always work in the view of the user, and in reality he is on the subform.)
So my thinking is:
1. Can I create a close button on the subform (and give it the key command of Alt + c) and in the code close the form and subform, if so - how to I refer to the form/subform?
2. Is there some way to apply the key command of Alt + c on the subform to activate the close button on the main form?
I got an error msg on form with closing. I have a main form (SalesReturnOrDamaged) and subform (SalesReturnOrDamagedSubform).
i have used a VBA code on main form Close Command button as per shown in Code Tag. But that is not working and shown an error msg as per screenshot. how to change that VBA code for empty form close without save the record?
Code: Private Sub Close_Click() On Error GoTo Err_Close_Click If Forms![SalesReturnOrDamaged]![SalesReturnOrDamagedSubform].Form![ItemCode].Value = "" Then Forms![SalesReturnOrDamaged]![SalesReturnOrDamagedSubform].Form![Product].Value = "" Forms![SalesReturnOrDamaged]![SalesReturnOrDamagedSubform].Form![MRP].Value = 0 Or ""
Does anyone know why when you click on a command button that loads a report it shows it in a print preview mode and then when you click close it closes the report window and changes the form that you were originally on to a much smaller and condensed view instead of being maximised? All the properties are making the form to maximise except when you close from a print preview view. Cheers
I have a statistical program and the user constantly use the form to check calculations and get out without saving a record. In order to allow this with out writing to the table I used unbound fields and an accept and close command buttons.
This worked well until I added a subform to one of the forms. Now, if I just open that form and then click the close button, I get a blank record in the table associated to the main form. Is there a way to stop this?
Hi, I've got a close button on my form as follows: Private Sub exitForm_Click() DoCmd.Close End Sub
In the beforeupdate event of the form I have have following code to validate the forms fields:
Private Sub Form_BeforeUpdate(Cancel As Integer) 'Place an asterisk (*) in the Tag Property of the text boxes you wish to validate. 'Then in the BeforeUpdate Event of the form, copy/paste the following:
Dim msg As String, Style As Integer, Title As String Dim nl As String, ctl As Control
nl = vbNewLine & vbNewLine
For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If ctl.Tag = "*" And Trim(ctl & "") = "" Then msg = "Data Required for '" & ctl.Name & "' field!" & nl & _ "You can't save this record until this data is provided!" & nl & _ "Enter the data and try again . . . " Style = vbCritical + vbOKOnly Title = "Required Data..." MsgBox msg, Style, Title ctl.SetFocus Cancel = True Exit For End If End If Next End Sub
This validation works fine up to a point. If I try to close the form and a required field is empty, I get a message box asking me to fill in the data. The problem is that when I click ok to the message, it shuts down the form, so I have to re-enter all the data again. My question is how do I prevent the form from closing after clicking ok on the message box?