<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener("load", function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <iframe src="http://www.blogger.com/navbar.g?targetBlogID=34083602&amp;blogName=LEARN+MS-ACCESS+TIPS+AND+TRICKS&amp;publishMode=PUBLISH_MODE_FTP&amp;navbarType=BLUE&amp;layoutType=CLASSIC&amp;searchRoot=http%3A%2F%2Fblogsearch.google.com%2F&amp;blogLocale=en_US&amp;homepageUrl=http%3A%2F%2Fwww.msaccesstips.com%2F" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="30px" width="100%" id="navbar-iframe" allowtransparency="true" title="Blogger Navigation and Search"></iframe> <div></div>
www.msaccesstips.com

LEARN MS-ACCESS TIPS AND TRICKS


International Response Fund

LEARN MS-ACCESS TIPS AND TRICKS

↑ Grab this Headline Animator

Your Ad Here
Thursday, December 25, 2008

Custom Report Wizard

After designing and working with a Form Wizard it is natural to think about designing a Report Wizard too. Because of the designing task of a Form and Report is almost same, except Page Footer with Page Number and date.


If you have gone through the designing task of the Form Wizard then you don't have to do it again. Please go through the earlier Post: Custom made Form Wizard to understand the designing task of the FormWizard or to download it from there.


Do the following few simple steps and the ReportWizard is ready:


  1. Make a copy of the FormWizard and rename it as ReportWizard.

  2. Open the ReportWizard in Design View.

  3. Change the List Box and Combo Box headings to read as Report Format and Select Table/Query for Report respectively.

  4. Change the word Form to Report in the left side labels.

  5. Display the Code Module of the ReportWizard by selecting View - ->Code (or Alt+F11).

  6. Press Ctrl+A to select the entire Code in the Form Module and press Delete Key to delete the Code.

  7. Copy and Paste the Code given below into the ReportWizard Form Module and save the Form:


  8. Option Compare Database
    Option Explicit
    Dim DarkBlue As Long, twips As Long, xtyp As Integer, strFile As String
    Dim MaxSeq As Integer
    Private Sub cmdBack_Click()
    Me.Page1.Visible = True
    Me.Page1.SetFocus
    Me.Page2.Visible = False

    End Sub

    Private Sub cmdCancel_Click()
    DoCmd.Close acForm, Me.NAME
    End Sub

    Private Sub cmdCancel2_Click()
    DoCmd.Close acForm, Me.NAME
    End Sub

    Private Sub cmdForm_Click()
    If xtyp = 1 Then
    Columns
    Else
    Tabular
    End If
    DoCmd.Close acForm, Me.NAME

    cmdForm_Click_Exit:
    Exit Sub

    cmdForm_Click_Err:
    MsgBox Err.Description, , "cmdForm_Click"
    Resume cmdForm_Click_Exit
    End Sub

    Private Sub cmdNext_Click()
    Dim vizlist As ListBox, lcount As Integer, chkflag As Boolean
    Dim FildList As ListBox, strName As String, strRSource As String
    Dim cdb As Database, doc As Document
    Dim Tbl As TableDef, Qry As QueryDef, QryTyp As Integer
    Dim flag As Byte, FieldCount As Integer, j As Integer

    On Error GoTo cmdNext_Click_Err

    Set vizlist = Me.WizList
    lcount = vizlist.listcount - 1

    chkflag = False
    For j = 0 To lcount
    If vizlist.Selected(j) = True Then
    xtyp = j + 1
    chkflag = True
    End If
    Next

    If IsNull(Me![FilesList]) = True Then
    MsgBox "Select a File from Table/Query List. ", vbOKOnly + vbExclamation, "cmdNext"
    Me.WizList.Selected(0) = True
    Else
    strFile = Me!FilesList

    Me.Page2.Visible = True
    Me.Page2.SetFocus
    Me.Page1.Visible = False

    Set cdb = CurrentDb
    flag = 0
    For Each Tbl In cdb.TableDefs
    If Tbl.NAME = strFile Then
    flag = 1
    End If
    Next
    For Each Qry In cdb.QueryDefs
    If Qry.NAME = strFile Then
    flag = 2
    End If
    Next
    If flag = 1 Then
    Set Tbl = cdb.TableDefs(strFile)
    Set FildList = Me.FldList
    strRSource = ""
    FieldCount = Tbl.Fields.Count - 1
    For j = 0 To FieldCount
    If Len(strRSource) = 0 Then
    strRSource = Tbl.Fields(j).NAME
    Else
    strRSource = strRSource & ";" & Tbl.Fields(j).NAME
    End If
    Next
    ElseIf flag = 2 Then
    Set Qry = cdb.QueryDefs(strFile)
    strRSource = ""
    FieldCount = Qry.Fields.Count - 1
    For j = 0 To FieldCount
    If Len(strRSource) = 0 Then
    strRSource = Qry.Fields(j).NAME
    Else
    strRSource = strRSource & ";" & Qry.Fields(j).NAME
    End If
    Next
    End If

    Me.FldList.RowSource = strRSource
    End If

    cmdNext_Click_Exit:
    Exit Sub

    cmdNext_Click_Err:
    MsgBox Err & ": " & Err.Description, , "cmdNext_Click"
    Resume cmdNext_Click_Exit
    End Sub



    Private Sub FilesList_NotInList(NewData As String, Response As Integer)
    'Not in List
    End Sub

    Private Sub Form_Load()
    Dim strRSource As String, FList As ComboBox
    Dim cdb As Database, MaxTables As Integer, rst As Recordset
    Dim Tbl As TableDef, Qry As QueryDef, fld As Field
    Dim j As Integer, strSQL1 As String, rstcount As Integer
    Dim MaxSeq As Integer, mMax

    On Error Resume Next

    strSQL1 = "SELECT MSysObjects.Name " _
    & "FROM MSysObjects " _
    & "WHERE (((MSysObjects.Type)=1 Or (MSysObjects.Type)=5) " _
    & "AND ((Left([Name],4))<>'WizQ') AND ((Left([Name],1))<>'~') " _
    & "AND ((MSysObjects.Flags)=0)) " _
    & "ORDER BY MSysObjects.Type, MSysObjects.Name; "

    mMax = 100
    DoCmd.Restore

    DarkBlue = 8388608
    twips = 1440

    Set cdb = CurrentDb
    Set Qry = cdb.QueryDefs("WizQuery")
    If Err = 3265 Then
    Set Qry = cdb.CreateQueryDef("WizQuery")
    Qry.sql = strSQL1
    cdb.QueryDefs.Append Qry
    cdb.QueryDefs.Refresh
    Err.Clear
    End If

    Me.FilesList.RowSource = "WizQuery"
    Me.FilesList.Requery

    Form_Open_Exit:
    Exit Sub

    Form_Open_Err:
    MsgBox Err & ": " & Err.Description, , "Form_Open"
    Resume Form_Open_Exit
    End Sub

    Private Sub cmdLeft_Click()
    LeftAll 1
    End Sub

    Private Sub cmdLeftAll_Click()
    LeftAll 2
    End Sub
    Private Sub cmdright_Click()
    RightAll 1
    End Sub

    Private Sub cmdRightAll_Click()
    RightAll 2
    End Sub

    Public Function Tabular()
    Dim cdb As Database, FldList() As String, Ctrl As Control
    Dim Rpt As Report, lngTxtLeft As Long, lngTxtTop As Long, lngTxtHeight As Long
    Dim Rpttemp As Report, lngLblleft As Long, lngLblTop As Long, lngLblheight As Long
    Dim lngtxtwidth As Long, lnglblwidth As Long, FldCheck As Boolean
    Dim strTblQry As String, intflds As Integer, lstcount As Long
    Dim RptFields As ListBox, j As Integer, mMax
    Dim PgSection As Section, DetSection As Section

    'Create Report with Selected Fields

    On Error Resume Next

    Set RptFields = Me.SelList
    lstcount = RptFields.listcount

    If lstcount = 0 Then
    MsgBox "Fields Not Selected for Report! "
    Exit Function
    Else
    lstcount = lstcount - 1
    End If

    ReDim FldList(0 To lstcount) As String

    Set cdb = CurrentDb
    Set Rpt = CreateReport
    Set PgSection = Rpt.Section(acPageHeader)
    PgSection.Height = 0.6667 * twips

    Set DetSection = Rpt.Section(acDetail)
    DetSection.Height = 0.1667 * twips

    For j = 0 To lstcount
    FldList(j) = RptFields.ItemData(j)
    Next

    With Rpt
    .Caption = strFile
    .RecordSource = strFile

    lngtxtwidth = 0.5 * twips
    lngTxtLeft = 0.073 * twips
    lngTxtTop = 0
    lngTxtHeight = 0.1668 * twips

    lnglblwidth = lngtxtwidth
    lngLblleft = lngTxtLeft
    lngLblTop = 0.5 * twips
    lngLblheight = lngTxtHeight
    End With

    For j = 0 To lstcount
    Set Ctrl = CreateReportControl(Rpt.NAME, acTextBox, acDetail, , FldList(j), lngTxtLeft, lngTxtTop, lngtxtwidth, lngTxtHeight)
    With Ctrl
    .ControlSource = FldList(j)
    .ForeColor = DarkBlue
    .BorderColor = DarkBlue
    .BorderStyle = 1
    .NAME = FldList(j)
    lngTxtLeft = lngTxtLeft + (0.5 * twips)
    End With

    Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , FldList(j), lngLblleft, lngLblTop, lnglblwidth, lngLblheight)
    With Ctrl
    .Caption = FldList(j)
    .NAME = FldList(j) & " Label"
    .Width = (0.5 * twips)
    .ForeColor = DarkBlue
    .BorderColor = DarkBlue
    .BorderColor = 0
    .BorderStyle = 1
    .FontWeight = 700 ' Bold
    lngLblleft = lngLblleft + (0.5 * twips)
    End With
    Next

    lnglblwidth = 4.5 * twips
    lngLblleft = 0.073 * twips
    lngLblTop = 0.0521 * twips
    lngLblheight = 0.323 & twips
    lnglblwidth = 4.5 & twips
    Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , "Head1", lngLblleft, lngLblTop, lnglblwidth, lngLblheight)
    With Ctrl
    .Caption = strFile
    .TextAlign = 2
    .Width = 4.5 * twips
    .Height = 0.38 * twips
    .ForeColor = DarkBlue
    .BorderStyle = 0
    .BorderColor = DarkBlue
    .FontName = "Times New Roman"
    .FontSize = 16
    .FontWeight = 700 ' Bold
    .FontItalic = True
    .FontUnderline = True
    End With
    On Error GoTo Tabular_Err

    Page_Footer Rpt

    DoCmd.OpenReport Rpt.NAME, acViewPreview

    Tabular_Exit:
    Exit Function

    Tabular_Err:
    MsgBox Err.Description, , "Tabular"
    Resume Tabular_Exit
    End Function

    Public Function Columns()
    Dim cdb As Database, FldList() As String, Ctrl As Control
    Dim Rpt As Report, lngTxtLeft As Long, lngTxtTop As Long, lngTxtHeight As Long
    Dim lngLblleft As Long, lngLblTop As Long, lngLblheight As Long
    Dim lngtxtwidth As Long, lnglblwidth As Long, FldCheck As Boolean
    Dim strTblQry As String, intflds As Integer, lstcount As Long
    Dim FrmFields As ListBox, j As Integer, mMax
    Dim HdSection As Section, DetSection As Section

    'Create Report with Selected Fields

    On Error Resume Next

    Set FrmFields = Me.SelList
    lstcount = FrmFields.listcount

    If lstcount = 0 Then
    MsgBox "Fields Not Selected for Report! "
    Exit Function
    Else
    lstcount = lstcount - 1
    End If

    ReDim FldList(0 To lstcount) As String

    Set cdb = CurrentDb
    Set Rpt = CreateReport

    Set HdSection = Rpt.Section(acPageHeader)
    HdSection.Height = 0.6667 * twips

    Set DetSection = Rpt.Section(acDetail)
    DetSection.Height = 0.166 * twips

    For j = 0 To lstcount
    FldList(j) = FrmFields.ItemData(j)
    Next

    With Rpt
    .Caption = strFile
    .RecordSource = strFile
    lngtxtwidth = 1.5 * twips
    lngTxtLeft = 1.1 * twips
    lngTxtTop = 0.0417 * twips
    lngTxtHeight = 0.2181 * twips

    lnglblwidth = lngtxtwidth
    lngLblleft = 0.073 * twips
    lngLblTop = 0.0417 * twips
    lngLblheight = 0.2181 * twips
    End With

    For j = 0 To lstcount

    Set Ctrl = CreateReportControl(Rpt.NAME, acTextBox, acDetail, , FldList(j), lngTxtLeft, lngTxtTop, lngtxtwidth, lngTxtHeight)
    With Ctrl
    .ControlSource = FldList(j)
    .FontName = "Verdana"
    .FontSize = 8
    .FontWeight = 700
    .ForeColor = DarkBlue
    .BorderColor = DarkBlue
    .NAME = FldList(j)
    .BackColor = RGB(255, 255, 255)
    .BorderStyle = 1
    .SpecialEffect = 0
    If (j / 9) = 1 Or (j / 9) = 2 Or (j / 9) = 3 Then
    lngTxtTop = (0.0417 * twips)
    lngTxtLeft = lngTxtLeft + (2.7084 * twips)
    Else
    lngTxtTop = lngTxtTop + .Height + (0.1 * twips)
    End If
    End With

    Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acDetail, FldList(j), FldList(j), lngLblleft, lngLblTop, lnglblwidth, lngLblheight)
    With Ctrl
    .Caption = FldList(j)
    .Height = (0.2181 * twips)
    .NAME = FldList(j) & " Label"
    .Width = twips
    .ForeColor = 0
    .BorderStyle = 0
    .FontWeight = 400
    If (j / 9) = 1 Or (j / 9) = 2 Or (j / 9) = 3 Then
    lngLblTop = (0.0417 * twips)
    lngLblleft = lngLblleft + (2.7083 * twips)
    Else
    lngLblTop = lngLblTop + .Height + (0.1 * twips)
    End If
    End With
    Next

    lnglblwidth = 4.5 * twips
    lngLblleft = 0.073 * twips
    lngLblTop = 0.0521 * twips
    lngLblheight = 0.323 & twips
    lnglblwidth = 4.5 & twips
    Set Ctrl = CreateReportControl(Rpt.NAME, acLabel, acPageHeader, , "Head1", lngLblleft, lngLblTop, lnglblwidth, lngLblheight)
    With Ctrl
    .Caption = strFile
    .TextAlign = 2
    .Width = 4.5 * twips
    .Height = 0.38 * twips
    .ForeColor = DarkBlue
    .BorderStyle = 0
    .BorderColor = DarkBlue
    .FontName = "Times New Roman"
    .FontSize = 20
    .FontWeight = 700 ' Bold
    .FontItalic = True
    .FontUnderline = True
    End With

    DoCmd.OpenReport Rpt.NAME, acViewPreview

    Columns_Exit:
    Exit Function

    Columns_Err:
    MsgBox Err.Description, , "Columns"
    Resume Columns_Exit
    End Function

    Public Function Page_Footer(ByRef obj)
    Dim lngWidth As Long, ctrwidth As Long, ctrlCount As Long
    Dim j As Long, cdb As Database
    Dim lngleft As Long, lngtop As Long, LineCtrl As Control, Ctrl As Control
    Dim rptSection As Section, leftmost As Long, lngheight As Long
    Dim rightmost As Long, RightIndx As Integer
    '
    'Note : The Controls appearing in Detail Section from left to Right
    ' is not indexed 0 to nn in the order of placing,
    ' instead 1st control placed in the Section has index value 0
    ' irrespective of its current position.
    '
    'On Error GoTo Page_Footer_Err

    Set cdb = CurrentDb
    Set rptSection = obj.Section(acDetail)

    ctrlCount = rptSection.Controls.Count - 1

    lngleft = rptSection.Controls(0).Left
    rightmost = rptSection.Controls(0).Left
    'indexed 0 control may not be the leftmost control on the Form/Report
    'so find the leftmost control's left value
    For j = 0 To ctrlCount
    leftmost = rptSection.Controls(j).Left

    If leftmost < lngleft Then
    lngleft = leftmost
    End If
    If leftmost > rightmost Then
    rightmost = leftmost
    RightIndx = j
    End If
    Next

    lngtop = 0.0208 * 1440
    lngWidth = 0: ctrwidth = 0

    lngWidth = rightmost + rptSection.Controls(RightIndx).Width
    lngWidth = lngWidth - lngleft

    Set LineCtrl = CreateReportControl(obj.NAME, acLine, acPageFooter, "", "", lngleft, lngtop, lngWidth, 0)
    Set Ctrl = LineCtrl
    LineCtrl.BorderColor = 12632256
    LineCtrl.BorderWidth = 2
    LineCtrl.NAME = "ULINE"

    lngtop = 0.0418 * 1440
    lngleft = LineCtrl.Left
    lngWidth = 2 * 1440
    lngheight = 0.229 * 1440

    'draw PageNo control at the Report footer
    Set LineCtrl = CreateReportControl(obj.NAME, acTextBox, acPageFooter, "", "", lngleft, lngtop, lngWidth, lngheight)
    With LineCtrl
    .ControlSource = "='Page : ' & [page] & ' / ' & [pages] "
    .NAME = "PageNo"
    .FontName = "Verdana"
    .FontSize = 10
    .FontWeight = 700
    .TextAlign = 1
    End With
    'draw Date Control at the right edge of the Line Control
    'calculate left position of Date control

    lngleft = (LineCtrl.Left + Ctrl.Width) - lngWidth
    Set LineCtrl = CreateReportControl(obj.NAME, acTextBox, acPageFooter, "", "", lngleft, lngtop, lngWidth, lngheight)
    With LineCtrl
    .ControlSource = "='Date : ' & Format(Date(),'dd/mm/yyyy') "
    .NAME = "Dated"
    .FontName = "Verdana"
    .FontSize = 10
    .FontWeight = 700
    .TextAlign = 3
    End With

    Page_Footer_Exit:
    Exit Function

    Page_Footer_Err:
    MsgBox Err.Description, "Page_Footer"
    Resume Page_Footer_Exit
    End Function

    Private Function RightAll(ByVal SelectionType As Integer)
    Dim FldList As ListBox, SelctList As ListBox, strRSource As String
    Dim listcount As Long, j As Long, strRS2 As String

    On Error GoTo RightAll_Err
    If SelectionType = 0 Then
    Exit Function
    End If
    Set FldList = Me.FldList
    Set SelctList = Me.SelList

    listcount = FldList.listcount - 1
    strRSource = SelctList.RowSource: strRS2 = ""

    Select Case SelectionType
    Case 1
    For j = 0 To listcount
    If FldList.Selected(j) = True Then
    If Len(strRSource) = 0 Then
    strRSource = FldList.ItemData(j)
    Else
    strRSource = strRSource & ";" & FldList.ItemData(j)
    End If
    Else
    If Len(strRS2) = 0 Then
    strRS2 = FldList.ItemData(j)
    Else
    strRS2 = strRS2 & ";" & FldList.ItemData(j)
    End If
    End If
    Next
    SelctList.RowSource = strRSource
    FldList.RowSource = strRS2
    SelctList.Requery
    FldList.Requery
    Case 2

    For j = 0 To listcount
    If Len(strRSource) = 0 Then
    strRSource = FldList.ItemData(j)
    Else
    strRSource = strRSource & ";" & FldList.ItemData(j)
    End If
    Next
    SelctList.RowSource = strRSource
    FldList.RowSource = ""
    SelctList.Requery
    FldList.Requery
    End Select

    RightAll_Exit:
    Exit Function

    RightAll_Err:
    MsgBox Err.Description, , "RightAll"
    Resume RightAll_Exit
    End Function


    Private Function LeftAll(ByVal SelectionType As Integer)
    Dim FldList As ListBox, SelctList As ListBox, strRSource As String
    Dim listcount As Long, j As Long, strRS2 As String

    On Error GoTo LeftAll_Err

    If SelectionType = 0 Then
    Exit Function
    End If

    Set FldList = Me.FldList
    Set SelctList = Me.SelList

    listcount = SelctList.listcount - 1
    strRSource = FldList.RowSource: strRS2 = ""

    Select Case SelectionType
    Case 1
    For j = 0 To listcount
    If SelctList.Selected(j) = True Then
    If Len(strRSource) = 0 Then
    strRSource = SelctList.ItemData(j)
    Else
    strRSource = strRSource & ";" & SelctList.ItemData(j)
    End If
    Else
    If Len(strRS2) = 0 Then
    strRS2 = SelctList.ItemData(j)
    Else
    strRS2 = strRS2 & ";" & SelctList.ItemData(j)
    End If
    End If
    Next
    SelctList.RowSource = strRS2
    FldList.RowSource = strRSource
    SelctList.Requery
    FldList.Requery
    Case 2
    For j = 0 To listcount
    If Len(strRSource) = 0 Then
    strRSource = SelctList.ItemData(j)
    Else
    strRSource = strRSource & ";" & SelctList.ItemData(j)
    End If
    Next
    SelctList.RowSource = ""
    FldList.RowSource = strRSource
    SelctList.Requery
    FldList.Requery
    End Select

    LeftAll_Exit:
    Exit Function

    LeftAll_Err:
    MsgBox Err.Description, , "LeftAll"
    Resume LeftAll_Exit

    End Function


  9. Open the ReportWizard in Normal View.

  10. Select a Table or Query from the Combo Box.

  11. Select Tabular Wizard option from above.

  12. Click OK to load the selected Table/Query Field List and open the List of Fields.

  13. Select the Fields for the Report from the List Box.

  14. Click Finish to create the Report.


