10-14-2013 07:37 AM
I had some issues with my computere where I was developing an ACT! plugin with Visual Studio 2008. I moved the project to my VS 2012 computer and I am having a new problem.
When I run the plugin from within ACT, I am now getting an error, The ACTOLEDB.1 provider is not registered on the local machine.
Since I am now compiling from a 64bit version of windows, I wonder if there is some setting/settings in VS 2012 that are not correct.
Any help is appreciated!
Larry
10-14-2013 08:31 AM
I would just go ahead and register the dll. It's called actoledb.dll and it's in the "C:\Program Files (x86)\Act\Act for Windows" folder. That version of the OLEDB interface has been deprecated and has been removed from ACT! v16.
Stan
10-14-2013 10:02 AM
Thank you for your reply.
I am ACT! CC and have been since 2005. I wrote this application 2 years ago and had not a reason to modify until the past few weeks and I figured that I would bring it up to snuff with the newer version of ACT!
I tried registering the actole dll and and am receiving the same error.
What is the best way of handling this?
Larry
10-14-2013 10:37 AM
Did you get a message that the registration succeeded? Sometimes you have to run the regsvr32.exe as an administrator.
Stan
10-14-2013 11:34 AM
ACTOLEDB.DLL was not included in the v16 distribuition at all to my knowledge. Just to try it, I copied the file from my 2013 install directory and regsvr32 it.
That got me a bit further...now I get a different error. Invalid Object Name VRP_CONTACT. The code block involved is included below...if there is a better or easier way of doing it, I am very interested...
Thank you for your help in this.... Larry
Dim ole AsString
ole = ACTTabPluginVB.actole
Dim count, q AsInteger
Dim lotn, name, name1, address, address1 AsString
Dim conn AsNew OleDb.OleDbConnection(ole)
conn.Open()
olecmd.Parameters.Clear()
With olecmd
' .CommandText = "Select contact.[contact contactID],contact.[contact Business_Email] from VRP_Contact"
' .CommandText = "Select TOP 1 * from VRP_Contact"
.CommandText =
"Select [contact lot],[contact contact],[contact owner1first],[contact owner2first],[contact Address 1] from VRP_Contact"
.CommandType =
CommandType.Text
.Connection = conn
EndWith
10-14-2013 12:22 PM
You're going to have to switch to using the OLEDB2 interface if you want your program to work with ACT! v16. The VRP_CONTACT view isn't in the ACT! database anymore. You're going to need to use the CONTACT view and some of the column names are different too. All of the VRP_ views were OLEDB1 views and aren't there anymore.
Stan
10-14-2013 12:23 PM
Thank you. Glad I found this out before I upgraded my customers to v16.
10-16-2013 09:57 AM
OK...still trying to sort through this.
If I want to use ole2 only, I assume would have to start out with something like:
ActFramework ACTFM = new ActFramework();
ACTFM.LogOn("C:\\Documents and Settings\\Administrator\\My Documents\\ACT\\Act for Win 8\\Databases\\Act8Demo.pad", "Chris Huffman","");
the idea being to fillup the rows array with information that I could then use to populate a secondary table. The Rows array was being filled by:
With olecmd
"Select [contact lot],[contact contact],[contact owner1first],[contact owner2first],[contact Address 1] from VRPContact"
and I was then using the rows array resulting from that to populate my secondary table:
name = oleds.Tables(0).Rows(count)("contact contact").ToString
what would the proper way to do that under OLE2?
Thanks!
Larry
10-16-2013 11:03 AM
It would probably be more like:
With olecmd
"Select [lot],[contact],[owner1first],[owner2first],[Address 1] from Contact"
name = oleds.Tables(0).Rows(count)("contact").ToString
I haven't actually written anything directly accessing the OLEDB interface in a while. I usually directly access the SQL tables and find what I'm looking for by linking them myself.
Stan
10-16-2013 11:13 AM
that was my first thought, but does not appear to work unless I register actoledb.dll from act 2013, which I would really prefer not to do.
How would you pull that info from that contact table? I am always open and interested in learning.
Larry