Knowledge Base |

# PC Forms: Err Msg: "Invalid Column Value" Using Grid Control

Article ID: 110095

Article Last Modified on 10/30/2006

APPLIES TO

- Microsoft Exchange Electronic Forms Designer 5.0, when used with:
  - Microsoft Mail for PC Networks 3.0
  - Microsoft Mail for PC Networks 3.2

This article was previously published under Q110095

## SYMPTOMS

When you read a message that was created using a custom form created with version 1.0 of the Microsoft Electronic Forms Designer, you may receive one of the following error messages:
Invalid Column Value

-or-

Invalid Row Value

## CAUSE

This problem can occur if the custom form contains a grid control that is empty or has only one row of data.

## RESOLUTION

When the data in a custom form is unpackaged, the MEF ReadTaggedControls function expects a token at the end of the grid data string. When the grid has 0 or 1 rows, it is not there. To resolve this problem, you can update the code for the WriteTaggedControls and ReadTaggedControls functions by performing the following steps:

1. Open your E-Form project in Visual Basic.
2. In the Project window, select EFORM.BAS.
3. In the Procedures drop-down list box, select WriteTaggedControls.
4. Scroll to the section commented Grid Control.
5. Add the following code below the line:

           gridClip = Format$(ctrl.Rows) & Chr$(9) & Format$(ctrl.Cols) & Chr$(9)
          &ctrl.Clip

          If Right$(gridClip, 1) <> Chr$(13) Then
            gridClip = gridClip & Chr$(13)
          End If

   The line that follows the new code is:

          MEFWriteText package, Tag, gridClip

6. From the Procedures drop-down list box, select ReadTaggedControls.
7. Scroll to the section commented Grid Control.
8. Add the following code below the line:

          gridClip = MEFReadText(package, Tag, "")

          If Right$(gridClip, 1) <> Chr$(13) Then
            gridClip = gridClip & Chr$(13)
          End If

   The lines that follow the new code are:

          ctrl.Rows = Val(MEFGetToken(gridClip, Chr$(9)))
          ctrl.Cols = Val(MEFGetToken(gridClip, Chr$(9)))

Additional query words: 1.00

Keywords: KB110095