katerina-p
asked on
MS Access 2016 .Net Framework Reference
Problems with MS Access Reference(s) after changing from a server with 2008 R2 to 2012 R2 (and a new install of Access 2016)
The following code is what has initially highlighted the issue.
Line 12900 throws run time error -2146232576 (80131700) ‘Automation Error’.
SVR with 2008R2 had referenced System.tlb from the v2.0.50727 .Net Framework folder.
SVR with 2012R2 has referenced from the v4.0.30319 folder.
However, when I change new server from v4 to the v2 file, even though it appears to have changed it (judging by the 'Location' reference), the next time I open the Reference panel it has changed back to v4! This happens even on a new file where the .net wasn’t even referenced to begin with. Ie I add system.tlb from the v2 folder. When I next open references the ref location is the v4 folder!
1) Have I correctly identified the .net version as the cause of the actual error?
2) How can I force the reference to the older version / stop it changing itself?
Many thanks
The following code is what has initially highlighted the issue.
Public Function fSHA256Base64(s As String, k As String) As String
Dim lngLoop As Long
Dim oUTF, oEnc
Dim hmac() As Byte
Dim strText As String
Dim strTemp As String
12890 strText = s
12900 Set oUTF = CreateObject("System.Text.UTF8Encoding")
12910 Set oEnc = CreateObject("System.Security.Cryptography.HMACSHA256")
12920 oEnc.Key = oUTF.GetBytes_4(k)
12930 hmac = oEnc.ComputeHash_2(oUTF.GetBytes_4(s))
12940 strTemp = Base64Encode(hmac())
12950 fSHA256Base64 = strTemp
End Function
Line 12900 throws run time error -2146232576 (80131700) ‘Automation Error’.
SVR with 2008R2 had referenced System.tlb from the v2.0.50727 .Net Framework folder.
SVR with 2012R2 has referenced from the v4.0.30319 folder.
However, when I change new server from v4 to the v2 file, even though it appears to have changed it (judging by the 'Location' reference), the next time I open the Reference panel it has changed back to v4! This happens even on a new file where the .net wasn’t even referenced to begin with. Ie I add system.tlb from the v2 folder. When I next open references the ref location is the v4 folder!
1) Have I correctly identified the .net version as the cause of the actual error?
2) How can I force the reference to the older version / stop it changing itself?
Many thanks
ASKER
Jim, Thanks for your comment. I can't help on that - this is extremely old code which I've dragged through multiple versions of Access and Windows!
However the behavior on the references is still something I'd like to understand. There are multiple other references I have to set each time I open Access 2106 (eg, from XML 6 down to 5).
However the behavior on the references is still something I'd like to understand. There are multiple other references I have to set each time I open Access 2106 (eg, from XML 6 down to 5).
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
Since these are basic function, I'm sure there is direct VBA code floating around (I'm sure there is for UTF8Encoding) and what I'd do is drop the .Net calls entirely and use the VBA Equivalents.
Jim.