Normally, after creating the Report we need to modify the Detail Section Controls to make their sizes according to the data type and field sizes. After these changes the Report Footer created by the Wizard may not match with the modification that we have made. But, we already have a solution for this in an earlier Post with the Title: Draw Page Border. One of the following two Programs presented there can be used for drawing a new Page Footer (after deleting the existing Page Footer) or to resize it after changes made to the Detail Section Controls.


  1. DrawPageFooter()

  2. ReSizePageFooter()


There are other Reports related Functions also presented there to make Report Designing tasks easier. You may take a look at them as well.


You can create beautiful 3D Headings on the Report or Form with Labels or Text Boxes (Text Box values can be drawn from data Fields). Take a look at the sample Report Headings created with a 3D-Text Creation Wizard:


3D Headings for Access Report

The following four Posts are dedicated for 3D Text Styles and you can download the 3D-Text Wizard from any of them:


  1. Create 3D Headings on Forms

  2. Border 2D Heading Text

  3. Border 3D Heading

  4. Shadow 3D Heading Style


After creating the 3D-Text you can customize it by changing the Fonts, Fore-Color and Styles like Bold, Italics or Underline.


StumbleUpon Toolbar


Download - File: ReportWizard.zip (Size:105K)





Wave Shaped Reminder Ticker
No Data and Report Error
Lost Links of External Tables
Link External Tables with VBA
Source Connect Str Property and ODBC

