Avatar of David Bernstein
David BernsteinFlag for United States of America

asked on 

Run-Time error 458 Variable uses an Automation type not supported in Visual Basic

I added 2 brand new computers to the network running Windows 10 pro and Office 365 latest versions
I am getting this error only on these 2 computers in one specific piece of code.
The function is used throughout the system to test that a variable is valued. I have used this code for 25 years. After the error appears the database crashes. It only occurs when printing a particular report.
Even getting the same error using a backup program database from 2016.
Function valid(x As Variant)
   If IsNull(x) Then
      valid = False: Exit Function
   End If

   If IsEmpty(x) Then
      valid = False
      Exit Function
      valid = Not (x = String$(Len(x), 0) Or x = String$(Len(x), 32))
      Exit Function
   End If
End Function

Windows 10Microsoft 365Microsoft Access

Avatar of undefined
Last Comment
Seth Simmons
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

Try to replace it with this single line of code:

Public Function Valid(ByVal Value As Variant) As Boolean

    Valid = Trim(Replace(Nz(Value), vbNullChar, "")) <> ""

End Function

Open in new window

It's probably related to the datetime2 data type in SQL, which was implemented for ODBC, but is not available in VBA.


actually I may be getting my types mixed up....it may have been BigInt that was the problem with VBA.

Avatar of David Bernstein
David Bernstein
Flag of United States of America image

Blurred text
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Seth Simmons
Seth Simmons
Flag of United States of America image

No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I have recommended this question be closed as follows:

Accept: 'David Bernstein' (https:#a43286793)

If you feel this question should be closed differently, post an objection and the moderators will review all objections and close it as they feel fit. If no one objects, this question will be closed automatically the way described above.

Experts-Exchange Cleanup Volunteer
Microsoft Access
Microsoft Access

Microsoft Access is a rapid application development (RAD) relational database tool. Access can be used for both desktop and web-based applications, and uses VBA (Visual Basic for Applications) as its coding language.

Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews


IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo