This is the continuation of a series of different 3D-Heading-Styles introduced for designing Microsoft Access Form/Report Headings. This design is a variant of the 3D-Heading Style presented under the Title Create 3D Headings on Forms. Both the Styles has its own beauty and once they are created you may copy the same Controls and customize them with different Fore-color, Font & Font Styles (Bold, Italics etc.) and use it on Form or Report Headings.

 

If you are the first-time visitor on this site and landed straight on this page you must prepare your MS-Access Project by adding few Library Files and Main Programs (if you have not already done) before you are able to run the Code for this Heading Style and others presented on this Site. Follow the steps given below:

 

  1. Link few Common Library Files (they are already there in your System, you only need to attach them) to your Project by following the steps described in my earlier post with the Title Command-Button Animation
  2.  

  3. You need to copy all the VB Codes given under the Title Create 3D Heading on Forms and paste them into a Global Visual Basic Module in your Project and save the Module.
  4.  

    This Code implements the Main Functions of each Heading Styles presented so far including this one. Once you are ready with the above you may copy the Code for this Heading Style and try it out.

     

  5. Copy the Code below into the same Global Module, where you have copied the Main Programs, or any Global Module you prefer and save it.
  6.  

Public Function Shadow3D(ByVal intStyle As Integer, ByVal intForeColor As Integer, Optional ByVal Label0Text1 As Integer) As String
'----------------------------------------------------------
'Author : a.p.r. pillai
'Date   : September 2006
'----------------------------------------------------------
Dim intlbls As Integer, intFSize As Integer
Dim j As Integer, mySection As Section
Dim lblName() As String, lngForecolor As Long, X As Integer
Dim l As Long, t As Long   

On Error Resume Next
   Shade3D = FormTxtLabels(Label0Text1)
   Set mySection = MyFrm.Section(acDetail)
  intlbls = mySection.Controls.Count - 1
   On Error GoTo Shadow3D_Err
   X = Validate_Dup(MyFrm, 5) ' check type and duplicate
   If X = 1 Then
    Exit Function
  End If
  intlbls = mySection.Controls.Count - 1
   X = intStyle
  intStyle = IIf(X < 0, 0, IIf(X > 3, 3, intStyle))
  X = intForeColor
  intForeColor = IIf(X < 0, 0, IIf(X > 15, 15, intForeColor))
   ReDim lblName(0 To intlbls) As String
   For j = 0 To intlbls
   lblName(j) = mySection.Controls(j).NAME
  Next
   For j = 0 To intlbls
    With mySection.Controls(lblName(j))
      .Height = lngheight
      .Width = lngWidth
      .FontName = "Times New Roman"
      intFSize = .FontSize
      If intFSize < intFontSize Then
        .FontSize = intFontSize
      End If
      .FontUnderline = False
      .TextAlign = intTextAlign
      .BackStyle = intBackStyle
     Select Case j
       Case 0
        lngForecolor = 8421504
       Case 1 To intlbls - 2
        lngForecolor = 8421504
       Case intlbls - 1
        lngForecolor = 0 '12632256
       Case intlbls
        lngForecolor = QBColor(intForeColor)
      End Select
        .ForeColor = lngForecolor
   End With
  Next
  l = intX: t = intY
   With mySection.Controls(lblName(1))
    .Left = l
    .Top = t
  End With
  For j = 0 To intlbls
  Select Case intStyle
         Case 0
            l = l + LngI
            t = t + LngI
         Case 1
            l = l + LngI
            t = t - LngI
         Case 2
          l = l - LngI
          t = t + LngI
         Case 3
            l = l - LngI
            t = t - LngI
  End Select
    With mySection.Controls(lblName(j))
       .Left = l
       .Top = t
    End With
  Next
  MsgLabel

Shadow3D_Exit:
Exit Function
Shadow3D_Err:
Msgbox Err.Description,, "Shadow3D"
Resume Shadow3D_Exit
End Function  

 

To create the Shadow3D Heading Style:

 

Press Alt+F11 to Display the Visual Basic Editing Screen (you can toggle between Database and VB Window with this Shortcut) Press Ctrl+G (or View –> Immediate Window) to display the Debug Window.

 

Type the following in the Debug Window and press Enter:

 

 

Shadow3D 1, 0

 

You will see the Screen flashes a little as if it is refreshed. Minimize the Visual Basic Module Window and you will see a new Form has been created with the above Heading Style. Help Text to guide to customize the Control with your own Font, Font Style or Heading Text is also created in a Label Control, which you may follow to change it into your own style.

 

Let us examine the Command Line Values.

 

Shadow3D is the Function Name

 

1 – First Parameter to the Function which controls the Shadow position of the Heading Text. Range of Values are from 0 to 3.

 

0 – Shadow position left top corner

 

1 – bottom left corner

 

2 – Right bottom corner

 

Second parameter 0 will create 3D Text on Label controls. By default the Function creates label based Heading Text and this can be omitted. If omitted, then do not use a coma after the first parameter. If 1 is used then the Function creates TextBox based control with Heading Text placed in a Formula in the Control Source property.

 

You can change the Value in the Formula or change to show values from the underlying field of table/query attached to the Form. Or you can write a Dlookup() Function to pick the Value from a different Table.

 

Example: =Dlookup("CountryName","CountryTable","CountryCode = ‘USA’")

 

The above example will show United States of America in 3D Style from the CountryTable based on the Values in CountryCode & CountryName Fields. If The criteria parameter of the Function needs to obtain a Value from the current table attached to the Form then modify the Function to:

 

=Dlookup("CountryName","CountryTable","CountryCode = ‘“ & [CCode] & "’")

 

Where [CCode] is the Field Name where the country codes are stored in the Table/Query attached to the Form. Note the single quote immediately after the equal sign followed by a double-quote and the closing single quote within double-quotes before the closing parenthsis indicating the CCode field value is character type data.

 

Tip: Search in MS-Access Help for more details on Dlookup() Function.




Download Demo Database


Border 2D Heading Style
Border 3D heading Style
MsgBox with Office Assistant