Get  Run-time Error '424': Object Required when trying to implement an ActiveX Merge Control in an MS Access Project

Posted on 2008-10-11
Last Modified: 2013-12-05
I have a MS Access project that connects to an MSDE database on the same laptop.  I also have the same MSDE located on a server.  Merge replication is set up between the two and is currently controlled using Window Synchronization Manager.  Works good.  I want to place merge control in the Access project so that the endusers only need to use the Access project to initiate replication.  I'm using the ActiveX Merge Control to try to do this.  I found an article in SQL Server Magazine that uses the attached code.  Listing 1 is a classmodule that allows access to the merge control's Status Event.  Listing 2 is the merge replication function.   When I run the Replication_Merge function in the VBE Immeadiate Pane I get the Run-Time error 424: Object Required.  The 4th line of listing 2 "Set Merge_Control = New_Merge.SQlM" is highlighted yellow when I debug.  The contents of the article are also attached.

LISTING 1: Creating a Class Module That Uses the Status Event

Public WithEvents SQlM As SQLMerge

Private Sub Class_Initialize()

   Set SQlM = New SQLMerge

End Sub

Private Sub Class_Terminate()

    Set SQlM = Nothing

End Sub

Private Function SQLM_Status(ByVal Message As String, ByVal Percent As Long) As SQLMERGXLib.STATUS_RETURN_CODE

    Debug.Print Message & " " & Percent & "% Done"

End Function

LISTING 2: The Replication_Merge Function

Public New_Merge As New clsMerge

Public Function Replication_Merge()

Dim Merge_Control As SQLMerge

Set Merge_Control = New_Merge.SQlM


With Merge_Control

	'Set the publisher properties

	.Publisher = "Your Server Name"

	.PublisherSecurityMode = DB_AUTHENTICATION

	.PublisherLogin = "sa"

	.PublisherPassword = ""

	.PublisherDatabase = "Pubs"

	.Publication = "pubs_to_MSDE"


	.PublisherNetwork = TCPIP_SOCKETS

	.PublisherAddress = ""


	'Set the distributor properties

	.Distributor = "Distributer Server Name"

	.DistributorSecurityMode = NT_AUTHENTICATION


	'Set your local subscriber properties

	.Subscriber = "The Local Machine Name/Server Name"

	.SubscriberSecurityMode = DB_AUTHENTICATION

	.SubscriberDatasourceType = SQL_SERVER

	.SubscriberLogin = "sa"

	.SubscriberPassword = ""

	.SubscriberDatabase = "pubs_local"

	.SubscriptionType = ANONYMOUS





End With



End Function

Open in new window

Question by:4632474
LVL 26

Expert Comment

ID: 22696742
If you debug the code, do you get the same error?
I'm thinking that this could be a references issue.
LVL 40

Accepted Solution

Vadim Rapp earned 250 total points
ID: 22701986
I pasted your code into an adp, i.e. first part as new class module named clsMerge, and second part as new module; in VBA, added reference to Microsoft SQL Merge Control 8, then ran Replication_Merge in immediate panel, and it worked. Of course it returned error message about not finding the subscription ("The process could not connect to Subscriber 'The Local Machine Name/Server Name'. 0% Done") , but not "object required".

Author Closing Comment

ID: 31505365
Thanks - I had the function in a module with a few other functions used throughout the project.  I put it in its own module and it works.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

705 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

15 Experts available now in Live!

Get 1:1 Help Now