"Procedure declaration does not match description" error, _dblclic

G

Guest

I’m getting the error “Procedure declaration does not match description of
event or procedure having the same name†in some code I’m modifying, and I
can’t figure out why. This first sub works fine; it populates a listbox with
the columns of a table in a database:

Sub TablesList_Click()

Dim conn As Connection
Dim rs As Recordset
Dim strTbl As String

ColumnsList.Clear
Set conn = New Connection
conn.ConnectionString = strConnection
strTbl = TablesList.List(TablesList.ListIndex)
conn.Open
Set rs = conn.OpenSchema(adSchemaColumns, Array(Empty, Empty, strTbl,
Empty))

While Not rs.EOF
ColumnsList.AddItem (rs("COLUMN_NAME"))
rs.MoveNext
Wend

conn.Close

End Sub

I wrote this sub to try to copy the table name into a textbox in the same
form, by doubleclicking the list item:

Sub TablesList_Dblclick()

Dim strTbl As String

strTbl = TablesList.List(TablesList.ListIndex)
SqlBox.Text = SqlBox.Text & strTbl

End Sub

As soon as I step into this sub, I get the error. But there’s nothing to be
mismatched as implied by this error message. “Dblclick†does not occur
anywhere else in the project.

SqlBox is defined elsewhere and works fine also. It sends query text to a
database and results appear in a sheet. But currently you have to type the
entire query string. You can see the table and column names but there's no
way to pull them into the Sqlbox.

Gregg Roberts
 
G

Guest

Try

Sub TablesList_DblClick(Cancel As ReturnBoolean)

instead of

Sub TablesList_Dblclick()
 
G

Guest

Sure enough, that fixed it! Thanks!

Why do you suppose the parameter is required for DblClick but not for Click?

Gregg Roberts
 
G

Guest

the cancel argument allows you to cancel the normal behavior for the
doubleclick.

It is useful in cells, so you don't go into edit mode (the normal behavior)
after you code performs some action in response to the double click. (of
course there is it properly named beforedoubleclick).

I can't say why it is designed that way, but whenever programming events,
you should use the dropdown at the top to put in the event declaration rather
than trying to type it is. This will insure you have the correct argument
list.
 
C

Chip Pearson

You cannot make up your own declarations for Excel's events. You MUST use
the declaration used by Excel.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)
 
G

Guest

BTW, the VBA help example in my version is incorrect on this. It has two
arguments when there's only Cancel. :-(
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top