CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Linux
Discussion about CrossOver Linux

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Access no VisualBasic Macros

I know this is not the correct forum. But it is the environment of Linux that causes the error.

  • openSuSE Linux tumbleweed (updates till 2020-01-20)
  • Microsoft Office 2007 and 2010
  • crossover (rpm version) (I can not install crossover 19 on open SuSE due to installation errors)

This time I will ask about an ACCESS problem only under crossover not windows.

The access-application is running under windows XP, 7, 8 ,10 with MSOffice 2007 and 2010 fine. But when I copy the file to linux and execute with MSACCESS (also 2007, 2010 (x86 and x64)) the form is not running.

It is the first step of the form:

I see a menu with options of selections for entering sub-forms (a normal menu function).
Immediately when clicking on one selection I get error message (even exit button):

The expression On Click you entered as the event property setting produced the following error: .

  • 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.

Even the EXIT-form macro:

Private Sub Exit_Click()
  On Error  GOTO Err_Exit_Click
  Exit Sub
  MsgBox Err.Description
  Resume Exit_Exit_Click
End Sub

I told you that everything is working fine on windows computers. In Access (windows and Iinux) I can enter the program mode and can compile this form without any error.

I tried complete Office-version 2007, 2010 (x86 and x64) and also runtime environment access 2007 (german and english) and 2010.
Always the same problem.

The debug mode of access can not help, because the click event produces no message.

thank Harald

did you install Microsoft Visual Basic 6 Runtime Service Pack 6 in the office's bottle?

Thanks for this hint.
I only installed MDAC (Microsoft Data Access Component 2.8)
I will check this ...
Thanks Harald

I now installed MS MDAC, MS Visual Basic 6 runtime and MS Visual Basic 6 Service Pack 6

... but no difference.

Ok it's a known bug I suggest you to read this wine bug section: . The fix seems to be the installation of dcom 98 you can find it here:

Try install Microsoft Visual C++ 6.0 (4.2 & 6.0) Redistributable and from the internet download oleaut32dll and put it in your system32 folder, then open wine config and set this dll as native

Hi, I reinstalled the hole crossover V18.5.0.1, the bottle (only Win XP possible), office 2007

Components added:

  • MDAC Microsoft data access component 2.8
  • VisualBasic6.0-runtime
  • VisualBasic6.0-SP6
  • Visual C++ 6.0 redistributable

I made an Error fix for oleaut.dll: KB924053 (after update I had an OLEAUT32.DLL in upper case. Therefore I made a copy to oleaut32.dll in lower case)

--> config wine: Libraries: oleaut32.dll / native

PS: I have an windows 10 computer with an oleaut32.dll - can I use this one for Acces? I tried it, but no difference.
PPS: I wrote an short application: a table, a form, one trigger (on load) with only one command:

Private Sub Form_Load()
End Sub

Same error.

Thanks Harald

Thanks for your help,
but this DCOM version is from Windows 95/98 and the only compatible default bottle for Office 2007 is Windows XP. The installer tell me that the it is the wrong window version.

Try Microsoft Visual Basic 6.0 Common Controls, could you please find me a visual macros for acces in order to allow me to test the problem myself?

I created a simple macro and it worked. in my vanilla office 2010 bottle. I created a macro that once executed closes access the macro was correclty executed and it worked... I opened the macro file created with access and it worked... I need other hints I can't figure out what the problem is.

Best Regards

I set bottle Microsoft_Office_2007 to default --> no difference
I am using KDE not gnome
I created a small min application with only one table, one form on trigger (onLoad):

  • Microsoft Visual Basic 6.0 Common Controls is installed
    I tried to call "cxrun" MSACCESS.EXE with LANG=en_US.UTF-8
  • MSVBVM60.DLL was in upper case ~/.cxoffice/<bottle>/drive_c/windows/system32
    --> I set it to lower case, register and made a reboot

--> always the same problem, I have no more idea what can be the reason

I ran the file you gave me with access 2010. I receive the same error message but once I click ok the form appears and I even compiled it and saved data on it... My bottle is a vanilla bottle set to xp no other programs or components other than core fonts...Did Access crash before you can even compile the form?

) I eliminated all special characters of german language of form and of table columns
) I tried with english version of Microsoft Outlook 2007
) I tried ACCESS with option /decompile
) English version: In access-options I switch macro execution of trusted locations again on
*) In access-option: I switch all macros ON

I am one step farther:

When going in "program mode" (Alt-F11) and entering (immediate window) (Ctrl-G) I can examine commands:

DoCMD.BEEP ist working,


?SysCmd(acSysCmadAccessDir) is not working - under windows it is working

==> compile error: sub or function not defined

Activex is involved in this issue try installing Microsoft Jet 4.0 Service Pack 8.

*) The command was correct entered:
==> ?SysCmd(acSysCmdAccessDir) is not working
==> compile error:
==> sub or function not defined

*) Microsoft Jet 4.0 Service Pack 8. did not solve problem.

Could you please send me the new macro?

You got the same error message as I always receive ?

Before I compiled the form under windows and transfered it to linux.
Now I compiled (Alt-F11 --> Debugging --> Compile) it under linux, saved it and made again a trial - same situation.

What do you mean with new macro ? I am trying with my mini test application.

What is working in immediate window: DoCmd.Beep and what is not working:
?SysCmd(acSysCmdAccessDir). This should return the path of access.

Could you please provide me a debug file? execute the application in crossover and create a cxlog. I hope I can figure out what is going wrong...

Now I am totally confused:

I installed another trigger "Click" on first field that I can check a command at runtime not only at startup.

?SysCmd(9) and ?SysCmd(acSysCmdAccessDir) sometimes works and sometimes not.

But in both cases my trigger has always the recognized error message.


I do not find my last post ...

OK, one more think:

I installed a hole new bottle (instead of Win-XP, now Win7) with Microsoft Office 2016: same error
--> I think that it has nothing to do with the bottle, with Office version, DLLs or so.
--> I think it is an environment problem.

Now I solved installation of crossover 19.0.1 on a SuSE tumbleweed - also it was an environment problem --> see other thread

1 to 20 of 20

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...