Solved

Form Won't Open

Posted on 2004-08-16
3
615 Views
Last Modified: 2010-05-18
I have an odd problem.  I'm writing some forms in my access database, and I can't open some of them.  I don't mean that I can't get the to open with the DoCmd.FormOpen (which I can't do) but I can't even open them to display (only to design).

I've had a similar problem before, but it was that I had an extra end sub in the VB code.  Getting rid of the erroneous line fixed the problem, but I can see no such problem this time.


The error code is 2501, and the error I get when I try to just open the form is:

"The expression On Open you entered as the event property setting produced the following error:
Procedure declaration does not match description of event or procedure having the same name.

*The expression may not result in the name of a macro, the name of a user-defined function or [Event Procedure].
* There may have been an error evaluating the function, event or macro."


Now, the entire amount of code for this form is as follows:

------------------------------------

Option Compare Database

Private Sub Form_BeforeUpdate()
   Controls("property_id") = Field(Me.OpenArgs, "|", 1)
End Sub

Private Sub Form_Close()
    Forms("Application_Single_Property").Requery
End Sub

Private Sub Form_Open(Cancel As Integer)
    Dim stArgument As String
    Dim stTest As String

    stArgument = Field(Me.OpenArgs, "|", 2)
    If Not IsNull(stArgument) Then
        stTest = Left(Me.RecordSource, Len(Me.RecordSource) - 2) & " " & stArgument & ";"
        Me.RecordSource = stTest
        Me.Requery
    End If

End Sub

--------------------------------

Even if I comment out all of the code, leaving just the declarations, I get the same thing.  The properties for the OnOpen, BeforeUpdate and OnClose events are all set to [Event Procedure].  The OnOpen event code is the only code that is new since it stopped working, but even still this code works elsewhere in the program (though I must admit that every form similar to this one is breaking in the same way).

Is there something simple I'm missing?
0
Comment
Question by:Sam_Charette
3 Comments
 
LVL 17

Accepted Solution

by:
walterecook earned 125 total points
Comment Utility
Well I can tell you that the Before Update is missing a parameter.  It should look like this:
Private Sub Form_BeforeUpdate(Cancel As Integer)

Hope that helps
Walt
0
 
LVL 84
Comment Utility
What is the function "Field"? I'm not familiar with it ... if this is a custom function you've built, then it's also the name of a Reserved word in Access ... change it to something like "fncField" or whatever. If not, then read on ...

If that doesn't do it, try Compiling your code. You may find the answer by doing so - from the VB Edit window, click Debug - Compile. Also try Compacting  (Tools - Compact).

If this doesn't work, I'd create a new, blank database and import all my objects to this (after making a copy of the database, of course). You may have a db that's trying to corrupt the VBA Project (which is most definitely NOT a good thing, as it can render the entire db unusable).  
0
 

Author Comment

by:Sam_Charette
Comment Utility
Actually, the problem cleared up by putting "Cancel as Integer" in the BeforeUpdate argument list.  It wasn't complaining about that event, but by changing that one it works fine :)

For the record, Field is a custom function that lets me extract portions of a string delineated by a character of my choosing.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now