VB Migration Partner

KNOWLEDGE BASE - Database and data-binding

Previous | Index | Next 

[PRB] Assigning a StdDataFormat object to the DataFormat property of an ADODB.Field causes runtime errors

VB Migration Partner support custom formatting in bound controls. References to StdDataFormat objects are converted to VB6StdDataFormat objects and migrated VB.NET applications works like the original VB6 app. VB Migration Partner even support custom formatting by means of the Format and Unformat events of the StdDataFormat class.

Everything works well when the VB6StdDataFormat object is assigned to the DataFormat property of a control. However, if the VB6StdDataFormat object is assigned to the DataFormat property of an ADODB.Field object you get a runtime exception, because the DataFormat property is expected to receive a COM StdDataFormat object, not the .NET VB6StdDataFormat object.

You can fix this problem by wrapping the StdDataFormat object in a ToStdDataFormat6 method, which is defined in the VisualBasic6_Support.bas module. Alternatively, you can use a ReplaceStatement pragma to insert the method call during the migration process, as in this example:

        Dim std As New StdDataFormat
        sdf.Type = fmtCustom
        sdf.Format = "MM.dd"
        '## ReplaceStatement rs("OrderDate").DataFormat = ToStdDataFormat6(std)
        Set rs("OrderDate").DataFormat = std

Notice that the ToStdDataFormat6 method requires a reference to the Microsoft.StdFormat DLL. You can this reference manually after the migration or, better, automatically during the migration by means of an AddReference pragma.

Previous | Index | Next 

Follow Francesco Balena on VB6 migration’s group on


Read Microsoft Corp’s official case study of a VB6 conversion using VB Migration Partner.

Code Architects and its partners offers remote and onsite migration services.

More details

Subscribe to our free newsletter for useful VB6 migration tips and techniques.


To learn more about your VB6 applications, run VB6 Analyzer on your source code and send us the generated text file. You will receive a detailed report about your VB6 applications and how VB Migration Partner can help you to quickly and effectively migrate it to .NET.

Get free advice

A fully-working, time-limited Trial Edition of VB Migration Partner allows you to test it against your actual code

Get the Trial

The price of VB Migration Partner depends on the size of the VB6 application, the type of license, and other factors

Request a quote

Migrating a VB6 application in 10 easy steps

Comparing VB Migration Partner with Upgrade Wizard

Migration tools: Feature Comparison Table

All whitepapers