Link to home
Create AccountLog in
Avatar of Rick Danger
Rick DangerFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Microsoft Access 2010 runtime license problem

I have deployed the Access runtime environment for a database I have developed. It works until I get to a certain point when I get the following message:

"You do not have an appropriate license to use this functionality in the design environment"

Do I need to register something, and if so, how do I do it? Or is it something else?
Avatar of pdebaets
Flag of United States of America image

Avatar of Rick Danger


Thanks pdebaets - the trouble is that it doesn't tell me which control it is referring to. I think this error is specific to the Microsoft Access run-time program
Avatar of Jim Dettman (EE MVE)
<<I think this error is specific to the Microsoft Access run-time program >>

  No, there's nothing in the runtime that would do that.  once it's started, that's it.

  As peter has pointed out, you used some type of 3rd party control within the application which is from another product (like VB6 classic).

  The point at which you get the error (form or report) is what you need to look at.

   Another thing you can look at is references in VBA and check for non-native controls.

My Access database uses VBA, if that's what you mean. As regards non-native References, I am using:
Visual Basic for Applications
Microsoft Access 14.0 Object Library
OLE Automation
Microsoft Office 14.0 Access database engine Objects
Microst Excel 14.0 Object Library
Microst Office 14.0 Object Library
Microst Outlook 14.0 Object Library
Microsoft XML, v6.0

I think these are all native. It looks as if the code that is making it fail is in here:
Public Function SendIt(Optional email_address, Optional email_subject, Optional email_body, Optional send_email As Boolean)
    Dim OutApp As Object
    Dim OutMail As Object
'    posit = InStr(email_address, "#")
    email_len = Len(email_address)
    email_pre = Mid(email_address, 9, email_len)
    email_len = Len(email_pre)
'    email_address = Mid(email_pre, 1, email_len - 1)
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
    SigString = Environ("appdata") & _

    If Dir(SigString) <> "" Then
        Signature = GetSig(SigString)
        Signature = ""
    End If
    With OutMail
        .To = email_address
        .CC = ""
        .BCC = ""
        .Subject = email_subject
        .HTMLBody = email_body & "<br><br>" & Signature
        Select Case send_email
        Case True
'            .Display
        Case False
'            .send
        End Select
'        .send
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
End Function

Does this help?
That's odd...there's nothing unusual there.

Does it actually fail in this code?   What controls are on the form that invokes this code?

There is nothing unusual in any of the controls in the form. Mostly text boxes and buttons.
Can you put the form alone in a sample DB and upload?

On the PC generating the error with the  Access Runtime, which edition  of Microsoft Office 2010  (14) is installed?
HiTech - sorry for the delay, I've been away for a couple of days.
14.0.6129.5000 (32-bit)
Still would like to see a sample DB containing the form involved.

Not sure if this helps. Let me know
Well no 3rd party controls in there for sure.

Only thing odd about this form is the field references; they should not have an equals sign (=) in front of them.

If that's causing the error, that would be weird....but in any case, they don't belong there.

Did that, same problem...
Avatar of Jim Dettman (EE MVE)
Jim Dettman (EE MVE)
Flag of United States of America image

Link to home
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
I think you have hit the nail on the head! I feel really stupid, but I've only just realised that Outlook is not installed on the target machine! In fact Office is not on it at all.

So I suppose the only way around this is to somehow install Outlook.

Thanks for your help.
Thanks for sticking with me!
<<So I suppose the only way around this is to somehow install Outlook>>

 The other option is to send e-mail differently; you don't need to use Outlook.

 Outlook is simply an e-mail client and there are a number of other ways you can send e-mail if that's all your doing:

1. Use CDO -  A library of functions that all you to send and work with e-mail.

2. Use BLAT - Command line or DLL that talks directly to a SMTP server.

3. Use vbSendMail - VB class that talks directly to a SMTP server.

  An SMTP server is an e-mail server.  This is what Outlook uses to send e-mail as well.

Let me know if you want more details on anything.

Thanks very much for the extra help - much appreciated!