Labels:

0 Comments:

Post a Comment

Note:Comments subject to Review by Blog Author before displaying.

Links to this post:

Create a Link

<< Home


Creative Commons License
Learn MS-Access Tips and Tricks by msaccesstips.com is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 India License.



This Page is best viewed with 1280 x 1024 Resolution

   FEATURED LINKS
SITEMAP
Command Button Animation
3D Headings on Forms
MsgBox & Office Assistant
Reminder Ticker
MS-Access & E-Mails
Automated E-Mail Alerts
MsgBox with Options Menu
Colorful Command Buttons
Configure Lotus Notes
Alerts through Network
Running this site has become a costly affair as the revenue from Ads is not sufficient to support it. If you find these pages informative & useful and would like to extend a helping hand, then please do it here.





Link Back to us with this Button

Learn MS-Access

Copy and Paste this HTML Code in your Webpage


Add to Technorati Favorites

Programming Blogs - Blog Catalog Blog Directory
Powered by FeedBurner
Add to Google

Software
Computers blogs
TopOfBlogs




AddMe - Search Engine Optimization Submit Your Site Free!
Go BlogZ Ave Blogs
eBlogzilla Changing LINKS
LS Blogs Blogarama
blog search directory BlogUniverse
Find Blogs in Directory RSS Directory
blogskinny.com ShowcaseBlogs.com
Amfibi

