For some reason my continuous form is nearly as long as my screen, even when I only have a few records. In design view, I can see that the detail section is supposedly only .333" so I'm not sure what is causing this. I'd prefer that the form size be dynamic, but would also settle for a static height at this point. Just want something less obnoxiously large. Anyone know a reason this might be happening and how to fix it?
Open the form in design view. Set the forms border style to “sizable”. You don’t have to, but I would also in the format tab set auto size = no, fit to screen = no.
Now flip the form into regular view. At this point, re-size the form to as you want. Now hit ctrl-s, and close the form.
You can now re-launch the form, and you see the size you set sticks. However, because the border style is “sizable”, then users can re-size the form. If you don’t want this to occur, then open form in design view (after close and doing above steps). Now change the border style to “thin” and close the form. (Answer yes to save).
At this point, when you launch the form, your sized settings will stick, and you (and users) cannot re-size the form.
If you need to change the size, then simply follow the above steps again. Thus open in design view, set border type to sizeable, flip into regular form view. Size the form as desired, and then hit ctrl-s to “save/freeze” the size. As noted, change the border style back to thin if you wish to prevent users etc. from being able to re-size the form.
Open the form in design view, adjust the window hight as desired and click "save" to save the changes. When just closing the form, Access doesn't see that something has changed.
Added:
To illutrate what I mean (after changing the database to use "Overlapping Windows"), here are some screenshots.
Tall window:
Adjust the hight as desired:
Switch to design view of the shortened form (for example by right-clicking the header):
Now, save the form, close it an re-open:
The AutoResize property ensures that no "half detail rows" will be dieplayed when opering the form.
Related
I have an Access 365 application with a main form and multiple modal pop-up dialogs. I'm reading the .WindowLeft and .WindowTop properties of the main form in conjunction with the .Move method in the Form_Load code in the pop-up to place the dialogs where I want them (at a fixed offset, to the right and down, so the pop-ups are always over the main form).
This works fine on the main screen of a dual monitor system where the screens are used as an Extended Display. When I drag the main form to the right onto the second monitor, it continues to work as expected until I get too far to the right. It appears that the maximum twip value for WindowLeft = 32760 (on my 1920x1080 monitors, anyway). If WindowLeft on the main form + the fixed offset for my dialogs exceeds this value, I get overflow errors when the dialog tries to open. If I keep dragging the main form to the right, WindowLeft starts returning negative values, and those start moving back toward zero as I continue to drag the form further to the right. It's like the "anchor point" for WindowLeft shifts.
Since my goal is to open my modal dialogs at a predictable position regardless of the main form's position, once I understood this behavior, I thought I could code around it by adjusting my offset if the main form WindowLeft is < 0. That works in theory, but it means the code wants to .Move the dialog to a negative value (say, -20000 twips or so). This doesn't cause an error, but the dialog just won't display when I do that. If I Alt-Tab, Windows thinks it is open, but it isn't visible. I've tried .Repaint, .SetFocus, and .Visible = True to try to give it a kick in the pants so it will display, but without success.
Has anyone run into this before? If so, how did you handle it?
I am using Access as a rapid proto-typing tool. Access allows me to make design changes in front of my clients. When I have continuous forms in Detail and Form Footer sections, the space between continuous forms opens and closes as the form resizes. It would be very useful to be able to specify the height that a continuous subform will occupy on a form.
The empty space (shown below) appears when the form is resized. This brings design meetings to a grinding halt. The empty space becomes the immediate focus of the meeting.
I am experimenting with VBA to try to fix the size of continuous subforms so that there is no empty space on the form.
I am also looking for any courses or books dedicated to the creation of quality UI in Access.
The problem that I am encountering is described below.
I have a Microsoft Access form with two linked continuous forms.
The continuous form in the Detail section is the master form.
The continuous form in the Footer section is th child form.
The Design View of the Continuous Form is shown below. The design view allows me to set the heights of an individual row. In form view, the height of the continuous forms vary with the number of rows in the data. This opens and collapses empty and unused space on the forms. This is confusing for the client.
Ideally, I would like to fix the size of the Form programmatically with Window.Height
Allocate the maximum sizes of the Detail and Footer section within the fixed Form size.
This would be independent of the number of rows in the continuous form sections.
My main question is how would I manage or remove the unused space between the Detail and Footer section in the Form view (shown below)?
Are there settings that would allow me to set the height that a continuous form will take on a screen (regardless of the row count)?
I am experimenting with approaches in VBA with very limited success.
There is no way to move the child form in the Form Footer up while in Form View.
Additionally, I don't want a UI that requires clients to constantly worry about form and control heights.
In MS Access, if a user does not have the screen of the form maxed out like the first image.
Then when I go to type in the Comment section, the form shifts to the right and I can’t see the information to the left of it.
My question would be how do I stop the form from shifting over. I have users that use this form on multiple screen sizes.
Turn off form scroll bars in the form properties.
Make the form not so horrendously humongous. (You don't need text boxes that wide.)
Use a sub-form instead.
Make the form "prettier" and more user-friendly. It looks like you slapped it together with a wizard and didn't change anything afterwards. Find some tutorials about form building, creating a positive user-friendly experience, etc.
I am creating a page and the page has an editable data grid (I'm actually using jqgrid). The user can add, delete, and edit the rows of the grid. There are also some other form fields on this page such as text boxes and drop downs, but they are not part of the grid.
From a usability perspective which of the options do you think is best and why?
User manages the grid separately from the rest of the page. This means that there is a save button on the grid. So the user can save a grid row to the db without clicking the submit button. When the submit button gets clicked, the non-grid form fields get sent to the server.
user manages grid and other fields dependent upon each other. This is like an "Everything or nothing scenario." When you click the submit button, all of the form fields get submitted an saved the db along with the grid fields. If there is a validation error, nothing gets saved.
If there is a better way to handle this type of situation that I did not list, please let me know.
What I was thinking when I was in a similar situation, is how important it's that the user fills the other form fields. If they are optional and the grid is more important I would have the submit button in the grid but if I want the user to fill all the fields, the button should be at the end. In the case where the button saves the whole form, you can have a type of warning if the user skips some fields or you can have a deactivated button.
The second thing I thought was the height of the page. If the button hides 'above the fold' there is a high posibility that some users won't see it and the data won't be saved. So in that case, maybe you should have it in the grid. I would check analytics about screen resolutions.
I think I'm looking directly at an Access 2003 bug. Here's what I did (I think):
I'm developing a Continuous Form (i.e. multiple records per page).
I have an unbound textbox in the background of the Details section. Under Data Properties, I have Enabled=No and Locked=Yes. (In other words, I don't want the user to select it. I only want it for the background color)
This textbox also has some conditional formatting to change the background color for that row. (e.g. If we haven't spoken to that customer in awhile, the background for that record is red)
If I choose a record where the conditional formatting is active (i.e. the background is red), I can actually click on this textbox. There's not much that I can do, of course, but this shouldn't happen and surely would be confusing to the end-users.
Has anyone else seen this? What's your workaround?
Enabled is a property that can be controlled via conditional formatting. By default when you add a new condition, the Enabled property is set to True. If you don't want your control to be enabled you must explicitly set Enabled = False within the conditional formatting rule.
The property is toggled via a button in the lower right corner of the conditional formatting dialog. It's easy to miss (I forget about it all the time).
Personally, I think the property should be three-way: True, False, or Inherit (with Inherit as the default). Unfortunately, Access forces you to be explicit when adding conditional formatting rules and state whether the rule should make the control Enabled or Disabled.
Here's my workaround (I was waiting to see if anyone else would suggest something better. Apparently not.)
In my conditionally formatted textbox, add an Event Procedure for GotFocus. Enter this code: Me.Txt_FocusHere.SetFocus.
Make a 2nd unbound text box somewhere on the form. Shrink it until it's just 1 line thick. Call it Txt_FocusHere.
So whenever the user clicks on the colored background, the focus is immediately taken to this dummy textbox which can't store any data and is so small that the user doesn't see the blinking cursor.
I successfully used the method on the following page: http://www.mvps.org/access/forms/frm0047.htm - "Changing the Background Color of the Current Record in a Continuous Form"