Opening a blank form for new data entry in Access

To make an Access form open to a new record instead of showing existing data, you need to change the form's default behavior when it loads. By default, Access opens forms to the first record in your table. A few clicks in the form's properties will redirect it to a blank entry screen instead, ready for you to type new information.

This is useful when your form's main job is data entry — like a customer intake sheet or an order form that staff use repeatedly throughout the day. Instead of having to click "New Record" every time, the form arrives ready to go.

Key Takeaways

  • Open your form in Design View, then right-click the form background and select Properties to reach the form's settings.
  • Change the "Data Entry" property from No to Yes, which makes the form show only blank records and hide all existing data.
  • If you want to keep existing records visible but start on a new one, use the form's Load event with a VBA line instead of changing Data Entry.
  • Test the form by closing and reopening it to confirm it now opens to a blank record ready for input.

Using the Data Entry property for new records only

The quickest method is the Data Entry property. Open your form in Design View — right-click the form's title bar and choose Design View from the menu. Once you are in Design View, right-click anywhere on the form background (not on a control or button) and select Properties at the bottom of the context menu.

In the Property Sheet that appears on the right side of the screen, click the Data tab. Find the property called "Data Entry" and change its value from No to Yes. This tells Access to show only new, blank records and hide all existing data in your table. When someone opens this form, they will see empty fields ready for typing, and they cannot scroll backward to view old records.

Close the Property Sheet and save your form. The next time you open it in normal view, it will land on a blank record. This approach works well if your form's only purpose is entering new data and you do not need users to see or edit existing records.

Keeping existing records visible but starting on a new one

If you want users to be able to scroll through old records but have the form open to a blank entry, use the form's Load event instead. This approach keeps Data Entry set to No so existing records remain accessible, but adds a small instruction that runs when the form opens.

In Design View, right-click the form background and select Properties. Click the Event tab. Find the "On Load" row and click the small button with three dots at the end of that row. Choose Code Builder from the dialog that appears. Access will open the VBA editor with a blank subroutine ready for code.

Type this line between the Sub and End Sub statements:

DoCmd.GoToRecord , , acNewRec

This command tells Access to jump to a new record when the form loads. Save the code, close the editor, and save the form. Now when you open it, you will see a blank record, but users can still navigate to existing records using the navigation buttons at the bottom of the form.

Testing your form to confirm it works

Close the form completely and reopen it in normal view — not Design View. The form should now display a blank record with all fields empty and ready for input. If you used the Data Entry method, you should see no navigation buttons and no way to view old records. If you used the Load event method, the navigation buttons will be present, and you can click the left arrow to move to existing records.

Try entering a test record to make sure the form saves data correctly. Type something in each field, then press Ctrl+S or click Save. Close the form and reopen it again — your test record should be gone, and you should be back at a blank form. This confirms the form is working as intended.

Troubleshooting: Form still shows old records

If your form opens to an existing record instead of a blank one, check that you saved the form after making changes. In Design View, press Ctrl+S or use File > Save. Then close the form completely — do not just switch to Normal View. Close it entirely and reopen it fresh.

If you used the Data Entry property, verify it is actually set to Yes by opening Properties again and checking the Data tab. If you used the Load event method, make sure the code is in the On Load event, not the On Open event. The On Load event fires after the form displays, which is the right moment to jump to a new record.

If the form still shows old data, check whether the form's Record Source is set correctly. Right-click the form background, select Properties, click the Data tab, and look at the "Record Source" field. It should point to your table name. If it is blank or wrong, click the dropdown and select the correct table.

When to use each method

Use the Data Entry property when your form is purely for entering new records and users should never see old data. This is common for order entry forms, survey intake sheets, or any single-purpose data collection tool. The form is simpler and faster because Access does not have to load existing records.

Use the Load event method when users need to look up or edit existing records but you want them to start fresh. This works well for customer service forms where staff might search for an old account but usually create a new entry. The navigation buttons give users full control to move between records as needed.

Frequently Asked Questions

Can I make the form open to a new record but still let users search for old ones?

Yes. Use the Load event method with the DoCmd.GoToRecord code instead of changing Data Entry to Yes. This opens the form to a blank record but leaves the navigation buttons visible so users can move to existing records. You can also add a search button or filter controls to help them find specific records.

What if I want the form to open to a new record only for certain users?

You can check the current user name in the Load event code and run the GoToRecord command only for specific people. This requires writing a conditional statement in VBA. If you are not comfortable with code, a simpler approach is to create two versions of the form — one set to Data Entry and one set to normal — and control which one each user sees through your database's startup settings.

Does changing Data Entry to Yes delete my existing records?

No. Changing Data Entry to Yes only hides existing records from view in that form. Your data remains in the table untouched. If you change Data Entry back to No later, all your old records will be visible again.

Why does my form still show the first record when I use the Load event code?

The Load event fires before the form fully displays. Try using the On Open event instead, or add a small delay. In the code, type DoCmd.GoToRecord , , acNewRec on its own line. If that does not work, you may have a filter applied to the form that is preventing the jump. Check the form's Filter property and clear it if it contains a condition.

Can I make a button that opens the form to a new record?

Yes. Create a button on another form or in a macro, and set its action to "Open Form". In the dialog that appears, select your form name and set the "Data Mode" to "Add". This opens the form ready for a new entry without changing the form's default behavior.