field required

M

Marco

In a form i use:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.fielddate) Or IsNull(Me.field1) = True Then
MsgBox "The fields are required", vbExclamation, "Fields"
Cancel = True
Me!txtfielddate.SetFocus
Exit Sub
End If
End Sub
and after i click Ok in msg Fields i get en error:
Microsoft Office Access can't find the field 'Forms' referred to in your
expression.

How can i remove it ?

thx
 
A

Allen Browne

The message indicates that Access is confused about the name of something.

First, double-check that you have *controls* (not just fields) named
fielddate and field1.

If so, through this sequence:

1. Uncheck the boxes under:
Tools | Options | General | Name AutoCorrect
Explanation of why:
http://allenbrowne.com/bug-03.html

2. Compact the database to get rid of this junk:
Tools | Database Utilities | Compact

3. Close Access. Make a backup copy of the file. Decompile the database by
entering something like this at the command prompt while Access is not
running. It is all one line, and include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"

4. Open Access, and compact again.

5. Open a code window.
Choose References from the Tools menu.
Uncheck any references you do not need.
For a list of the ones you typically need in your version of Access, see:
http://allenbrowne.com/ser-38.html

6. Still in the code window, choose Compile from the Debug menu.
Fix any errors, and repeat until it compiles okay.

At this point, you should have a database where the name-autocorrect errors
are gone, the indexes are repaired, inconsistencies between the text- and
compiled-versions of the code are fixed, and reference ambiguities are
resolved.

If it is still a problem, the next step would be to get Access to rebuild
the database for you. Follow the steps for the first symptom in this
article:
Recovering from Corruption
at:
http://allenbrowne.com/ser-47.html
 
Top