ACC: Can't Paste Append Using Input Mask Based on Short Date

ID: Q160575


The information in this article applies to:


SYMPTOMS

Moderate: Requires basic macro, coding, and interoperability skills.

When you use the Paste Append command to append a record in Form view of a form containing a control with any variation of the Short Date in its InputMask property, the appended record contains a Null value in that control.

The Short Date format appears in the InputMask property as something resembling "99/99/00;0;_".


RESOLUTION

There a three workarounds:

Follow these steps to implement the third workaround:

The following example assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

CAUTION: Following the steps in this example will modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file, or perform these steps on a copy of the Northwind.mdb database.
  1. Start Microsoft Access and open the sample database Northwind.mdb.


  2. Open the Employees (page break) form in Design view (or the Employees form in version 7.0).


  3. Select the HireDate text box control, and then view its properties.


  4. Click the Build button next to the InputMask property to invoke the Input Mask Wizard. Click Short Date, and then click Finish.


  5. On the View menu, click Code.


  6. Type the following line in the Declarations section of the form module:

    Dim mstrIMask As String


  7. Type the following procedures:


  8. 
          Private Sub Form_BeforeInsert(Cancel As Integer)
             mstrIMask = Me!HireDate.InputMask
             Me!HireDate.InputMask = ""
          End Sub
    
          Private Sub HireDate_Enter()
             If mstrIMask <> "" Then Me!HireDate.InputMask = mstrIMask
          End Sub 
  9. Close the form module and switch to Form view.


  10. On the Edit menu, click Select Record.


  11. On the Edit menu, click Copy.


  12. On the Edit menu, click Paste Append.


  13. On the Edit menu, point to Go To and then click Last. Note that the HireDate value is appended correctly.



STATUS

Microsoft has confirmed this to be a problem in Microsoft Access 7.0 and 97.


MORE INFORMATION

Steps to Reproduce Problem

CAUTION: Following the steps in this example will modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file, or perform these steps on a copy of the Northwind.mdb database.
  1. Follow steps 1 through 4 in the "Resolutions" section of this article.


  2. Switch the form to Form view.


  3. On the Edit menu, click Select Record.


  4. On the Edit menu, click Copy.


  5. On the Edit menu, click Paste Append.


  6. On the Edit menu, point to GoTo and then click Last. Note that the HireDate field is empty.



REFERENCES

For more information about input masks, search the Help Index for "InputMask property," or ask the Microsoft Access 97 Office Assistant.


Keywords          : FmsProb GnlDe GnlInpt 
Version           : 7.0 97
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: May 13, 1999