question

Upvote
Accepted
16 1 1 4

MS Access receive run-time error '53' for PLVbaApis.dll

I wanted to adapt the AdfinX Real Time code from Excel into a MS Access project. Unfortunately I get a Run-Time error '53' File not found: PLVbaApis.dll when I exectue the code. It works within Excel but not MS Access seems that there are som path information missing. I've tried as well to declare with the full path, copying it to alternative folders, etc... Does someone have an idea on how configure the ms access project so this AdfinXrt stuff will work? See code below

Option Explicit

Private WithEvents mAdxRtList As AdfinXRtLib.AdxRtList
Private mEventHandler As IRecordEventHandler

Private mResult() As Variant
Private Declare PtrSafe Function CreateReutersObject Lib "PLVbaApis.dll" (ByVal progID As String) As Object

Private Sub Class_Initialize()
'ChDir "C:\Program Files (x86)\Thomson Reuters\Eikon\Y\Bin" 'CurrentProject.Path
Set mAdxRtList = CreateReutersObject("AdfinXRtLib.AdxRtList")
End Sub

eikoneikon-com-apivbaadfinms-access
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Are you using the 64-bit version of MS Access?

Upvotes
Accepted
966 11 19 26

I have attached a sample Access project which shows how to access Real Time data using EikonDesktopDataAPI in Access.

Please speak to your account manager to ensure your legal agreement with Thomson Reuters covers you for this kind if data usage.

access.zip


access.zip (29.5 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi Neil

this is brilliant - thank you very much for your help. Very appreciated! Also thank you very much for the hint in case of the data usage. Very valuable because this is indeed a critical area but in my case this under control :-).

Hi Neil

this is brilliant - thank you very much for your help. Very appreciated! Also thank you very much for the hint in case of the data usage. Very valuable because this is indeed a critical area but in my case this under control :-).

Upvotes
16 1 1 4

Regarding PtrSafe I've put that because of the documentation of Thomson Reuters where they recommend to use it if using VBA7. Defining the full path within the declare statement does not help. Same error - I guess there are dependencies to the PLVbaApis.dll which can't be resolved because of not having a default search path.


plvbaapis.jpg (39.7 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
4.6k 26 7 22

@kurt.meyer

CreateReutersObject() only works in the context of MS Excel. You will have to use EikonDesktopData API. Basically, instead of creating the objects manually, you will use an internal method of the API, for instance:

Set EikonConnect = New EikonDesktopDataAPI.EikonDesktopDataAPI()
...
Set AdxRtList = eikonConnect.CreateAdxRtList()
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

I'm using 32-bit Office suite (Office Professional Plus 2010)

Is there a reason you are using the PtrSafe keyword inside a 32-bit process?

Could you please try the following:

Private Declare Function CreateReutersObject Lib "C:\Program Files (x86)\Thomson Reuters\Eikon\Y\bin\PLVbaApis.dll" (ByVal progID As String) As Object