Search Engine Optimization and SEO Tools
Dmegs Web Directory Takeaway for Sale Businesses For Sale
Free Submission Directory Free site submission

Free Listing
 





Free Page Rank Checker

AddThis Social Bookmark Button

Enter your email address:

Delivered by FeedBurner



Top Blogs


Microsoft Access is the Jewell among MS-Office suite of Applications. Its Security features are excellent and works fine in Network environment. MS-Access can link/upload data from any Data Source. Applications that you design should be user-friendly and visually pleasing too. Here I would like to share my experience in Microsoft Access Programming with you and I am sure that you will find them interesting too.

My Photo
Name: Ramachandran Pillai
Location: Cochin, India

I am not an Access Guru and not through MS-Access yet. More to learn and I don’t think that aspect has any end because others have their own style of using this tool. We can learn lot more tricks, other than what we already know, from others too. My programming skills in COBOL, BASIC, Turbo-C, dBase, FoxPro, Visual Basic & Basic HTML attained through self-learning. I wrote my first COBOL Program in 1975 for ICL1901, 3rd Generation Main Frame Computer. Worked as a Computer Operator (NCR VRX8555 Mainframe Machine upto 1990) with M/s. Y.B.A. Kanoo, Saudi Arabia. Started using MS-Access Ver.2 in 1996, when dBase III+ and Foxbase (later version Foxpro) were my favorite DBMS. During Last 13 Year period I have developed more than 45 In-House Applications (medium & small) under MS-Access for our Organization, a leading Automotive Company in Oman. All the Applications are fully Secured and runs under Windows Network. It is my pleasure to share my experience with others. Anything interesting that you would like to share with me, please do. My E-mail Address: aprpillai@msaccesstips.com


If you need a Demo of any of the Topic explained here, send me an E-mail to: aprpillai@msaccesstips.com
with the Topic Description, I shall try to send a sample database to you.


Access Tips | Email | Reports | Report Tricks | Graphs | Forms | Menus | Animation | Security | Internet | How TOs | Linking | Query | Progress Meter | Alerts | Process Tips | Access Functions |




Site Designed by:www.msaccesstips.com