Modules & VBA :: Change Default View Property Of Subform
Feb 26, 2014
I have a form with a subform where I want to select (via button) which format to open the form in. Opening the form is simple, DoCmd.OpenForm (FormName),acFormDS to open in datasheet, however, the subform opens in default view (single form). Can you programmatically set the property on the subform to change the Default View from Single Form to Datasheet and back?
I have a mainform with a listbox and a subform sitting in the mainform. The default view of mainform is single. The listbox displays a list of people. When the user clicks on a row of the listbox the subform shows detailed data about that person. The layout of the subform covers almost half of the area of the mainform. It works except that the subform automatically takes table view as if there were many records to display although it displays only the selected record. This automatic manipulation of the default view does not look good at all.
In a form (bounded to this table) I have, of course, 2 controls bounded to this fields:
txtD1 and txtD2
If the user change the value in txtD1 (using the Date picker) I like to change the DefaultValue for txtD1 to the new date and the DefaultValue for txtD2 to the new date + 1 day. Something like this:
Code: Private Sub txtD1_AfterUpdate() Me.txtD1.DefaultValue = Me.txtD1 Me.txtD2.DefaultValue = Me.txtD1 + 1 day End Sub
I tried whatever crossed my mind... with the same "result" : #Name?
My Regional settings:
Short date format: dd.MM.yyyy Date separator: Dot Simple: 05.12.2013
I am starting to explore VBA and Modules. I recently found a relativly simple way to add an Audit Log to a database without adding two tables for each table as outlined by Allen Browne.
I used a set of code from fontstuff.com and it works great, except when using a sub form. I belive that it is most likely because the use of the Tag property looks at the subform as a control but it holds no value. I am thinking the VBA needs to be altered or the BeforeUpdate command need to specify what form to look in.
The Before Update code is
Code:
Public Sub Form_BeforeUpdate(Cancel As Integer)
Code: If Me.NewRecord Then Call AuditChanges("SubForm_ID", "NEW") Else Call AuditChanges("SubForm_ID", "EDIT") End If End Sub
AuditChanges is the Module Event name and CustomerID is the unique identifer for a Subform.
I've got a form (frmEdit) that allows users to search tblMain for records using a bunch of unbound controls and a dynamically created SQL statement. Search results are displayed in a subform (subMain), and the current record in the subform is displayed in a set of bound controls on frmEdit.
Now the important bit: There is a set of unbound checkboxes on my form that allow the user to change which fields are visible in subMain. This is accomplished by the following:
Code: Private Sub chkName_AfterUpdate() If Me.chkName = 0 Then Me.subMain.Form.CorrespondingField.ColumnHidden = True Else Me.subMain.Form.CorrespondingField.ColumnHidden = False End If End Sub
Certain fields are visible by default, but the user may want to change which fields those are. Here's what I've done so far to accomplish this:
Created a button (btnChangeDefaults) that opens a form (frmChangeDefaults)
Put checkboxes for each table field on frmChangeDefaults
Put a "Cancel" button (btnCancel)* and "Done" button (btnDone)** on frmChangeDefaults.
*btnCancel just closes frmChangeDefaults without making any changes to frmChangeDefaults or frmEdit
**btnDone changes Forms.frmEdit.Form.chkName.DefaultValue to Me.CorrespondingCheckBox.Value and then closes frmChangeDefaults
This all seems to work quite well, actually. Debugging confirms that the default values of the checkboxes on frmEdit are indeed changed when I click btnDone. But when I close frmEdit and re-open it, the default values return to what they were prior. This happens even when:
I close frmEdit using DoCmd.Close acForm, "frmEdit", acSaveYes
I close frmEdit after using DoCmd.Save acForm, "FrmEdit"
I save frmEdit manually by right-clicking and pressing save
Is it possible to use a subquery as a default value property setting?
I need to use a value from a table that is not the focus table of the form, I have tried to identify it with a subquery but it returns a #name? error every time. I hate those!
User enters data relevant to placement on data card, in series of 20. Sometimes record lines are skipped on card, meaning user needs to be able to override default value, and then have code +1 for next record. For the output I need, Autonumber won't work, Recordsetclone won't work.
example columns: weight/length/record
VBA code is set:
Private Sub record_BeforeUpdate(Cancel As Integer) Me.record.DefaultValue = Me.record + 1 End Sub
User keying in a number activates the code, but won't recognize the default number.
weight length record 34 34 1 <----user enters 34 34 2 <--- auto populates from code 34 34 2 <---- auto populates from code, doesn't recognize previous record default set from code to output 3.
i am trying to find a solution for this.I have a continous form which displays records..for every record there is a command button which opens the other screen for that particular record.
when ever i hits the enter key the command button opens the another form for the 1st record in the continous form.I want to disable this.
i set the default property to no but it not working .I also tried to to do it by vb code like
I have a combo box that takes it's data from a table called tblFruitBasket. What code do I put in the Default Value property such that the default value is the fifth element (or say fifth row) of field [Fruit] of table tblFruitBasket?
My access db is used to compile payroll time records bi weekly. The Work Hours table is used to hold two weeks of time records then they are archived to a history table. Each week has its own week ending date. I have been updating the default value of the week ending manually in the table field property in the table's design view. Is there a way to have a macro update this default value?
The current process is, open table in design view, update week ending default value, enter payroll time then change default value again for second week ending, enter payroll time. Report hours to accountant, archive table to history table.
When opening an access object (Form, report, table or query) in design mode (Access2013), the speed at which the Property Sheet responds depends on how long it has been since a windows update has taken place. To be more specific, immediately after an update and reconfiguration, the Property Sheet responds almost instantaneously; after a few days it can take several minutes to respond.
With a form in design view, I click on the DESIGN tab on the ribbon and then under TOOLS, I click on PROPERTY SHEET, whick opens on the form. Now I do that and nothing happens. It is the same with ADD EXISTING FIELDS. Neither one appears. Everything else seems to work ok.
I have created a form in access 2000. I now want to change the table that this form uses. Normally I would just click the properties tab and then select data, a list of all tables would come up and I would choose the correct table. For some reason I cannot access the data tab. The other four tabs are all availabe, but not the data tab. It is like the data is locked or something. I have clicked on properties on my desktop icon and it is not locked. Please help.
I have a modal form which has a single record which is then linked to a sub-form on the same modal form. This all works fine and shows the relevant record and sub records but I want the modal form main record to change dependant on the record selected in the subform (which is basically order item history.
I found some code on another site which seemed to work for others but for me I am getting Run-time error 2465 and it doesn't like my reference to 'Me' - is this because it is a modal form?The code I am using is:
Public Function GotoRecord(RecordID As Long) Dim rst As DAO.Recordset Dim strCriteria As String Set rst = Me.RecordsetClone strCriteria = "ID = " & RecordID rst.FindFirst strCriteria If rst.NoMatch = False Then Me.Bookmark = rst.Bookmark
As the unbound parent list box record selection is changed, I want the sub form to refresh. Do I put code in the Subform Current Record event?
Master Form Name: frmsr_NewWellEntry Unbound Listbox - when record selected the primary key populates txtNavWellID (unbound) on parent form
subform Container fsubsrNavSHLBHL Link Master Fields =Forms![frmsr_NewWellEntry].[txtNavWellID]
The read-only form in the subform Record Source is something like: select * from vsrNavigatorSHLBHL where Well_ID =90243..Key The Form used as the subform above will be re-used in multiple parent forms. The parent form data is form SQL Server, the subform from Oracle.
i have a problem i hope some one can help me with.
i have a form with a sub form on it, and i want to disable everything until the user clicks a 'edit' button to allow the information to be changed.
i am just testing it at the moment, so i set one text box's enabled property to false. then i added a button with an on click event with the following code:
Me!userid.Enabled = True
when i start the form, the userid box is disabled and when i click on the edit button, it enables it fine.
however, when i change to the next record, the userid box remains enabled. i cant find where to put the code to set it back to false everytime i change the record.
i should also let you know i am a beginner, so please be gentle!
We just upgraded to Office 2007 and are experiencing very slow access performance. This microsoft article addresses the problem:
http://support.microsoft.com/kb/275085
It won't let me change Subdatasheet Name property to [NONE].
Even if I am able to change it, will this affect my table links. I have a lot of them.
I am just the part-time Access "programmer" here and am somewhat lost trying to figure this out. Does anyone have a simple explanation and solution? I would appreciate any help so much!!
I have a query (qryGetRemoteStuff) like this:SELECT * FROM Table1 IN 'k:projectssomedatabase.mdb'I have several databases where i use this technique. I don't want to link these tables to my database. According to the properties list, "Source Database" is used to store this path to my remote database. So far so good. When the path changes i am in a lot of trouble, that is why i want to change the path of this query dynamically. I don't seem able to change this property.
Is this possible? How?
Immediate window: ?currentdb.QueryDefs("qryGetRemoteStuff").Properties("SourceDatabase")Returns "Property not found". Access help F1 doesn't provide me with a workable example.
I am using Access 2010. How to change the property of a field in a table programmatically.
I have a table in which one field has Required property set to "Yes". I would like to set this property by using VBA code to "No", then add data into a table using a query and re-set the Required property to "Yes".
when the Form Property "selectionchange" kicks in?I am trying to use this to run an event procedure. I have a sub form datasheet which contains a date, and when the selection is changed from one record to another in the sub form, I would like to run an event procedure that updates certain fields on the main form, according to the date.I have put msgbox in the event procedure, but it doesn't trigger when the selection is changed? or am I misunderstanding the property?I have also tried got focus, lostfocus, beforeupdate, but they only trigger when the record is changed, not just when the selection is changed.
I have seen that in some sample db's rightclicking the mouse showed the menu with an option to check or uncheck the dataview option, unchecked the formview was applied, but when i 'just' import the subform, i cannot find somewhere the possibility to change from dataview to formview.
Maybe someone can help me with this, probably very simple(?), question?
Is there anyway of defaulting to SQL view when firing up a query to amend it? (Rather than going into Design view) There doesnt appear to be a configurable option to do that under Tools.
I have stumbled across an issue in my report involving the Report.SourceObject property. The section of the report contains a subreport that needs to change dynamically to display the report that relates to the corresponding test. When trying to change the subreports.Sourceobject property I get the error Run-time error 2191: You cant set the Source Object Property in the print preview or after printing has started.This is very clear to me what the limitation is, however I was wondering if there was some way around this.
I have currently tried creating multiple subreports that are stacked on each other with visible property set to false. Then I change the specific subreport visible property base of a select. This worked, but was extremely hard on the machine and printer as there is about 15 different possible subreports.
Secondly I have tried exporting it to RTF and just manually copying and pasting the tables. The down side with this is all the formatting and work I have put into the report as a whole goes out the window so if possible would like to avoid this situation as well.