FoxPro eMail Newsletter

-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@CPCUG.ORG] On Behalf Of Peg Ireland
Sent: Monday, May 04, 1998 1:35 PM
To: CPCUGBOD-L@CPCUG.ORG
Subject: Correction to Minutes & tonight's Agenda


I have added Lynne Sturtz to the list of attendees in the Corrected
Minutes for the April 6, 1998 Meeting.

------------------------

CPCUG BOD Meeting             May 4, 1998        Proposed Agenda

1. Agenda Approval

2. Approval of the Minutes of the prior Meeting (April 6, 1998)

3. Officer's Report (brief reports 3 minutes or less)

4. Installation of Treasurer

5. Facilities Report

6. Unfinished Business

7. New Business

8. Good and Welfare (Matters Arising)

9. Adjournment

From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Thursday, April 16, 1998 3:46 AM
To:	Rick@CICorp.com
Subject:	Re: FW: Latest Status on 51 Monroe ST PE2

I spoke with Harold Motin of CPCUG (Training Coordinator).  Training for
and at CPCUG has been "put on hold" until perhaps June.  This means all
the scheduled classes that we see in the Monitor are either cancelled or
the instructor may opt to hold the class elsewhere.  Most are cancelled.

Lillian is working on a new site for SIG mtgs., etc.  I will keep you
updated if I hear anything sooner than you do.  

Thank you for forwarding this message to me.

Nancy L>

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	Barbara Conn [bconn@cpcug.org]
Sent:	Tuesday, April 07, 1998 10:44 AM
To:	McGinn, Mike
Cc:	Rick Shaddock
Subject:	RE: APC & Cipher Logics at CPCUG


On Tue, 7 Apr 1998, McGinn, Mike wrote:

> > Barbara:
> > 
> > Your previous message included the FoxPro Sig. Is it also at NIH? In
> > Lipsett, Masur, the cafeteria?
> > 
> > 
> > Monday, April 13, 1998, CPCUG Activities
> > ==========================================
> > 
> > 7:00 pm HOW TO BEAT POWER PROBLEMS; APC
> > 8:00 pm SECUREWIN, Security for Your Computers; Cipher Logics
> > 9:15 pm "Late Night"
> > 9:15 pm FoxPro SIG
> > General Meeting                           NIH      FREE

Yes, FoxPro Sig meets in the cafeteria after the General Meeting.
Occasionally its meetings have been canceled--it's probably a good
idea to check with its SIG chair Rick Shaddock if you are planning on
attending your first meeting of FoxPro SIG.  His phone number is
703-486-2222 (d) and e-mail is rick@cicorp.com.

Barbara Conn * bconn@cpcug.org * http://www.cpcug.org/user/comm/          
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  Director of Corporate Communications * Capital PC User Group    




From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Monday, April 06, 1998 10:25 PM
To:	Rick@CICorp.com
Subject:	Re: FW:      Corrected March Minutes

I could not make this meeting after all tonight.  I do have contact with
members of the Board of Directors however,  so I can relay any info. you
may have.  I'll let you know how the new location is.

Nancy L.
    

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Monday, April 06, 1998 10:20 PM
To:	Rick@CICorp.com
Subject:	Re: FW:      ZD Support Service Conference-Expo Apr.19-24

Where is this located?  I try to attend these conferences to keep up with
the technology.  Can you send me a ticket if its within the metro area?

Nancy L.

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Thursday, March 19, 1998 7:45 PM
To:	RShaddock@telegroup.com
Subject:	FoxPro SIG and Wire

I will represent us via "being there for the FoxPro SIG on April 6 at
9:15pm.  Is there something you need me to cover for you?  Or...bring to
the SIG....???
Are you still holding your Sunday meetings?  2:00pm Crystal???

Nancy L.

_____________________________________________________________________

From:	Yeargin. Michael, , AFAA/DOVS [yeargin@af.pentagon.mil]
Sent:	Wednesday, March 18, 1998 8:10 AM
To:	'Rick@cicorp.com'
Subject:	No Headers In Multiple Reports on 2nd Pages

Rick,
	I'm a CPCUG member. I wonder if you can help me with a mild
problem. I have a main report with multiple sub-reports. My problem is
that I cannot get the page headers to print on continuous pages when the
information expands to a second page. When I put the headers in the
Report Header it's OK on the 1st page and not there on page 2. When I
put the headers in the page header they do not show up at all. What am I
doing wrong.

Michael Yeargin
w- 703-696-8161
h- 301-218-8247
From:	gmclennan [gmclennan@smmg.com]
Sent:	Wednesday, March 18, 1998 8:50 AM
To:	Rick@CICorp.com
Subject:	MAAUG

It looks like MAAUG is having second thoughts about linking up with
another user group. They have decided to stay independent.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)


Thanks.
RickFrom:	Les Squires [lsquires@wj.WJI.COM]
Sent:	Monday, March 16, 1998 9:38 AM
To:	Rick@CICorp.com
Subject:	  AC398: FoxPro Email Newsletter

---------------------------------------------------------------
Member:      Rick Shaddock, Crystal City Maryland USA
Subs ON/off: ACCE clip FOXP sqlw it vdb WJI
Jobs ON/off: acce actx c++ clip cobol cfusion cryst dbase delph
             dmodel docmgt domino dware edp fox glob it java
             notes novell nt oracle pb perl sqa sqls sqlw syba
             unix vb vdb vconf warp webd webs y2k

---------------------------------------------------------------
Hi again, Rick!

Have you helped spread the word about FoxPro JobsExpress?
Don't wait til the well is dry . . .

Les

-----------------------------------------------------------------------
-----------------------------------------------------------------------
FoxPro Email Newsletter                                     March, 1998
A Service of the World Wide Developer Network             Vol. 6  No. 2
http://www.wji.com/FoxPro/homepage.html              ftp.wji.com/FoxPro
-----------------------------------------------------------------------
 1. Editor's Note  
 2. Formatting Number Fields When Using DoCmd.TransferText
 3. Maximizing the Amount of Controls on Reports and Forms
 4. The FoxPro Web
 5. Checking Usage on Back-end Database
 6. Allowing Single Subform to Replace Multiple Layered Subforms
 7. Attaching Tables on The Fly
 8. FoxPro to Visual Basic Object Converter ( Version 8.0 )
 9. Sharing Code Dynamically Among FoxPro 97 Apps
10. Using GetSet Functions in Queries
12. Establishing a 'ToDo' Function for Client Viewing
13. Querying Multiple Items in a List Box
14. From the Publisher
-----------------------------------------------------------------------
 1. Editor's Note  
    -------------------------------------------------------------------
    ReplyTo: Phil Denoncourt III, Senior Editor 

    Hello everyone!

    The smells of spring are in the air.  Time to emerge from our 
    keyboards and experience life again.  Before you abandon your 
    winter's work, don't forget to submit the tips and tricks you 
    discovered!

    We've had a lot of great code submitted over the last month.  We 
    love it!  But we need more.  Does anyone have more tips and tricks 
    about replication, security, ODBC direct or other topics that make 
    FoxPro developers wince?

    For those of us who are always looking for another opportunity, make 
    sure you've visited www.wji.com and signed up for the JobsExpress 
    feature.  Tons of opportunities have been advertised through here.

    Thanks for keeping the good content coming.


 2. Formatting Number Fields When Using DoCmd.TransferText
    -----------------------------------------------------------------------
    ReplyTo: Shamil M. Salakhetdinov  
    URL:     http://www.wji.com/FoxPro/w0753.html

    Public Function smsTransferText(ByVal vstrTblName As String, _
                    ByVal vstrTransferToFullPath As String, _
                    Optional ByRef rvarDbs As Variant = Nothing, _
                    Optional ByVal vblnUseODBC As Boolean = False) As Boolean
    '*+
    ' Public domain. Written by Shamil Salakhetdinov. DARTS Ltd.,
    '                           St.Petersburg, Russia
    '                           e-mail: shamil@marta.darts.spb.ru
    '
    ' Abstract:
    '
    ' It seems that MS FoxPro 97 uses current locale settings to round
    ' Double, Single and Currency numbers when data are exported by
    ' DoCmd.TransferText ...
    '
    ' This function wraps up DoCmd.TransferText.  It formats Double,
    ' Single and Currency numbers using field's DecimalPlaces property
    ' creating temporary format and export queries. Then it uses export
    ' query in DoCmd.TransferText to export data into target delimited
    ' text file.
    '
    ' This function also shows different (advanced) code techniques used
    ' to process DAO objects, ODBC datasources and optional arguments.
    '
    '  Note: Single, Double and Currency numbers exported by this
    '  function are enclosed in Text Qualifier chars (usually double
    '  quotes - Asc("""") = 34) - this isn't a problem for MS FoxPro 97
    '  to export them back correctly.
    '
    ' Arguments:
    '
    '  vstrTblName - table name to export
    '  vstrTransferToFullPath - file path to export
    '  rvarDbs - (optional) database object reference of opened 
    '        database, MS FoxPro .mdb file path or ODBC connect string
    '  vblnUseODBC - use linked ODBC datasource if True. Should be 
    '               always true if rvarDbs is ODBC connect string
    '
    ' Returns:
    '
    '   True - if export is OK
    '   False and error message box if export failed
    '
    ' Examples:
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_Acc97.txt"
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_Acc97.txt",Codedb()
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_Acc97.txt", _ 
    '    CodeDB().name
    '
    ' strODBC = "ODBC;DSN=DAISY;DATABASE=DAISY"
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_SQL.txt", _
    '                 strODBC, True
    '
    ' strODBC = "Excel 5.0;HDR=YES;IMEX=2;" & _
    '           "DATABASE=C:\daisy\Temp\Table1.xls;" & _ 
    '           "TABLE=Table1$"
    '
    ' smsTransferText "Table1", _
    '                 "c:\daisy\temp\Table1_XLS.txt", strODBC, True
    '
    ' strODBC = "dBase 5.0;HDR=NO;IMEX=2;" & _
    '           "DATABASE=C:\daisy\Temp;TABLE=Table1#dbf"
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_dBase.txt", _
    '                  strODBC, True
    '
    ' strODBC = "FoxPro 2.0;HDR=NO;IMEX=2;" & _
    '           "DATABASE=C:\daisy\Temp;TABLE=Table1f#dbf"
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_Fox.txt", strODBC, True
    '
    ' strODBC = "HTML Import;HDR=NO;IMEX=2;" & _
    '           "DATABASE=C:\daisy\Temp\Table1.html;TABLE=Table1"
    '
    ' smsTransferText "Table1", "c:\daisy\temp\Table1_HTML.txt", _
    '                  strODBC, True
    '*-

    On Error GoTo smsTransferText_Err
    
    Dim dbs As Database
    Dim dbsCode As Database
    Dim tdf As TableDef
    Dim qdf As QueryDef
    Dim fld As Field
    Dim strTblName As String
    Dim strFormat As String
    Dim intDecPlaces As Integer
    Dim strSqlFormat As String
    Dim strSqlExport As String
    Dim strFormatQryName As String
    Dim strExportQryName As String
    Dim strInDbs As String
    Dim strLinkedTblName As String
    
    If TypeName(rvarDbs) = "Nothing" Then
        Set dbs = CodeDb()
        strInDbs = ";Database=" & dbs.Name
    ElseIf TypeName(rvarDbs) = "Database" Then
        Set dbs = rvarDbs
        strInDbs = ";Database=" & dbs.Name
    Else
        If vblnUseODBC Then
            'Use temporary linked table instead of directly opened 
            'ODBC source
            Set dbs = DBEngine(0).OpenDatabase("ExportDBS", _
                      dbDriverNoPrompt, True, rvarDbs)
            Set dbs = Nothing
            strInDbs = rvarDbs
        Else
            Set dbs = DBEngine(0).OpenDatabase(rvarDbs, , True)
            strInDbs = ";Database=" & dbs.Name
        End If
    End If
    
    Set dbsCode = CodeDb()
    
    strLinkedTblName = ""
    If vblnUseODBC Then
        strLinkedTblName = "zttbl" & vstrTblName & "_ToExport"
        On Error Resume Next
        dbsCode.TableDefs.Delete strLinkedTblName
        On Error GoTo smsTransferText_Err
        Set tdf = dbsCode.CreateTableDef(strLinkedTblName)
        tdf.Connect = rvarDbs
        tdf.SourceTableName = vstrTblName
        dbsCode.TableDefs.Append tdf
    Else
        Set tdf = dbs.TableDefs(vstrTblName)
    End If
    
    strSqlFormat = " select "
    strSqlExport = " select "
    
    For Each fld In tdf.Fields
       strFormat = ""
       
       Select Case fld.Type
        Case dbDouble, dbSingle, dbCurrency:
            On Error Resume Next
            intDecPlaces = fld.Properties("DecimalPlaces")
            If Err <> 0 Then
               strFormat = "General Number"
            Else
               Select Case fld.Properties("DecimalPlaces")
               Case 255: ' Auto
               Case Else: strFormat = "0." & _
                    String(CLng(fld.Properties("DecimalPlaces")),"0")
               End Select
            End If
            On Error GoTo smsTransferText_Err
        
        Case dbGUID:
            strFormat = "GUID"
        Case Else
        End Select
        
        If strFormat = "" Then
            strSqlFormat = strSqlFormat & "[" & fld.Name & "],"
            strSqlExport = strSqlExport & "[" & fld.Name & "],"
        ElseIf strFormat = "GUID" Then
            strSqlFormat = strSqlFormat & """{guid "" & _
                           CStr([" & fld.Name & "]) & ""}""" & _
                           " as [" & fld.Name & "_Formatted],"
            strSqlExport = strSqlExport & "[" & fld.Name & _
                           "_Formatted] as [" & fld.Name & "],"
        Else
            strSqlFormat = strSqlFormat & "Format([" & _
                           fld.Name & "],""" & strFormat & """) _
                           as [" & fld.Name & "_Formatted],"
            strSqlExport = strSqlExport & "[" & fld.Name & _
                           "_Formatted] as [" & fld.Name & "],"
       End If
       Next
    
       'Use temporary linked table instead of 'in' clause
       'strSqlFormat = Left(strSqlFormat, Len(strSqlFormat) - 1) & _
       '             " from [" & vstrTblName & "] in '' [" & strInDbs & "]"
       If vblnUseODBC Then
            strSqlFormat = Left(strSqlFormat, Len(strSqlFormat) - 1) & _
                      " from [" & strLinkedTblName & "]"
       Else
            strSqlFormat = Left(strSqlFormat, Len(strSqlFormat) - 1) & _
                      " from [" & vstrTblName & "]"
       End If
   
       strSqlExport = Left(strSqlExport, Len(strSqlExport) - 1) & _
                      " from [ztqry" & vstrTblName & "_Formatted]"
   
       On Error Resume Next
       strFormatQryName = "ztqry" & vstrTblName & "_Formatted"
       dbsCode.QueryDefs.Delete strFormatQryName
       Set qdf = dbsCode.CreateQueryDef(strFormatQryName, strSqlFormat)
       
       strExportQryName = "ztqry" & vstrTblName & "_ToExport"
       dbsCode.QueryDefs.Delete strExportQryName
       Set qdf = dbsCode.CreateQueryDef(strExportQryName, strSqlExport)
       On Error GoTo smsTransferText_Err
       
       DoCmd.TransferText acExportDelim, , strExportQryName, 
                          vstrTransferToFullPath, True
       
       On Error Resume Next
       dbsCode.QueryDefs.Delete strFormatQryName
       dbsCode.QueryDefs.Delete strExportQryName
       dbsCode.TableDefs.Delete strLinkedTblName
       On Error GoTo smsTransferText_Err
       smsTransferText = True

    smsTransferText_Exit:
        Set fld = Nothing
        Set tdf = Nothing
        Set qdf = Nothing
        Set dbs = Nothing
        Set dbsCode = Nothing
        
        Exit Function
    smsTransferText_Err:
        MsgBox "smsTransferText: " & Err & _
               " - " & Err.Description, vbOKOnly
        smsTransferText = False
        Resume smsTransferText_Exit
    End Function


 3. Maximizing the Amount of Controls on Reports and Forms
    -----------------------------------------------------------------------
    ReplyTo: Michael M. Myers  
    URL:     http://www.wji.com/FoxPro/w0710.html

    A report or form is limited to a maximum amount of 754 controls. My 
    report had 220 visible controls. However, I had created the report 
    by cutting and copying columns of textboxes to a temporary report, 
    using Speed Ferret to rename and update various textbox properties, 
    and copying the changes back into my report. In the process I had 
    cut and copied numerous groups of textboxes in and out of the 
    report.

    Apparently, when you cut an control from a report, it does not 
    reduce the count of controls. So even though the actual count of 
    current controls in the controls collection was 220, the hidden 
    count was much greater -- I had exceeded the 754 control limit!

    To resolve the problem, I copied the controls and code to a new and 
    empty report with a different name, deleted the report, 
    repaired/compacted the database, and renamed the temporary report to 
    the original report name.  The 754 control limit also applies to 
    forms.


 4. The FoxPro Web
    -----------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w0751.html
    URL:     http://home.att.net/~dashish"       //-The FoxPro Web

    The FoxPro Web is a great web site that I often recommend to FoxPro 
    developers.  

    After a long history of responding to questions on FoxPro 
    newsgroups, Dev Ashish, of AT&T's Applied Technology Labs in New 
    Jersey, has put together a website that contains an FAQ for FoxPro.  

    The site is broken into sections dealing with bugs, tables, queries, 
    forms, reports, macros, modules, strings, APIs, date/time routines, 
    and a page of essential downloads.


 5. Checking Usage on Back-end Database
    -----------------------------------------------------------------------
    ReplyTo: Stefan Gotojuch  
    URL:     http://www.wji.com/FoxPro/w0747.html
    FoxPro Versions: All

    As administrator of multi-user database applications, you need a way 
    to check if all users are logged out of shared data.  Only then can 
    you exclusively lock data and perform backups or correct an errors 
    in the system.

    I assume that all administrators warn all users about the fact that 
    they should log-off (for instance by hidden startup form method 
    described widely), but still it's necessary to check the usage.

    It's possible to check usage using the .LDB file, which contains 
    locking information for the corresponding .MDB file and is always 
    placed in same folder with .MDB.

    In FoxPro 2.0:

    The .LDB file is created when .MDB is first opened and remains even 
    if the .MDB is closed. If you delete .LDB, it will be recreated by 
    the engine while FoxProing .MDB the next time. If the front-end 
    application contains attached (linked) tables from a back-end shared 
    database, it's possible to delete .LDB.  It will be recreated only 
    when somebody needs data from the .MDB (in Edit or in Read-only 
    mode). Trying to delete .LDB when .MDB is in use generates error.

    In FoxPro 97:

    The .LDB file is created when .MDB is opened, but it's removed when 
    .MDB is closed. In the case of the front-end application with linked 
    tables, it's possible to delete .LDB file if .MDB is not in use, but 
    the engine recreates it automatically.

    The simple procedure below demonstrates how to get codes which can 
    be interpreted afterwards as: 

        x2=-1   .LDB successfully deleted, therefore .MDB not in use
        x2=53   .LDB doesn't exist, therefore .MDB not in use
        x2=75   sharing violation, therefore .MDB still in use


    ' Procedure works with both FoxPro 2.0 and FoxPro 97
    ' --------------------------------------------------

    Function x2 (mpath As String) As Integer  'mpath=path to .MDB file
      x2 = -1                           'set default value of x2
           
     On Error GoTo err_x2
      Dim lpath As String, x As String  'lpath=path to .LDB file associated
                                        ' with mpath .MDB
      lpath = Left(mpath, InStr(1, mpath, ".")) + "ldb"
        
      x = Dir(lpath)                     'Test for valid file, if not,
                                         ' then err=53
      Kill lpath                         'Test for FoxPro, if not,
                                         ' then err=75
     g_o:  On Error GoTo 0
           Exit Function
           
     err_x2: x2 = Err                    'set value of x2 as Err so you
                                         ' will know what happened
             Resume g_o
           
    End Function


    I know that this method is not very elegant, but works properly.  If 
    you need more elegant method to check if .MDB is in use, then look 
    at the WhosOn() Database by Mark Nally mailto:mnally@hartec.com.au
    published on ATTAC's web page:  
          http://ourworld.compuserve.com/homepages/attac-cg/" 
    

 6. Allowing Single Subform to Replace Multiple Layered Subforms
    -----------------------------------------------------------------------
    ReplyTo: Robert S. Ruder  
    URL:     http://www.wji.com/FoxPro/w0696.html

    I developed a dynamic interface that relied on an underlying table 
    to display a subform. 

    As a consultant, my partner keeps a custom built contact manager of 
    information about clients and the activities that surround them 
    including e-mails, tasks, faxes, computer equipment, etc.  When he 
    saw my dynamic form, he asked whether it would be possible to have a 
    dynamic subform which would display record content by type, but in a 
    consistent format so that the same subform could be used no matter 
    what summary records were to be displayed. The reasoning was that 
    this would allow for a single subform to replace the multiple 
    layered subforms or multiple form interface he was currently using.

    I realized that the process was even more simple than my system 
    tables approach. Not only that, but I could offer a reference which 
    would allow the user to double click on a record and jump directly 
    to a detail form which would represent a more complete data record.

    What follows is a description of how that process can be implemented 
    with just one line of line of code per option that you want 
    displayed.

    Step 1: Develop the Subform Concept.

    The subform is going to represent a synopsis of the data record that 
    you want to have linked to a more complete detail form. The key to 
    this synopsis is that it should contain the same number of displayed 
    fields for all the underlying tables that will be used.

    For example, I might decide that all the tables I deal with can 
    display for me the following information: Date, Description, Value. 
    I will create a subform using the following SQL Statement as its 
    RecordSource:

    "Select '' as Date, '' as Description, '' as Value from Table1".  

    This will collect blank record values from Table1 but will give me 
    the field names that I want to use to create the subform.

    Set the properties of the subform to display the subform as a 
    datasheet.


    Step 2: Define the complete SQL Statement.

    The key to this idea is that though the subform may only display 3 
    fields its RecordSource may contain additional useful pieces of 
    information, including a Primary Key value and the name of a subform 
    in which the full detail record can be displayed. Based on this, you 
    simply need to plan the basic outline of the SQL statement that will 
    satisfy the needs of the subform.

    For my example above, I would create a template SQL Statement like 
    the following:

    "Select  as Date,  as Description,  as _ 
    Value,  as PK, '' as DisplayForm From 
    "

    For each table that I want to display summary records for, all I 
    have to do is insert the appropriate field names and table name into 
    my template.


    Step 3: Create Buttons to modify the RecordSource Property of the 
    subform.

    For each possible table that you want to display, you only need to 
    take your template SQL statement and assign the statement to the 
    RecordSource property of the subform control. A sample Button might 
    look like this:

    Sub Btn1_OnClick ( )
      Me![SubfrmCtrl].Forms.RecordSource = "Select [LDate] as Date, _
      [Desc] as Description, [Cost] as Value, [ID] as PK, 'ProdFrm' _
      as DisplayForm From Products"
    End Sub

    For each table that you want displayed in the subform, create a 
    button and copy/modify.


 7. Attaching Tables on The Fly
    -----------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w0697.html
    FoxPro Version: 8.0
    Keywords: ATTACH, UNC
    ftp://ftp.wji.com/FoxPro/fsiattac.zip
    Download fsiATTAC.ZIP (12,892)

    Editor's Note.  Steal This Code!!

    Need to programmatically attach and remove tables? Or to attach 
    tables using the Universal Naming Convention (UNC)?

    This routine connects a table to a file server without mapping the 
    drive in FoxPro 2.0. It can be Upsized to any flavor of FoxPro.  Or 
    you can use it to attach locally.

    I use it to "roll through" a Table of Table names and attach them on 
    the fly. Grab the associated file fsiAttach.mdb from the ZIP file 
    available on this page to see it work.

    Function ConnectTable (sMdb, sTableName, sAsName) As Integer
    ' Call using ConnectTable("\\redserver\red-c\data\data.mdb",
    '"tblEmployees","tblEmployees")
        Dim ws As WorkSpace, db As Database
        Dim tDef As TableDef
        Dim i As Integer
        Dim ReturnValue As Integer
           
    ReturnValue = False
    On Error Resume Next
     If isFile(sMdb) Then                  ' the MDB file is here
        Set ws = DBengine.WorkSpaces(0)    ' Get default workspace.
        Set db = ws.Databases(0)           ' Get current database.
        Set tDef = db.CreateTableDef(sAsName)
        tDef.Connect = ";DATABASE=" & sMdb
        tDef.SourceTableName = sTableName
        db.TableDefs.Append tDef           ' Attach table.
        'check to see that it is here. 
        ReturnValue = IsTable(sAsName)
      Else
       MsgBox "File " & sMdb & " not found", 64, "Application Note"
       ReturnValue = False
      End If
      ws.Close
      ConnectTable = ReturnValue
    End Function


 8. FoxPro to Visual Basic Object Converter ( Version 8.0 )
    -----------------------------------------------------------------------
    ReplyTo:  Lennox F. Chambers  
    URL:      http://www.wji.com/FoxPro/w7481.html
    Versions: 7.0, 8.0
    Keywords: CONVERTER FoxPro VB
    ftp:      ftp.wji.com/FoxPro/objconve.zip //-OBJCONVE.ZIP (138,673)
    ftp:      ftp.wji.com/FoxPro/conform.zip" //-CONFORM.ZIP (239,019)

    Object Converter is a Microsoft FoxPro 97/8 Add-In utility that 
    rapidly converts FoxPro Forms and Code, Controls (including a number 
    of ActiveX Custom Controls like the Microsoft Windows Common 
    Controls and the Common Dialog Control), Macros, Code and Class 
    Modules to Visual Basic Forms and Projects.

    Object Converter saves a great deal of time when porting selected 
    Forms, Macros and Code Modules, or entire FoxPro applications to 
    Visual Basic.

    There is no need to copy and paste code from FoxPro to VB and re-
    design Forms from scratch.  Converted Forms and Code will run 
    immediately in either the Visual Basic version 5.0 or 4.0 32-bit 
    environments.  


 9. Sharing Code Dynamically Among FoxPro 97 Apps
    -----------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9443.html

    Want to share code dynamically among FoxPro 97 Applications?

    It's really easy. All you have to do is set a reference to an 
    existing MDB, MDA or MDE file!  Yeah, really that's all there is to 
    it. (It's amazing what you can learn from the help file!)

    Just remember that when you set a reference, FoxPro uses the first 
    referenced item it finds, if two functions or subs have the same 
    name. You can explicitly call a function using the MyMdb.MyFunction.

    If you want to learn how to do it the right way through VB 5.0 
    ActiveX DLLs, drop in at http://www.foursquare.com/dll_demo for my 
    presentation to the Boston FoxPro User Group in February, 1998.


10. Using GetSet Functions in Queries
    -----------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9442.html

    Editor's Note. Steal this code!!

    I had a problem where I had to run a series of reports and forms 
    with a predefined BusinessUnit. I didn't want it to change till I 
    said so.

    The solution was to define a function that allows you to 'Set or 
    Get' the value you need and include that function as criteria in all 
    youR queries that are used for reports or forms. (Use the like 
    operator to get the a wildcard match.)

    It's easy in FoxPro 97, and you can hack out something like it in 
    FoxPro 2.0 if you change the optional parameter to test IfNull()

  
    Function BusinessUnit(Optional Bu) As String

    'Note this is a STATIC so it will remember its value between runs
    Static sBu As String

    On Error Resume Next

       'If you don't assign a new Business Unit you'll get the last one
         If Not IsMissing(Bu) Then
          sBu = Bu
         End If

        If IfNull(sBu) Then
        'This returns a wild card so that all Business Units will match
         sBu = "*"
        End If

         BusinessUnit = sBu  'return the current value.
    End Function


12. Establishing a 'ToDo' Function for Client Viewing
    -----------------------------------------------------------------------
    ReplyTo: Stefan Daxenbichler  
    URL:     http://www.wji.com/FoxPro/w9435.html

    If you are a chaotic programmer like me, you will probably know this 
    situation:

    While working on a larger FoxPro project there are situations where 
    some of the code you are writing can't be completed because it 
    relies on things yet to be implemented. (Or you are to lazy at the 
    time).  Then you forget this code because it's not essential, or 
    only called in special situations.

    When the customer tries to use this 'feature' that you forgot to 
    finish, one of the following things will happen (add your favorite 
    to this list):

    o nothing at all
    o the program crashes, or
    o nothing at all except many beeps and weird messages from test
      code you wrote.

    To overcome this, I wrote a VERY simple, but helpful function called 
    'The ToDo function':

    Function ToDo(Optional Description As String)
        MsgBox "Not implemented.@@" & Description, vbInformation
    End Function

    You can use it in Code or as event handler on forms. This has two 
    advantages:

    o  Your Customers get a proper message
    o  You can search your whole for "ToDo" to find unfinished parts


13. Querying Multiple Items in a List Box
    -----------------------------------------------------------------------
    ReplyTo: Farid Ahmad  
    URL:     http://www.wji.com/FoxPro/w9381.html
    Version: 97

    The 'In' clause is used in a SQL query to include records that have 
    a field value matching a list, e.g. suppose you have a Customers 
    data base with a field called City, then the following SQL segment 
    will pull records from three cities:
            
       SELECT * from Customers WHERE city IN ("rome, paris, tokyo").
       
    The trick is to construct a query with the IN clause based on 
    multiple selections in a list box. By setting the multiple-select 
    property of list boxes on the property sheet, it is possible to let 
    the user select multiple items, but getting these selections into a 
    query needs more work. Suppose you are working with the above 
    customers database, and you have a form called Input. On this form, 
    the user can select any number of cities from a list box, and then 
    press a command button to preview or print the resulting report. 

    To achieve this, first create a list box called Cities, and set its 
    Allow Multiple Select property. Now create a text box called 
    CitiesText anywhere on the form and make it invisible. Then include 
    the following code in the ON_UPDATE event of the Cities list box:

    Private Sub Cities_AfterUpdate()
      Dim varitem As Variant
      Dim strList As String
        strList = ""
        With Me!Cities
           For Each varitem In .ItemsSelected
               strList = strList & str(.Column(0, varitem)) & ","
           Next varitem
           If Len(strList) > 0 Then
                strList = Left$(strList, Len(strList) - 1)
           End If
           Me!CitiesText = strList
        End With
    End Sub
           
    This will construct a comma delimited string from the items selected 
    in the Cities listbox, and place it in the CitiesText text box.  
       
    You can now construct a query based on the above string by using the 
    following code:
       
    FUNCTION cityquery
    str = "(" & [Forms]![input].[CitiesText] & ")"
    cityquery = "SELECT * from Customers  WHERE Customers.City In " & str 
    END FUNCTION
       
    Finally make the cityquery( ) function the data source of the your 
    report.  One way to do this is to insert the following into the 
    ON_OPEN event of the report:

    Private Sub Report_Open(Cancel As Integer)
    Me.RecordSource = cityquery()
    End Sub
       

14. From the Publisher
    -------------------------------------------------------------------
    The FoxPro Email Newsletter is created and distributed compliments 
    of the World Wide Developer Network (WWDN) of Boston, Massachusetts, 
    USA.  Come, get involved!  This is the place where developers talk 
    to developers as peers.

    Publisher:
        Les Squires 
        Word Jenny, Inc.
        400 West Cummings Park, Woburn (Boston), Massachusetts USA   
        781-935-1520

    Editors/Content Specialists
        Phil Denoncourt III 
        Pat Tormey          
        Brendan Donovan     

    Website:  http://www.wji.com/FoxPro/homepage.html
  
    Address Changes:
        Send an email USING YOUR OLD ADDRESS.
        Indicate New Address.
    
    Adding Subscribers to Mailing List:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-YES in Subject: or Body of Message.
    
    Deleting Subscribers:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-NO in Subject: or Body of Message.
    
    Retrieving Back Issues and General Downloads:
         FTP to ftp.wji.com.
         Login as FTP.
         Use your ID as your password.
         cd FoxPro
         Copy back issues and downloads as they become available.
    
(c) 1998 World Wide Developer Network (WWDN)
From:	Charles Racoosin [racooscm@erols.com]
Sent:	Saturday, March 07, 1998 8:46 PM
To:	rick@cicorp.com
Subject:	From: TJ Racoosin - What day does SIG meet?

When is the next meeting for the SIG

9 Mar at 9:15 ?

Thanks!
TJ

From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Clifford Porter [chp2@EROLS.COM]
Sent:	Sunday, March 01, 1998 8:29 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Feb. 1998 Board Phone List

CAPITAL PC USER GROUP BOARD OF DIRECTORS
February 28th,  1998
Telephone List of Officers and SIG Contacts

* = not for public use
D = Weekdays
? = not confirmed
E/W = Evenings and Weekends

JANE BENSON
RESTON SIG
D (703)715-1032
E/W (703)715-1032
Fax (703)715-8455
jbenson@shirenet.com

MARY BROSNAN
ELECTRONIC PUBLISHING SIG
D /E/W (703)207-0477 or 800-609-2214
Fax (703)207-0479
cameronprs@aol.com

JACK CARLSON
SENIOR SIG
D (301)286-7140
E/W (301)474-7091

ROBERT CLEMENZI
PARADOX SIG
D (703)827-2365
E (703)791-5747
clemenzi@cpcug.org

BARBARA CONN
CORPORATE COMMUNICATIONS DIRECTOR
MONITOR EDITOR/PUBLISHER
D (202)508-1494
E/W (202)452-7484
Fax (202)508-3698
bconn@cpcug.org

BRUCE COTTOM
PROJECT MANAGEMENT SIG
E/W (301)869-5690
bcottom@cpcug.org

BILL DEROCHE
MEDICAL COMPUTING DIRECTOR
D (202)283-5237
E/W (301)530-9699
wderoche@cpcug.org

CHIP DODGE
BUILD OR BUY; BUYING GROUP DIRECTOR
D* (703)767-3619
E/W (703)425-7038
cdodgemd@aol.com

STAN DOORE
PAST PRESIDENT
D (301)572-4939
E/W (301)572-4939
Fax (301)572-9165
stan.doore@mix.cpcug.org

ANN DORSEY
LIBRARY SERVICES DIRECTOR
D (301)320-7984
E/W (301)320-7984
abdorsey@cpcug.org

DAVID DRAZIN
AUTOCAD SIG
D* (202)529-7474
E/W (301)279-7593
Fax (202)529-0332

GEORGE ELY
PUBLIC RELATIONS DIRECTOR
D (301)762-3002
E/W (301)762-3002
gely@cpcug.org

HERB FREDRICKSEN
MARYLAND VICE PRESIDENT; GEOWORKS SIG
D (301)840-2056
E/W (301)840-2056
Fax (301)840-2056 (call first)
herb.fredricksen@mix.cpcug.org

LUIS GARCIA
VIRGINIA VICE PRESIDENT
D (301)457-1451
E/W (703)425-6902
Fax (301)457-3033
lgarcia@census.gov (work)

GABE GOLDBERG
INTERNET SIG
(703)941-1657
Fax (703)941-1791
gabe@acm.org

CHARLES HALLAHAN
STATISTICS SIG
D* (202)694-5051
E/W (703)532-2930
Fax (202)694-5718
hallahan@econ.ag.gov

WALTER HOUSER
SCIENCE FAIR COORDINATOR; HTML SIG
D (202)273-8012
E/W (301)299-0593
Fax (202)273-8159
houser@cpcug.org (At work)

CAROL HYATT
K-12 EDUCATION DIRECTOR
D (301)948-3748
E/W (301)948-3748
chyatt@mindspring.com



PEGGY IRELAND
PROGRAM DIRECTOR
D (301)423-1618
E/W (301)423-1618
Fax (301)423-3488
ireland@cpcug.org

PEGGY KAUDERS
pkauders@erols.com

JERRY LAWSON
TRAINING DIRECTOR
E/W (703)541-0928
virtual@mindspring.com

LES LE VINE
WORDPERFECT SIG / BEGINNERS SIG
D (301)652-2532
E/W (301)652-2532
les.le.vine@mix.cpcug.org

BILL LUTZ
BALTIMORE SIG
D (410)256-9403
E/W (410)256-9403
wllutz@aol.com

PETER MAHER
SALES FORCE AUTOMATION SIG
D/E/W (703)834-3706
Fax (703)834-3707
1stplace@crosslink.net

RICHARD MALEY
DELPHI SIG
D (301)840-1554
E/W (301)840-1554
75127.17@compuserve.com

LARRY MCGOLDRICK
INTERNET SERVICES DIRECTOR
larrym@cpcug.org

KEVIN MCCRORY
OS/2 SIG
kmccrory@mnsinc.com


PATRICK MCVEIGH
TREASURER; WINDOWS SIG
E/W (301)963-7304
pmcveigh@cpcug.org

LILLIAN MILLINER
PRESIDENT
D (301)933-1717
E/W (301)963-9053
Fax (301)963-9386
milliner@cpcug.org

HENRY NOBLE
CORPORATE INFORMATION SYSTEMS DIRECTOR
D (301)963-3737
E/W (301)963-3737
noble@cpcug.org

ALTA OBEN
MetroMUG SIG
D* (703)613-7581
E/W (703)938-5831
Fax (703)938-5831 (call first)
alta@cpcug.org

CLIFFORD PORTER (MRS.)
INTERIM SECRETARY
D/E/W (301)762-9480
chp2@erols.com

RICHARD PRICE
OS/2 SIG
D/E/W (202)462-3047
richard_price@compuserve.com



BILL REDISCH
FRAMEWORK SIG
D (301)286-6203
E/W (301)279-7929
bill.redisch@gsfc.nasa.gov

NORMAN RISCH
PEACHTREE SIG
D (301)681-8088
E/W (301)754-0735
norman.risch@mix.cpcug.org

ROY ROSFELD
LEISURE WORLD SIG
D (301)598-2825
E/W (301)598-2825
rosfeld@hot.mail.com

NASEEM F. SAAB
CLIPPER SIG
D (703)860-5022
Fax (703)264-1345
nsaab@ix.netcom.com

RICH SCHINNELL
FIRST VICE PRESIDENT
D (301) 949-9292
E/W (301)949-9292
Fax (301)949-8847
schinnel@cpcug.org

RICK SHADDOCK
FoxPro (MICROSOFT) SIG
D(703)486-2222 or (202)829-4444
rick@cicorp.com

PAUL SHAPIRO
DIRECTOR OF VOLUNTEERS
D (301)770-7899
E/W 9am-9pm (301)770-9512
pauls@cpcug.org  or pauls@capFoxPro.org

A. GREG SMITH
PAST PRESIDENT
gsmith@mail.thuntek.net



RANDY STEER
CAPITAL AREA VICE PRESIDENT
D (202)395-3164
E/W (202)745-5932
Fax (202)395-3165
r_steer@cpcug.org

PAT STINGLEY
JAVA SIG (Provisional 2/5/98)
D/E/W (301)587-7605
stingley@cpcug.org

RENE THIRION
COMMUNITY SERVICES DIRECTOR / MIX SYSOP
D/E/W (703)256-6764
rene@cpcug.org

ANDY THOMPSON
INVESTMENT SIG
D* (202)529-3330
E/W (301)270-6790
Fax (202)529-0911
pallotti01@aol.com

HARLEY WILBUR
INVESTMENT SIG
D (301)949-8131
hwilbur@cpcug.org

STEVE WORKINGS
ALPHA SIG
D/E/W (301)933-3832
Fax (301)933-4161
steve@workings.com


RUBEN WORRELL
PROJECT MANAGEMENT AND VISUAL BASIC SIG;
D(703)276-3000
E/W pager (202)490-0166
Fax (703)276-3017
worrellr@cpcug.org

C. PATRICK ZILLIACUS
OS/2 SIG
E/W (301)384-0972
Fax* (301)384-1740
patrick.zilliacus@mix.cpcug.org
From:	Laurie Pollack [laurie@pimusa.com]
Sent:	Friday, February 27, 1998 9:27 AM
To:	rick@cicorp.com
Subject:	MS FoxPro: Philadelphia

I saw your email address on the Washington area FoxPro interest group
page.
I actually am in the Philadelphia area, and was wondering if you know of
any
FoxPro interest groups in my area, or if not, of any FoxPro programmers
or
companies specializing in or using FoxPro, in my area.

I am an FoxPro programmer, and am interested in networking locally.

Sincerely yours,

Laurie Pollack

P.S. my home email address is: lioness1@prodigy.net

From:	Rick@CICorp.com
Sent:	Thursday, February 26, 1998 12:57 PM
To:	AppAlt@AOL.com
Cc:	C I Corporation
Subject:	CPCUG FoxPro SIG meeting

Thank you for your interest in the Capital PC Users Group and the
FoxPro Special Interest Group (SIG).

The CPCUG FoxPro SIG is now meeting after the main meeting instead of separately.  We are also considering merging with the Mid-Atlantic FoxPro Users Group.  

Here is some information.

FoxPro Special Interest Group
Meets after main meeting of CPCUG
(See above)
The CPCUG FoxPro SIG presently meets for question & answer (& snacks) at the NIH caferia immediately after the main meeting. We also try to answer at least 10 questions as a group from the computer based multiple choice practice test for the Microsoft FoxPro Certified Professional Examination. We discuss why each answer is or is not correct, and always end up learning something new.

Mid-Atlantic FoxPro Users Group (MAAUG)
Meets 3rd Tuesday of each month at 7:00pm
National Association Social Workers
(next to Union Station Metro)
750 1st Street NE
Suite 700
Washington, DC
The Mid-Atlantic FoxPro User Group (MAAUG), has been in operation for about three years. Guest speakers include Luke Chung of FMS and Andrew Coupe of the Microsoft FoxPro development team. The CPCUG and MAAUG have a mix of members ranging from novices to a number of very experienced programmers. 
Contact: Bruce Troutman 800-918-5670From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Thursday, February 26, 1998 7:20 AM
To:	rick@cicorp.com
Subject:	New Site

Any requests about viewing the new site, handling the April meeting,
etc.?

I will be on travel starting Friday.  Please RSVP EMail's.  Thanks!

Nancy L.

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Thursday, February 26, 1998 7:08 AM
To:	Rick@CICorp.com
Subject:	Re: FW:      News from the Office

Twinbrook is walking distance from my home.  I live on Twinbrook Pkwy.
Nancy L.

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	Rick@CICorp.com
Sent:	Wednesday, February 25, 1998 11:52 AM
To:	gmclennan@smmg.com
Subject:	RE: FoxPro meeting

No problem.  I was also unable to attend.  We'll get cranked up for March 17th.
Feel free to call on Nancy@CICorp.com or Nick@CICorp.com if you need a hand.

Thanks,
Rick

> -----Original Message-----
> From: gmclennan [mailto:gmclennan@smmg.com]
> Sent: February 25, 1998 9:57 AM
> To: Rick@CICorp.com
> Subject: Re: FoxPro meeting
> 
> Unfortunately, after all that preparation and getting everyone involved
> all cranked up, I was not able to attend the meeting. I'm now scheduled
> to do it next month.
> 
> -- 
> George L. McLennan
> Strategic Marketing & Management Group
> gmclennan@smmg.com
> 703-354-9839 (voice)
> 703-354-1694 (fax)
> 
> 
> From:	gmclennan [gmclennan@smmg.com]
Sent:	Wednesday, February 25, 1998 9:57 AM
To:	Rick@CICorp.com
Subject:	Re: FoxPro meeting

Unfortunately, after all that preparation and getting everyone involved
all cranked up, I was not able to attend the meeting. I'm now scheduled
to do it next month.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)


From:	Rick@CICorp.com
Sent:	Wednesday, February 25, 1998 7:31 AM
To:	GMcLennan@SMMG.com
Subject:	FoxPro meeting

How did it go?  What was the response to MAAUG working more closely with CPCUG?

Thanks again for your help and initiative.

Rick
From:	Rick@CICorp.com
Sent:	Monday, February 23, 1998 4:33 PM
To:	C I Corporation
Subject:	FW: FoxPro developer

Nick is pretty busy, now but when does he want to start?
Please call him and get the information.  Maybe Nancy or Alex could do it.
(But Nancy charges too much for her skills.)  Is it something that Gerard could do from here?  I better not take any more on myself.  I have enough to do with Hill Group, WR, and Telegroup.
Thanks.


-----Original Message-----
From: Terry Kades [mailto:tkades@erols.com] 
Sent: February 23, 1998 2:15 PM
To: rick@cicorp.com
Subject: RE: FoxPro developer


Rick

I am looking for a competent FoxPro developer for about a one month
project. Thereafter maintenance and customization on an ad hoc basis.
 
Please could you refer me to someone or vice versa. 

Many thanks.

Terry Kades
Strategic Feasibilities, Inc.
(301) 983-6305
From:	Les Squires [lsquires@wj.WJI.COM]
Sent:	Wednesday, February 18, 1998 4:28 PM
To:	Rick@CICorp.com
Subject:	  JE218: Sample JobsExpress

---------------------------------------------------------------
Member:      Rick Shaddock, Crystal City Maryland USA
Subs ON/off: ACCE clip FOXP sqlw it vdb WJI
Jobs ON/off: acce actx c++ clip cobol cfusion cryst dbase delph
             dmodel docmgt domino dware edp fox glob it java
             notes novell nt oracle pb perl sqa sqls sqlw syba
             unix vb vdb vconf warp webd webs y2k

---------------------------------------------------------------

Rick,

Since you're not currently enrolled in any of WWDN JobsExpresses,
it dawned on me the other day that it might be a good idea to 
show you a sample of the announcements.

Feel free to forward a copy to some company you know that could
benefit from direct email FoxPro to the developer communities.
We're mailing 9,500 of these per day on the average and hope that
one of these announcements can help you one of these days--either
as an employer or as a job seeker.

Second. Please notice the new header.  It provides a summary of
all your activity with wji.com.  Subs ON/off indicates newsletters
and special interest groups.  Jobs ON/off indicates current job 
announcements.  Upper case is ON; lower case is off.

Third.  We're open again for additional jobs items you suggest 
for inclusion on http://www.wji.com/wji/w1002779.html .

Les

----------------------- RealTimeJobs(tm) --------------------------
 World Wide Developer Network (WWDN) Les Squires  LSquires@wji.com
 Woburn, Massachusetts (Boston)                       781-935-1520
------------- http://www.wji.com/wji/w1002779.html  ---------------



------------ SAMPLE
------------ Job Opportunity from World Wide Developer Network
------------ Posted from http://www.wji.com/wji/w9235.html

 Contact: John Thornton
   Email: JMTNORRELL@AOL.COM
 Company: Norrell Services, Inc.
     URL: http://www.
 Address: 4401 Connecticut Ave. N.W.
          Suite 604
    City: Washington
   State: DC
 ZipCode: 20008
 Country: USA
   Phone: 202-686-0130
     Fax: 202-363-2464
Telecommuting will not be considered.
'Virtual Contracting' will not be considered.

Job Description
-------------------------------------------------------------

Business Systems Analyst (No Coding)     5 Openings

The successful candidates will assist the project leader in
leading business systems analysts/programmers in the design,
development, implementation and maintenance of business
information systems.  Analyzes only; does not code.

Contract and contract to hire positions available for
Wilkes-Barre, PA area.

Please submit your resume via fax or e-mail to:

Norrell Information Systems, Inc.
(703)917-1616

PCVISION@ATR.COM

---------------------------------------------------------------
IT@WJI.com    //-Use this email ID for writing to WJI.
ITJOBSNL-NO   //-Remove your ID from this jobs list.
ITJOBSNL-YES  //-Reactivate yourself. Add friend to list.
Change Address  //-Use OLD address to send NEW address.
Abuse@wji.com   //-Report anything you consider to be abusive.

IT Professionals JobsExpress http://www.wji.com/wji/w1002779.html
A Service of Word Jenny, Inc. Boston USA  02/18/98 12:06:11EST

-----Original Message-----
From: Les Squires [mailto:lsquires@wj.WJI.COM] 
Sent: February 10, 1998 1:47 AM
To: Rick@CICorp.com
Subject: AC198: FoxPro Email Newsletter


-----------------------------------------------------------------
Member:      Rick Shaddock of Crystal City Maryland USA
Subs ON/off: ACCE clip FOXP sqlw it vdb wji
Jobs ON/off: acce actx c++ clip dbase delphi fox it java oracle
             pb sqlserver sqlwind sybase vb vdb y2k
-----------------------------------------------------------------
Hi again, Rick!

Here's the catch for this month!

Les

-----------------------------------------------------------------------
-----------------------------------------------------------------------
FoxPro Email Newsletter                                   January, 1998
A Service of the World Wide Developer Network             Vol. 6  No. 1
http://www.wji.com/FoxPro/homepage.html              ftp.wji.com/FoxPro
-----------------------------------------------------------------------
 1. Editor's Note
 2. FoxPro JobsExpress
 3. Finding the Irish in your Database
 4. Auditing the Records in an FoxPro 97 Table
 5. Managing Your Reports with the Data-Driven Paradigm
 6. Printing Reports as a Batch Process
 7. Extracting the Network User ID using 16 Bit API Calls.
 8. Showing System Objects And "Select *" Don't Mix In Replicas
 9. Viewing Logged-on Users Through the .LDB
10. Handling Year 2000 Issues (Y2K)
11. Achieving Automation Goals using Database Documenters Code.
12. Repairing and Compacting with Jet API's
13. Optimizing the Speed of Report Runs.
14. Creating a Flexible User Interface Design with 'System' Tables
15. ODBCDirect Askew Without VB 5.0 Pro Installed
16. Setting Echo On/Off For Debugging
17. Printing Relations from Any FoxPro 97 Database
18. Internet Database in German FoxPro 97
19. FoxPro 8.0 Export Facilities.
20. Customizing Function Keys in FoxPro
21. Comment Block and UnComment Block Builders for FoxPro 97
22. Passing SQL Strings to FoxPro
23. LookIn on Outlook to Speed Up FoxPro and Office
24. From the Publisher
-----------------------------------------------------------------------
 1. Editor's Note  
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9161.html

    Lots of good code this month.  Thanks again to all of you who take 
    the time to enrich our FoxPro developer community!


 2. FoxPro JobsExpress
    -------------------------------------------------------------------
    ReplyTo: Les Squires, Publisher  
    URL:     http://www.wji.com/FoxPro/w7413.html

    We've built a new email system to push job announcements immediately 
    to developers who want them.  Please note that we are no longer 
    posting job announcements to web pages.  Use one of the links below 
    to fire up the system!  Let us know what you think!

    Employers:  http://www.wji.com/FoxPro/w7412.html
    ---------------------------------------------------------
    Looking for full or part-time employees, consultants, tutors, or the 
    like?  Submit your job announcement ad to us and we will email it to 
    our pool of FoxPro developers.

    Developers:  http://www.wji.com/FoxPro/w8495.html
    ---------------------------------------------------------
    Sign up for FoxProJobsExpress!  Receive an email of a job 
    announcement within 15 seconds of its being posted!


 3. Finding the Irish in your Database
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9355.html
    ftp://ftp.wji.com/FoxPro/fsifind.zip   //-FSIFIND.ZIP  (43,064)
    FoxPro Version: 8.0  (But you could roll it back to version 2.0.)
    Keywords: SQL, FINDIT, QUOTE

    Problem:  SQL engines can choke on a single quote, but they think 
    two single quotes are just one literal quote.

    Solution:  Use the file fsiFind.MDB. It converts O'Brein to O''Brien 
    and all single apostrophes to two apostrophes.

    I got a little help writing this from the Microsoft Systems Journal 
    at http://www.microsoft.com/msj/


 4. Auditing the Records in an FoxPro 97 Table
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9354.html
    ftp://ftp.wji.com/FoxPro/fsiaudit.exe //-FSIAUDIT.EXE (190,416)
    ftp://ftp.wji.com/FoxPro/fsivideo.exe //-FSIVIDEO.EXE (1,360,643)
    Keywords: AUDIT TRAIL; CLASSES; NETWORK USER NAME
    FoxPro Version: 97

    The file fsiAudit.EXE contains an FoxPro 97 MDB (self extracting 
    PkZip) that demonstrates how to audit the records in an FoxPro 
    table.

    Each record programmatically maintains its origin date/time, 
    date/time of the last edit, and the Network User ID of person logged 
    on at the time.

    The sample code wraps the Network User Id API call in an FoxPro 97 
    Class, which can be used "as is" in VB 4-32 or VB 5.0.  All source 
    code is included and it's free.

    The file fsiVideo.EXE is an instructional overview for the code, 
    made with the MS Camcorder Movie. You will need a sound card to 
    fully appreciate it!


 5. Managing Your Reports with the Data-Driven Paradigm
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9353.html
    ftp://ftp.wji.com/FoxPro/ddreport.zip   //-DDREPORT.ZIP (22,024)
    Keywords: 'DATA DRIVEN' REPORTS
    FoxPro Versions: All

    This file Reports.MDB, is a complete 'Data Driven' example of an 
    easy way to manage all the reports in you application, developed in 
    FoxPro 2.0.

    The idea is to store all reports in a table, let the user select the 
    reports they would like, and print them in a batch from a single 
    command button.


 6. Printing Reports as a Batch Process
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9350.html
    FoxPro Versions: All

    Suppose you had a table with all available reports and you wanted to 
    let the user select several for printing.

    All you'd have to do is let them toggle the 'PrintIt' field with a 
    simple form. You can even give the report a user friendly name so 
    they can recognize the report 'Mary's Monthly Report' instead of the 
    less kindly 'rptEmployeeLayoffsAntiPersonalDept'.
           
    Then run this handy routine:
           
    Sub ReportAll ()
    '**************************************************************
    ' Author   : Pat Tormey Tormey@foursquare.com
    ' Date     : 7 April 1996
    ' Comments : Objective is to Select a report from Engine Listing
    '***************************************************************
    On Error GoTo ReportAll_ERR
           
     Dim db As Database
     Dim rs As Recordset
     Dim i As Integer
     Dim Count%
     Dim x As Variant
            
     Set db = DBengine.WorkSpaces(0).Databases(0)
     Set rs = db.OpenRecordset("tblReports", DB_OPEN_SNAPSHOT)
            
     'Count Up the Printit
     Count% = 0
     Do Until rs.EOF  'let's see how many reports are tagged to Print
      If rs.PrintIt Then
       Count% = Count% + 1
      End If
      rs.MoveNext
     Loop
           
     If Count% = 0 Then
     Exit Sub
     End If
       'Set up the system Meter   
      x = SysCmd(SYSCMD_INITMETER, Str$(Count%) & " Reports", Count%)
       rs.MoveFirst
     Do Until rs.EOF
      If rs.PrintIt Then  'Is It Tagged
       x = PrintReport(rs.ReportName)
       x = SysCmd(SYSCMD_UPDATEMETER, i)
      End If
      i = i + 1
      rs.MoveNext
     Loop
     rs.Close
     db.Close
      x = SysCmd(SYSCMD_REMOVEMETER)
           
    ReportAll_EXIT:
        Exit Sub
           
    ReportAll_ERR:
     'Never Say Error .. especially if there is one
      MsgBox "Note:" & Error$, 64, "Application Note" 
        Resume ReportAll_EXIT
           
    End Sub
           
    Function PrintReport (cReport)
    '**********************************************************
    ' Author  : Pat Tormey Tormey@foursquare.com
    ' Date    : 7 April 1996
    '**********************************************************
    On Error GoTo PrintReport_ERR
      DoCmd OpenReport cReport, A_NORMAL
    PrintReport_EXIT:
        Exit Function
           
    PrintReport_ERR:
      MsgBox "Note:" & Error$, 64, "Application Note: There is " & _
                                   "nothing wrong. Go back to sleep"
           
        Resume PrintReport_EXIT
           
    End Function


 7. Extracting the Network User ID using 16 Bit API Calls.
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9347.html
    FoxPro Versions: All

    This file extracts the Network User ID in FoxPro 2.0 using the 16 
    Bit API calls.

    I must admit that I stole this idea from somebody, probably Dan 
    Appleman.  I recommend his books 'Visual Basic Programmer's Guide to 
    the Windows API' for 16 bit calls and  'Visual Basic Programmers 
    Guide to the WIN 32 API' for 32 bit calls.

    Option Compare Database 'Use database order for string comparisons
    Option Explicit
           
    ' Uses WINDOW API to get the Net Users Name from the Local Area
    '  Network
    ' You can use this to see if the users should have write/delete
    '  privileges, or to secretly tag who did what last!

    Declare Function wu_WNetGetUser% Lib "USER.EXE" Alias _
     "WNetGetUser" (ByVal szUser$, lpnBufferSize%)
           
    Function NetworkUserID () As String
    '**********************************************************
    ' Author  : Pat Tormey Tormey@foursquare.com
    ' Date    : 7 April 1996
    '**********************************************************
      On Error GoTo NetworkUserID_ERR
      Dim szUser As String * 255
      Dim lpnBufferSize As Integer
      Dim status As Integer
           
      lpnBufferSize = 255
      status = wu_WNetGetUser(szUser, lpnBufferSize)
      If (status = 3) Then
        NetworkUserID = "WNetGetUser Failed"
      Else
        'Return up to first Null.
        NetworkUserID = Left$(szUser, InStr(szUser, Chr(0)) - 1)
      End If
           
    NetworkUserID_EXIT:
        Exit Function
           
    NetworkUserID_ERR:
      MsgBox "Note:" & Error$, 64, "Application Note"
        Resume NetworkUserID_EXIT
           
    End Function


 8. Showing System Objects And "Select *" Don't Mix In Replicas
    -------------------------------------------------------------------
    ReplyTo: Philip Hurzeler  
    URL:     http://www.wji.com/FoxPro/w9341.html
    FoxPro Versions: 97, possibly 95 (Try this in FoxPro 95, and

    If any controls in your replicated FoxPro 97 database have row 
    sources that start with 'SELECT * FROM...', you can create bugs by 
    setting the 'Show System Objects' option on or off.
           
    Setting the option on makes visible the system columns devoted to 
    replication, which can have a ripple effect.  For instance, the 
    ordinal values of the Column property of list or combo boxes all get 
    bumped up by 3 unless the row source property calls out each column 
    by name.

    One way you can prevent this problem is to avoid 'SELECT' in row 
    sources.  Another way is to set the Application's 'Show System 
    Objects' option to False in your Autoexec macro or startup form's 
    Open event.


 9. Viewing Logged-on Users Through the .LDB
    -------------------------------------------------------------------
    ReplyTo: Thom Allen  
    URL:     http://www.wji.com/FoxPro/w9322.html
    FoxPro Version: 2.0

    For a very rudimentary view of who is logged in to a database, read 
    the .LDB file.  Remember that the .LDB is not cleared when a user 
    logs out, so this is not 100% accurate, but at least you can get an 
    idea who is in or has been. I run the function from a Macro, and a 
    nice little pop-up box displays the user names in the .LDB file.  

    Have fun, and I would like any feed back.  I also have a version 
    that allows for you to enter an .LDB file name anywhere on the 
    network and display the users in that database as well.
           
    Function WhosInDB ()
           
    Dim varPullID As String
    Dim varUserID As String * 64
    Dim Indx As Long
    Dim varArray() As String
    Dim varDisplay As String
    Dim varLDBName As String
    Dim dbName As Database
    Dim varBackPath As Integer
    Dim Max As Integer
           
    Set dbName = CurrentDB()
    varLDBName = Left(dbName.Name, Len(dbName.Name) - 4) & _
                  ".LDB"   ' Assign .LDB file name
           
    On Error GoTo errFileOpenError
    Open varLDBName For Random Shared As #1 Len = Len(varUserID)
      ' Open to read file.
    Max = LOF(1) / Len(varUserID)
    ReDim varArray(1, Max)          ' Set up Array to hold user names
    For Indx = 1 To Max             ' Loop to cycle through entries.
       On Error GoTo errGatheringUsers
       Get #1, Indx, varUserID            ' Read from file.
       varPullID = Mid(varUserID, 33, 7)  ' Pull User ID from 64 bites
       varArray(1, Indx) = varPullID      ' Assign User ID to Array

    ' Put User ID's in one variable
       varDisplay = varDisplay & varArray(1, Indx) & Chr(13)     
    Next Indx
       ' Display users in MsgBox
       MsgBox "These users are currently" & Chr(13) _
              "logged into the database:" & _
              Chr(13) & Chr(13) & varDisplay               
    Close #1                               ' Close file
    Exit Function
           
    errNoLDBFile:
       MsgBox "There is no LDB file to pull data from"
       Exit Function
           
    errFileOpenError:
       MsgBox "There was an error opening the LDB file for read. " & _
          "Please try again."
       Exit Function
           
    errGatheringUsers:
       MsgBox "There was an error gathering the User names. " & _
               "Please try again."
       Exit Function
           
    End Function
           

10. Handling Year 2000 Issues (Y2K)
    -------------------------------------------------------------------
    ReplyTo: Christopher R. Baker  
    URL:     http://www.wji.com/FoxPro/w9268.html
    ftp://ftp.wji.com/FoxPro/sagent.zip  //-Download SAgent.ZIP (19,435)
    Keywords: TIPS YEAR 2000
    FoxPro Versions: 2.0 and Up
    
    Editor's Note.  SAgent.mdb comprises of source code and demo files 
    from Chris Baker's January, 1998 presentation to the FoxPro User 
    Group in Boston.

    In the sample below, Chris creates a manageable technique to control 
    FoxPro intrinsic Y2K methods. For details of this and many other 
    handy routines download SAgent.mdb (FoxPro 2.0.)

    Function saCentury (varDate As Variant) As Variant
    On Error GoTo Err_saCentury
    ' Chris Baker cBaker@SpecialAgent.com
    ' Given a date with a two digit year, FoxPro 2.0
    ' ALWAYS ASSUMES THE YEAR IS 19xx
    ' Regardless of the system date.
    '
    ' This routine compensates for 2-digit year ambiguity by creating
    ' 100 year window for valid dates.  The window 'rolls over' at
    ' the year calculated by adding FUTURE_YEARS to the present system
    ' year.
    '
    ' This system does not properly handle all four digit years that
    ' fall outside of the 100 year window.
    '

    Const FUTURE_YEARS = 10

      Dim intDateYear As Integer    'Year part of date to be tested
      Dim intFutureYear As Integer  'Future Year Cutoff for all dates
      Dim intPastYear As Integer    '

      saCentury = varDate
      If IsDate(varDate) Then
        intDateYear = DatePart("yyyy", varDate)
        intFutureYear = DatePart("yyyy", Now) + FUTURE_YEARS
        intPastYear = intFutureYear - 100
        If (intDateYear > intFutureYear) Then
          saCentury = DateAdd("yyyy", -100, varDate)
        ElseIf (intDateYear <= intPastYear) Then
          saCentury = DateAdd("yyyy", 100, varDate)
        End If
      End If

    Exit_saCentury:
      Exit Function

    Err_saCentury:
    '!!  saMsgErr Error$, Err, "zbasUtility.saCentury"
      Resume Exit_saCentury
    End Function


11. Achieving Automation Goals using Database Documenters Code.
    -------------------------------------------------------------------
    ReplyTo: Michael Kaplan  
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9260.html
    URL:     http://www.wji.com/FoxPro/w9270.html
    RE: Interrogating Macros Using Automation by Mike Swift.

    I have an application which, using Automation and COM does the following 
    things:

    o Starts an FoxPro session
    o Loads a database from a pre-defined list of files
    o Looks through each collection - Forms, Queries, Modules etc.
    o Opens, design view, each item in these collections
    o Prints the properties of the items (or components within the items.)
    o For modules, the application interrogates individual lines of 
      source code (using the Lines property), and searches for certain 
      keywords.

    Now, I want to do the same thing with Macros as I've done with 
    modules - using automation....

    Kaplan replies:  

    Have you considered perhaps looking at the Database Documenter's 
    code in the unlocked wizards and trying to make that work for you?

    There are no guarantees that this will work past FoxPro 97, but 
    you are in undocumented-land already as it is.

    Higham replies: 

    You could try doing something with the Application.SaveAsText 
    procedure.  This procedure is a hidden member of the 'FoxPro 
    Application Object'.  Go to your 'Object Browser' and ensure that 
    'Show Hidden Members' is checked.   The syntax is relatively 
    straightforward

    Application.SaveAsText acMacro, "YOURMACROHERE", "FILENAMEHERE"

    You still have to parse the text file.


12. Repairing and Compacting with Jet API's:  A Question
    -------------------------------------------------------------------
    ReplyTo: Michael Kaplan  
    URL:     http://www.wji.com/FoxPro/w9259.html
    RE: Repairing and Compacting Databases Automatically by Holger Rohlfs.

    Is there a possibility to repair and compact a database 
    automatically, AND finding out if an error occurred in FoxPro 2.0? 
    Currently I use the following code:

    Code (and further details) Follow

    There is no fix or anything here that you can do. The only reason 
    that FoxPro is able to warn you of errors is that they use Jet 
    directly, not DAO.

    There is no way that anyone outside of Microsoft can do the Jet APIs 
    to compact or repair, and that is the only way you would be able to 
    do this.


13. Optimizing the Speed of Report Runs.
    -------------------------------------------------------------------
    ReplyTo: Dave Milidonis  
    URL:     http://www.wji.com/FoxPro/w9263.html
    FoxPro Version: 7.0

    While working on a client project I stumbled on a neat trick for 
    optimizing the speed of report runs.  Reports tend to run faster off 
    tables, rather than directly off queries, so create a "make table" 
    query for your report data.   Once done, use an Event Procedure on 
    the report's On_Open event and insert the following code:
       
    Private Sub Report_Open(Cancel As Integer)
        DoCmd.OpenQuery "mkqryName",,acReadOnly
        DoCmd.OpenReport "rptName", acViewPreview
    End Sub
           
    Now, run the report.

    The query executes creating the table and bringing up the report. 
    All with the click of a mouse.   I am sure any developer could add 
    more to the event procedure in order to further automate 
    processing. For example: Saving the Report to a file; sending the 
    report; etc.


14. Creating a Flexible User Interface Design with 'System' Tables
    -------------------------------------------------------------------
    ReplyTo: Robert S. Ruder  
    URL:     http://www.wji.com/FoxPro/w9224.html
    FoxPro Versions: 97

    It has occurred to me that if you take the concept of databases to 
    a logical conclusion, then the whole process of designing a 
    database is built around sets of data which describe the nature 
    and process of the database. This is in fact what Microsoft 
    employs in their System Tables. What I decided to develop was a 
    database design which would allow me to add functionality to the 
    database by simply adding a record to a table which defined that 
    functionality.

    What I have managed to build is a user interface which is designed 
    around an initial 'database map' form which allows the user to 
    choose a selection of database tasks based on a selected 
    category... in this case I use a department metaphor. However, no 
    matter which department the user selects, the second form you go 
    to is the same, but as it opens, I query my system table to find 
    out how to modify the form for the chosen department.

    My system tables are as follows: 

        Table Name:   Task Categories
        Fields:       TaskCategoryID  AutoNumber
                      CategoryName    Text

        Table Name:   Tasks                                            
        Fields:       TaskID          AutoNumber
                      TaskName        Text
                      TaskCategory    Number-Long Integer
                      TaskSubForm     Text

    When the user clicks on a map item, the following code is 
    executed:

    Function DisplayTasks(Dept As Integer)
      'The Dept value is passed in, i.e. =displayTasks(1)
      Dim tempdb As Database, temprs As Recordset
      Dim SQLst As String

      Set tempdb = CurrentDb
      SQLst = "Select * from TaskCategories where TaskCategoryID = " & _
               Dept Set temprs = tempdb.OpenRecordset(SQLst)

      DoCmd.OpenForm "Unit Form", acNormal
      Forms![Unit Form].Caption = temprs![CategoryName] & "Tasks"
      Forms![Unit Form]![Title] = temprs![CategoryName] & "Options"
      Forms![Unit Form]![TaskCatID] = Dept
    End Function

    The control [TaskCatID] is an unbound Text Box which is the Link 
    Master for a subform control. It displays the appropriate tasks 
    for the department selected. The form [Unit Form] also contains 
    another unbound subform control. Because my Tasks system table 
    contains the field [TaskSubform], I have a location where I can 
    store the name of the appropriate subform for the defined task. In 
    the On Current event for the tasks subform, I execute the 
    following code:

    Parent![SubDisplay].SourceObject = _
           IIf(IsNull([TaskSubForm]),"sfrm_None", [TaskSubForm])

    The result is that which ever record becomes current in the left 
    hand list of tasks, the appropriate subform is displayed in the 
    right hand subform control. As my list of tasks grows, all I must 
    do is create a subform which can perform the task, add the task to 
    the tasks table, categorize it, and add its subform name. The rest 
    is already in place.

    I am currently working on expanding this concept to include 
    information about attached tables and data synchronization 
    information between two attached data sources. My code can simply 
    loop through a set of data and attach and synchronize the data 
    automatically. Overall, I'm pleased with the ability to create 
    dynamic designs by incorporating my own custom system tables.


15. ODBCDirect Askew Without VB 5.0 Pro Installed
    -------------------------------------------------------------------
    ReplyTo: Kevin Bruton  
    URL:     http://www.wji.com/FoxPro/w9258.html
    FoxPro Version: 97

    ODBCDirect demonstrates unpredictible behaviour when VB 5.0 
    Professional is not installed on a machine. Sample Code :

    Open RecordSet

    Set rsProduct = gblcnnODBC.OpenRecordset(strSQL, dbOpenDynaset, _
                     0, dbOptimisticValue)

    'Then later on issue a

      With rsProduct
          .Edit
           rsProduct!Fields = Something
          .Update
      End With

    Locking problem encountered:

    Machine A updates the same record Machine B is viewing. Machine B 
    tries to update the record, If VB 5.0 is installed, the record 
    locking error is correctly triggered, if VB 5.0 is not installed, 
    no error is returned, but the record is not updated.

    Error : 0 Assignment error.

        With Recordset
               .Edit
               rsProduct!Fields = Something
               .Update
        End With

    Machine A, tries to Update Record, receives error (VB 5.0 not 
    installed.) Machine B, tries to Update Record, suceeds (VB 5.0 
    installed.)

    The code is identical on the two machines , the only differance is 
    when VB 0.5 Pro is installed. How can this be solved without 
    installing VB 5.0 Pro on each machine?

    Installing the latest DAO (1.5) drivers did not solve this 
    problem.


16. Setting Echo On/Off For Debugging
    -------------------------------------------------------------------
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9256.html
    RE:      Speeding Up Your Front End with the Echo Method by Paul Brower.
    FoxPro Versions: 2.0 (?), 7.0, 8.0

    Are you aware that the Echo Method is a great tool for speeding up 
    many processes. When used correctly, the echo method will stop the 
    screen from being updated/repainted.
       
    Let's say that you have a Customer Screen (frmCustomer), and an 
    Invoice Screen (frmInvoice).  You want to be able to allow users 
    to double click an invoice, and go directly to the customer.  Here 
    is the Event you would use:

    Code follows:

    When debugging FoxPro 97 code that has the echo set to off, make 
    sure that you set the debug window to be on top. That way you can 
    always do CTRL+G and get to it.

    In FoxPro 97, I use compiler constants to set echo. For example:

    #If FDEBUG Then
        'continue as normal
    #Else
        Application.Echo False
    #End If


17. Printing Relations from Any FoxPro 97 Database
    -------------------------------------------------------------------
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9153.html
    FoxPro Versions: 8.0
    Keywords: PRINT RELATIONS
    ftp://ftp.wji.com/FoxPro/daorelat.exe  //-DAORELAT.EXE (219,407)

    I wrote this after downloading the Print Relations Wizard which 
    was patently no use.

    This self extracting zip file allows you to print out relations 
    from any FoxPro 97 database, you can save each separate diagram. 
    Zoom in and out.

    Generally it gives good relational diagrams which you can include 
    in any documentation. 


18. Internet Database in German FoxPro 97
    -------------------------------------------------------------------
    ReplyTo: Karl-Heinz Kristen  
    URL:     http://www.wji.com/FoxPro/w9155.html
    URL:     http://193.24.175.164/aspneu/VhsStart.htm //-Online example
    ftp:     ftp.wji.com/FoxPro/i_net.zip  //-I-NET.ZIP (199,811)

    Product Ver.: German FoxPro 2.0 and 8.0, German IIS and German NT
    System:       Windows NT / Windows 95 - InternetServer 3.0
    Development:  ASP (ActiveServerPages) from MS must be installed.
    Database:     FoxPro 2.0 or FoxPro 7.0
    Language:     VBScript / VisualBasic (2.0 - 5.0)
    Important:    Use the Permission-Configuration from the 
                  InternetServer and check the Directorys of the InetPub 
                  for Read/Write & Run. 

    Step by Step Prodcedure to run the DB on an Intranet.

    1. Copy all Files to your InetPub-Root. I used the 
       E:\InetPub\wwwroot\aspneu as Directory

    2. Goto the ControlPanel to invoke the ODBC-Manager for a new 
       System-DSN entry.

       i. Check the System-DNS to make a new entry.
      ii. Check the FoxPro-Driver (Version 2.0/7.0)
     iii. Put in name of Database(ASP-File = aspneu), name it: aspneu
      iv. Check the Select-Button from Database and choose the      
          Database-Directory.  I used 
          E:\InetPub\wwwroot\aspneu\kurse2.mdb

     3. Now run IIE or Netscape and call Homepage (VHSSTART.HTM)

     For more Information on ASP.  A very good Book about ASP is 'ASP: 
     Working with ActiveServerPages', available at Carry Book Support 
     at http://www.caryp.com/


19. FoxPro 8.0 Export Facilities.
    -------------------------------------------------------------------
    ReplyTo: Anders H. Madsen  
    URL:     http://www.wji.com/FoxPro/w9170.html
    FoxPro Versions: 8.0
    ftp://ftp.wji.com/FoxPro/ac8exnl.zip  //-AC8EXNL.ZIP (210,080)

    Abstract

    The attached database includes two top level procedures for 
    exporting which can be used instead of TransferText in certain 
    situations.

    TransferText_nl

    This procedure is similar to TransferText but independent of 
    fields.  What this means is that TransferText_nl can be used with 
    tables and queries even if they have different fields than the 
    table or query, which were used when creating the import/export 
    specification. In other words, TransferText_nl works more like 
    TransferText in the good old FoxPro 2.0.

    Limitations:  Only works for exporting of delimited test files. Can 
    not export to ASCII format.

    Export_nl

    This is an export procedure which in some ways are more flexible 
    than TransferText and TransferText_nl. The procedure is especially 
    valuable when exporting cross tab queries. The most important 
    facilities are:

    o  Uses import export specifications but independent of fields 
       (like FoxPro 2.0)

    o  Also capable of using an other record separator than cariage 
       return line feed.

    o  Capable of sorting columns in complex ways.

    o  Can export two queries to the same file: Typically this is a 
       detail query and a totals query.

    o  Can convert null values to zero.

       Limitations: Only works for exporting of delimited test files.
       Cannot export to ASCII format.

    References to similar pieces of work

    http://www.wji.com/FoxPro/w6630.html -- Incompatibility Between 
    FoxPro 2.0 and FoxPro7.0/8.0 Text File Inport/Export by Shamil 
    Salakhetdinov. 

    Mr. Salakhetdinov has overcome the problem with FoxPro 8.0's 
    dependence of fields in an other way. His approach is to create a 
    specification and then use FoxPro's own TransferText. In short his 
    code has the following advantages:

    o  Can both import and export.
    o  Can handle both delimited and fixed width formats.
    o  Also works for ASCII format.
    o  Less code (= less memory footprint).

       
    In short our approach has the following advantages:

    o Several good facilities for handling cross tab queries (see the 
      comments in Export_nl below).

    o Can put together the results of a detail query and a totals 
      query into one export file.

    o Also capable of using an other record separator than cariage 
      return line feed.

    o You do not have to change any code to use other delimiters etc.


20. Customizing Function Keys in FoxPro
    -------------------------------------------------------------------
    ReplyTo: Paul Brower  
    URL:     http://www.wji.com/FoxPro/w9172.html
    ftp://ftp.wji.com/FoxPro/fkeys.zip  //-FKEYS.ZIP (29,301)
    FoxPro Versions: 8.0

    The file fKeys.mdb consists of 1 macro (AutoKeys), 1 form 
    (frmFKeys) and 1 module (mdlFkeys).

    These items will allow developers to run code by pressing a 
    function key.  The form frmFkeys allows users to customize what 
    function key will perform what action.  The windows registry is 
    used to keep track of the function key assignments.

    For an example, when you download this database, open up the form 
    frmFkeys, select "ScreenName" in the combo box, and click a 
    function key command button.  (i.e. F-5).  "ScreenName" will 
    appear in the text box under the command button.  You must now 
    exit the database and re-open it.  Now you can press function key 
    F-5 (or the one that you assigned), and if you have a form open, a 
    message box will appear with the form name.  By looking at my 
    code, you should be able to see that it will now be very simple 
    for you to create new subroutines and be able to execute them by 
    pressing a function key.

    I have a client that was using a system called TeleMagic, and they 
    were used to being able to print forms, etc, from the use of 
    function keys.  They asked that I provide the same functionality 
    with function keys in the new FoxPro database, and this has worked 
    out very well.

    Important Notes:

    o You must add subroutine names to the combo box on the form 
      "frmFkeys."  i.e.  if you create a sub called "Calculate 
      Commission", you need to add "Calculate Commission" to the value 
      list in the combo box.  

    o I don't have any error code for these examples.  You will need 
      to create your own.

    o Additional key assignments could be made.  For example if you 
      wanted to assign a subroutine to "Ctl-F5", you would need to add 
      ^{F5} in the macro AutoKeys, and provide the necessary controls 
      and code on the form and module.

    o The function key values are stored in the windows registry as 
      "txtF#".  My code requires that a field prefixed with "txtF" be 
      present in order to write the registry information.  Feel free 
      to change this.

    o This code if free and available to all who dare to make their 
      development just a tad bit more user friendly, and cool.


21. Comment Block and UnComment Block Builders for FoxPro 97
    -------------------------------------------------------------------
    ReplyTo: Mehmet Acikgoz  
    URL:     http://www.wji.com/FoxPro/w9154.html
    ftp://ftp.wji.com/FoxPro/pdncbuil.zip  //-PDNCBuil.ZIP (23,609)
    Keywords: COMMENT BLOCK UNCOMMENT BLOCK BUILDERS FoxPro 97
    FoxPro Versions: 8.0

    In developing an FoxPro application, the developer might 
    frequently need commenting out or un-commenting block of codes in 
    module windows. These are quite tedious processes if the block has 
    several tens of code lines.

    In complex modules, it might be useful to put some sort of signs 
    to mark commented blocks as showing "why they have been commented" 
    or in team work situations; "who commented out the block of code 
    lines and why".  These marks can play some sort of vital role in 
    programming techniques.

    To solve these issues, I present two separate builders in the same 
    file.


22. Passing SQL Strings to FoxPro
    -------------------------------------------------------------------
    ReplyTo:  <>
    URL:     http://www.wji.com/FoxPro/w9223.html
    FoxPro Versions: All.

    When passing SQL strings, you have to be careful about embedded 
    apostrophes and quotation marks. For example, this SQL command 
    will fail for the name O'Brien:
        
    strName = "O'Brien"
    DoCmd.RunSQL _
      "DELETE * FROM Customers WHERE Fullname = ' " & strName & " ';"
        
    Because of the embedded apostrophe in O'Brien, the SQL string 
    won't be interpreted properly.

    To solve this problem, I wrote a function called SafeSQLString 
    which surrounds the string in quotation marks. It also replaces 
    any embedded quotations marks with double quotations, which SQL 
    can handle. You use the function like this:
        
    strName = "O'Brien" 
    DoCmd.RunSQL _
     "DELETE * FROM Customers WHERE Fullname = " & _
      SafeSQLString(strName) & ";"         

    Here's the function along with the Replace helper function:

    Public Function SafeSQLString(Text As Variant) As Variant
    On Error GoTo Err_SafeSQLString 
        Const QUOTE = """"      ' That's 4 quotation marks in a row.
          
        If IsNull(Text) Then
            SafeSQLString = QUOTE & QUOTE
        Else
            SafeSQLString = QUOTE & _
                            Replace(Text, QUOTE, QUOTE & QUOTE) & QUOTE
        End If
              
    Exit_SafeSQLString:
        Exit Function
              
    Err_SafeSQLString:
        SafeSQLString = ""
        Resume Exit_SafeSQLString
              
    End Function 
        
    Public Function Replace(ByVal varValue As Variant, _
                            ByVal strFind As String, _
                            ByVal strReplace As String) As Variant
          
        Dim intLenFind As Integer
        Dim intLenReplace As Integer
        Dim intPos As Integer
              
        If IsNull(varValue) Then
            Replace = Null
        Else
            intLenFind = Len(strFind)
            intLenReplace = Len(strReplace)
                  
            intPos = 1
            Do
                intPos = InStr(intPos, varValue, strFind, 0)
                If intPos > 0 Then
                    varValue = 
                       Left(varValue, intPos - 1) & strReplace & _
                       Mid(varValue, intPos + intLenFind)
                    intPos = intPos + intLenReplace
                End If
            Loop Until intPos = 0
        End If
        Replace = varValue
              
    End Function
        
    I intentionally left out the single quotation mark. Since I'm 
    surrounding the string with double quotes, the single quotes are 
    no longer needed.  Here are some examples:

    o "DELETE * FROM Customers WHERE Fullname = " &
    SafeSQLString("O'Brien")

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "O'Brien"

    o "DELETE * FROM Customers WHERE Fullname = " & 
      SafeSQLString("O'Brien")

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "O'Brien"

    o strName = "An embedded " & """" & " double quote!"
    '  translates to: An embedded " double quote!

    "DELETE * FROM Customers WHERE Fullname = " & _
     SafeSQLString(strName)

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "An embedded "" double quote!"


23. LookIn on Outlook to Speed Up FoxPro and Office
    -------------------------------------------------------------------
    ReplyTo: Bharat Ahluwalia  
    URL:     http://www.wji.com/FoxPro/w9142.html
    Product Versions: FoxPro 97, Office 97

    If you have MS Outlook installed, your FoxPro 97 and other Office 
    97 applications can be speeded up by changing some of the default 
    values.

    o  Open Outlook
    o  Go to Options under the Tools menu.
    o  Click on the Journal tab.
    o  Uncheck all the boxes from the Also Record files from: listbox.

    If an application is checked, everytime you open the application a 
    journal entry is created, thus slowing you down.


24. From the Publisher
    -------------------------------------------------------------------
    The FoxPro Email Newsletter is created and distributed compliments 
    of the World Wide Developer Network (WWDN) of Boston, Massachusetts, 
    USA.  Come, get involved!  This is the place where developers talk 
    to developers as peers.

    Publisher:
        Les Squires 
        Word Jenny, Inc.
        400 West Cummings Park, Woburn (Boston), Massachusetts USA   
        781-935-1520

    Editors/Content Specialists
        Phil Denoncourt III 
        Pat Tormey          
        Brendan Donovan     

    Website:  http://www.wji.com/FoxPro/homepage.html
  
    Address Changes:
        Send an email USING YOUR OLD ADDRESS.
        Indicate New Address.
    
    Adding Subscribers to Mailing List:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-YES in Subject: or Body of Message.
    
    Deleting Subscribers:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-NO in Subject: or Body of Message.
    
    Retrieving Back Issues and General Downloads:
         FTP to ftp.wji.com.
         Login as FTP.
         Use your ID as your password.
         cd FoxPro
         Copy back issues and downloads as they become available.
    
(c) 1998 World Wide Developer Network (WWDN)
From:	Les Squires [lsquires@wj.WJI.COM]
Sent:	Tuesday, February 10, 1998 1:47 AM
To:	Rick@CICorp.com
Subject:	  AC198:  FoxPro Email Newsletter

-----------------------------------------------------------------
Member:      Rick Shaddock of Crystal City Maryland USA
Subs ON/off: ACCE clip FOXP sqlw it vdb wji
Jobs ON/off: acce actx c++ clip dbase delphi fox it java oracle
             pb sqlserver sqlwind sybase vb vdb y2k
-----------------------------------------------------------------
Hi again, Rick!

Here's the catch for this month!

Les

-----------------------------------------------------------------------
-----------------------------------------------------------------------
FoxPro Email Newsletter                                   January, 1998
A Service of the World Wide Developer Network             Vol. 6  No. 1
http://www.wji.com/FoxPro/homepage.html              ftp.wji.com/FoxPro
-----------------------------------------------------------------------
 1. Editor's Note
 2. FoxPro JobsExpress
 3. Finding the Irish in your Database
 4. Auditing the Records in an FoxPro 97 Table
 5. Managing Your Reports with the Data-Driven Paradigm
 6. Printing Reports as a Batch Process
 7. Extracting the Network User ID using 16 Bit API Calls.
 8. Showing System Objects And "Select *" Don't Mix In Replicas
 9. Viewing Logged-on Users Through the .LDB
10. Handling Year 2000 Issues (Y2K)
11. Achieving Automation Goals using Database Documenters Code.
12. Repairing and Compacting with Jet API's
13. Optimizing the Speed of Report Runs.
14. Creating a Flexible User Interface Design with 'System' Tables
15. ODBCDirect Askew Without VB 5.0 Pro Installed
16. Setting Echo On/Off For Debugging
17. Printing Relations from Any FoxPro 97 Database
18. Internet Database in German FoxPro 97
19. FoxPro 8.0 Export Facilities.
20. Customizing Function Keys in FoxPro
21. Comment Block and UnComment Block Builders for FoxPro 97
22. Passing SQL Strings to FoxPro
23. LookIn on Outlook to Speed Up FoxPro and Office
24. From the Publisher
-----------------------------------------------------------------------
 1. Editor's Note  
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9161.html

    Lots of good code this month.  Thanks again to all of you who take 
    the time to enrich our FoxPro developer community!


 2. FoxPro JobsExpress
    -------------------------------------------------------------------
    ReplyTo: Les Squires, Publisher  
    URL:     http://www.wji.com/FoxPro/w7413.html

    We've built a new email system to push job announcements immediately 
    to developers who want them.  Please note that we are no longer 
    posting job announcements to web pages.  Use one of the links below 
    to fire up the system!  Let us know what you think!

    Employers:  http://www.wji.com/FoxPro/w7412.html
    ---------------------------------------------------------
    Looking for full or part-time employees, consultants, tutors, or the 
    like?  Submit your job announcement ad to us and we will email it to 
    our pool of FoxPro developers.

    Developers:  http://www.wji.com/FoxPro/w8495.html
    ---------------------------------------------------------
    Sign up for FoxProJobsExpress!  Receive an email of a job 
    announcement within 15 seconds of its being posted!


 3. Finding the Irish in your Database
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9355.html
    ftp://ftp.wji.com/FoxPro/fsifind.zip   //-FSIFIND.ZIP  (43,064)
    FoxPro Version: 8.0  (But you could roll it back to version 2.0.)
    Keywords: SQL, FINDIT, QUOTE

    Problem:  SQL engines can choke on a single quote, but they think 
    two single quotes are just one literal quote.

    Solution:  Use the file fsiFind.MDB. It converts O'Brein to O''Brien 
    and all single apostrophes to two apostrophes.

    I got a little help writing this from the Microsoft Systems Journal 
    at http://www.microsoft.com/msj/


 4. Auditing the Records in an FoxPro 97 Table
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9354.html
    ftp://ftp.wji.com/FoxPro/fsiaudit.exe //-FSIAUDIT.EXE (190,416)
    ftp://ftp.wji.com/FoxPro/fsivideo.exe //-FSIVIDEO.EXE (1,360,643)
    Keywords: AUDIT TRAIL; CLASSES; NETWORK USER NAME
    FoxPro Version: 97

    The file fsiAudit.EXE contains an FoxPro 97 MDB (self extracting 
    PkZip) that demonstrates how to audit the records in an FoxPro 
    table.

    Each record programmatically maintains its origin date/time, 
    date/time of the last edit, and the Network User ID of person logged 
    on at the time.

    The sample code wraps the Network User Id API call in an FoxPro 97 
    Class, which can be used "as is" in VB 4-32 or VB 5.0.  All source 
    code is included and it's free.

    The file fsiVideo.EXE is an instructional overview for the code, 
    made with the MS Camcorder Movie. You will need a sound card to 
    fully appreciate it!


 5. Managing Your Reports with the Data-Driven Paradigm
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9353.html
    ftp://ftp.wji.com/FoxPro/ddreport.zip   //-DDREPORT.ZIP (22,024)
    Keywords: 'DATA DRIVEN' REPORTS
    FoxPro Versions: All

    This file Reports.MDB, is a complete 'Data Driven' example of an 
    easy way to manage all the reports in you application, developed in 
    FoxPro 2.0.

    The idea is to store all reports in a table, let the user select the 
    reports they would like, and print them in a batch from a single 
    command button.


 6. Printing Reports as a Batch Process
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9350.html
    FoxPro Versions: All

    Suppose you had a table with all available reports and you wanted to 
    let the user select several for printing.

    All you'd have to do is let them toggle the 'PrintIt' field with a 
    simple form. You can even give the report a user friendly name so 
    they can recognize the report 'Mary's Monthly Report' instead of the 
    less kindly 'rptEmployeeLayoffsAntiPersonalDept'.
           
    Then run this handy routine:
           
    Sub ReportAll ()
    '**************************************************************
    ' Author   : Pat Tormey Tormey@foursquare.com
    ' Date     : 7 April 1996
    ' Comments : Objective is to Select a report from Engine Listing
    '***************************************************************
    On Error GoTo ReportAll_ERR
           
     Dim db As Database
     Dim rs As Recordset
     Dim i As Integer
     Dim Count%
     Dim x As Variant
            
     Set db = DBengine.WorkSpaces(0).Databases(0)
     Set rs = db.OpenRecordset("tblReports", DB_OPEN_SNAPSHOT)
            
     'Count Up the Printit
     Count% = 0
     Do Until rs.EOF  'let's see how many reports are tagged to Print
      If rs.PrintIt Then
       Count% = Count% + 1
      End If
      rs.MoveNext
     Loop
           
     If Count% = 0 Then
     Exit Sub
     End If
       'Set up the system Meter   
      x = SysCmd(SYSCMD_INITMETER, Str$(Count%) & " Reports", Count%)
       rs.MoveFirst
     Do Until rs.EOF
      If rs.PrintIt Then  'Is It Tagged
       x = PrintReport(rs.ReportName)
       x = SysCmd(SYSCMD_UPDATEMETER, i)
      End If
      i = i + 1
      rs.MoveNext
     Loop
     rs.Close
     db.Close
      x = SysCmd(SYSCMD_REMOVEMETER)
           
    ReportAll_EXIT:
        Exit Sub
           
    ReportAll_ERR:
     'Never Say Error .. especially if there is one
      MsgBox "Note:" & Error$, 64, "Application Note" 
        Resume ReportAll_EXIT
           
    End Sub
           
    Function PrintReport (cReport)
    '**********************************************************
    ' Author  : Pat Tormey Tormey@foursquare.com
    ' Date    : 7 April 1996
    '**********************************************************
    On Error GoTo PrintReport_ERR
      DoCmd OpenReport cReport, A_NORMAL
    PrintReport_EXIT:
        Exit Function
           
    PrintReport_ERR:
      MsgBox "Note:" & Error$, 64, "Application Note: There is " & _
                                   "nothing wrong. Go back to sleep"
           
        Resume PrintReport_EXIT
           
    End Function


 7. Extracting the Network User ID using 16 Bit API Calls.
    -------------------------------------------------------------------
    ReplyTo: Pat Tormey  
    URL:     http://www.wji.com/FoxPro/w9347.html
    FoxPro Versions: All

    This file extracts the Network User ID in FoxPro 2.0 using the 16 
    Bit API calls.

    I must admit that I stole this idea from somebody, probably Dan 
    Appleman.  I recommend his books 'Visual Basic Programmer's Guide to 
    the Windows API' for 16 bit calls and  'Visual Basic Programmers 
    Guide to the WIN 32 API' for 32 bit calls.

    Option Compare Database 'Use database order for string comparisons
    Option Explicit
           
    ' Uses WINDOW API to get the Net Users Name from the Local Area
    '  Network
    ' You can use this to see if the users should have write/delete
    '  privileges, or to secretly tag who did what last!

    Declare Function wu_WNetGetUser% Lib "USER.EXE" Alias _
     "WNetGetUser" (ByVal szUser$, lpnBufferSize%)
           
    Function NetworkUserID () As String
    '**********************************************************
    ' Author  : Pat Tormey Tormey@foursquare.com
    ' Date    : 7 April 1996
    '**********************************************************
      On Error GoTo NetworkUserID_ERR
      Dim szUser As String * 255
      Dim lpnBufferSize As Integer
      Dim status As Integer
           
      lpnBufferSize = 255
      status = wu_WNetGetUser(szUser, lpnBufferSize)
      If (status = 3) Then
        NetworkUserID = "WNetGetUser Failed"
      Else
        'Return up to first Null.
        NetworkUserID = Left$(szUser, InStr(szUser, Chr(0)) - 1)
      End If
           
    NetworkUserID_EXIT:
        Exit Function
           
    NetworkUserID_ERR:
      MsgBox "Note:" & Error$, 64, "Application Note"
        Resume NetworkUserID_EXIT
           
    End Function


 8. Showing System Objects And "Select *" Don't Mix In Replicas
    -------------------------------------------------------------------
    ReplyTo: Philip Hurzeler  
    URL:     http://www.wji.com/FoxPro/w9341.html
    FoxPro Versions: 97, possibly 95 (Try this in FoxPro 95, and

    If any controls in your replicated FoxPro 97 database have row 
    sources that start with 'SELECT * FROM...', you can create bugs by 
    setting the 'Show System Objects' option on or off.
           
    Setting the option on makes visible the system columns devoted to 
    replication, which can have a ripple effect.  For instance, the 
    ordinal values of the Column property of list or combo boxes all get 
    bumped up by 3 unless the row source property calls out each column 
    by name.

    One way you can prevent this problem is to avoid 'SELECT' in row 
    sources.  Another way is to set the Application's 'Show System 
    Objects' option to False in your Autoexec macro or startup form's 
    Open event.


 9. Viewing Logged-on Users Through the .LDB
    -------------------------------------------------------------------
    ReplyTo: Thom Allen  
    URL:     http://www.wji.com/FoxPro/w9322.html
    FoxPro Version: 2.0

    For a very rudimentary view of who is logged in to a database, read 
    the .LDB file.  Remember that the .LDB is not cleared when a user 
    logs out, so this is not 100% accurate, but at least you can get an 
    idea who is in or has been. I run the function from a Macro, and a 
    nice little pop-up box displays the user names in the .LDB file.  

    Have fun, and I would like any feed back.  I also have a version 
    that allows for you to enter an .LDB file name anywhere on the 
    network and display the users in that database as well.
           
    Function WhosInDB ()
           
    Dim varPullID As String
    Dim varUserID As String * 64
    Dim Indx As Long
    Dim varArray() As String
    Dim varDisplay As String
    Dim varLDBName As String
    Dim dbName As Database
    Dim varBackPath As Integer
    Dim Max As Integer
           
    Set dbName = CurrentDB()
    varLDBName = Left(dbName.Name, Len(dbName.Name) - 4) & _
                  ".LDB"   ' Assign .LDB file name
           
    On Error GoTo errFileOpenError
    Open varLDBName For Random Shared As #1 Len = Len(varUserID)
      ' Open to read file.
    Max = LOF(1) / Len(varUserID)
    ReDim varArray(1, Max)          ' Set up Array to hold user names
    For Indx = 1 To Max             ' Loop to cycle through entries.
       On Error GoTo errGatheringUsers
       Get #1, Indx, varUserID            ' Read from file.
       varPullID = Mid(varUserID, 33, 7)  ' Pull User ID from 64 bites
       varArray(1, Indx) = varPullID      ' Assign User ID to Array

    ' Put User ID's in one variable
       varDisplay = varDisplay & varArray(1, Indx) & Chr(13)     
    Next Indx
       ' Display users in MsgBox
       MsgBox "These users are currently" & Chr(13) _
              "logged into the database:" & _
              Chr(13) & Chr(13) & varDisplay               
    Close #1                               ' Close file
    Exit Function
           
    errNoLDBFile:
       MsgBox "There is no LDB file to pull data from"
       Exit Function
           
    errFileOpenError:
       MsgBox "There was an error opening the LDB file for read. " & _
          "Please try again."
       Exit Function
           
    errGatheringUsers:
       MsgBox "There was an error gathering the User names. " & _
               "Please try again."
       Exit Function
           
    End Function
           

10. Handling Year 2000 Issues (Y2K)
    -------------------------------------------------------------------
    ReplyTo: Christopher R. Baker  
    URL:     http://www.wji.com/FoxPro/w9268.html
    ftp://ftp.wji.com/FoxPro/sagent.zip  //-Download SAgent.ZIP (19,435)
    Keywords: TIPS YEAR 2000
    FoxPro Versions: 2.0 and Up
    
    Editor's Note.  SAgent.mdb comprises of source code and demo files 
    from Chris Baker's January, 1998 presentation to the FoxPro User 
    Group in Boston.

    In the sample below, Chris creates a manageable technique to control 
    FoxPro intrinsic Y2K methods. For details of this and many other 
    handy routines download SAgent.mdb (FoxPro 2.0.)

    Function saCentury (varDate As Variant) As Variant
    On Error GoTo Err_saCentury
    ' Chris Baker cBaker@SpecialAgent.com
    ' Given a date with a two digit year, FoxPro 2.0
    ' ALWAYS ASSUMES THE YEAR IS 19xx
    ' Regardless of the system date.
    '
    ' This routine compensates for 2-digit year ambiguity by creating
    ' 100 year window for valid dates.  The window 'rolls over' at
    ' the year calculated by adding FUTURE_YEARS to the present system
    ' year.
    '
    ' This system does not properly handle all four digit years that
    ' fall outside of the 100 year window.
    '

    Const FUTURE_YEARS = 10

      Dim intDateYear As Integer    'Year part of date to be tested
      Dim intFutureYear As Integer  'Future Year Cutoff for all dates
      Dim intPastYear As Integer    '

      saCentury = varDate
      If IsDate(varDate) Then
        intDateYear = DatePart("yyyy", varDate)
        intFutureYear = DatePart("yyyy", Now) + FUTURE_YEARS
        intPastYear = intFutureYear - 100
        If (intDateYear > intFutureYear) Then
          saCentury = DateAdd("yyyy", -100, varDate)
        ElseIf (intDateYear <= intPastYear) Then
          saCentury = DateAdd("yyyy", 100, varDate)
        End If
      End If

    Exit_saCentury:
      Exit Function

    Err_saCentury:
    '!!  saMsgErr Error$, Err, "zbasUtility.saCentury"
      Resume Exit_saCentury
    End Function


11. Achieving Automation Goals using Database Documenters Code.
    -------------------------------------------------------------------
    ReplyTo: Michael Kaplan  
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9260.html
    URL:     http://www.wji.com/FoxPro/w9270.html
    RE: Interrogating Macros Using Automation by Mike Swift.

    I have an application which, using Automation and COM does the following 
    things:

    o Starts an FoxPro session
    o Loads a database from a pre-defined list of files
    o Looks through each collection - Forms, Queries, Modules etc.
    o Opens, design view, each item in these collections
    o Prints the properties of the items (or components within the items.)
    o For modules, the application interrogates individual lines of 
      source code (using the Lines property), and searches for certain 
      keywords.

    Now, I want to do the same thing with Macros as I've done with 
    modules - using automation....

    Kaplan replies:  

    Have you considered perhaps looking at the Database Documenter's 
    code in the unlocked wizards and trying to make that work for you?

    There are no guarantees that this will work past FoxPro 97, but 
    you are in undocumented-land already as it is.

    Higham replies: 

    You could try doing something with the Application.SaveAsText 
    procedure.  This procedure is a hidden member of the 'FoxPro 
    Application Object'.  Go to your 'Object Browser' and ensure that 
    'Show Hidden Members' is checked.   The syntax is relatively 
    straightforward

    Application.SaveAsText acMacro, "YOURMACROHERE", "FILENAMEHERE"

    You still have to parse the text file.


12. Repairing and Compacting with Jet API's:  A Question
    -------------------------------------------------------------------
    ReplyTo: Michael Kaplan  
    URL:     http://www.wji.com/FoxPro/w9259.html
    RE: Repairing and Compacting Databases Automatically by Holger Rohlfs.

    Is there a possibility to repair and compact a database 
    automatically, AND finding out if an error occurred in FoxPro 2.0? 
    Currently I use the following code:

    Code (and further details) Follow

    There is no fix or anything here that you can do. The only reason 
    that FoxPro is able to warn you of errors is that they use Jet 
    directly, not DAO.

    There is no way that anyone outside of Microsoft can do the Jet APIs 
    to compact or repair, and that is the only way you would be able to 
    do this.


13. Optimizing the Speed of Report Runs.
    -------------------------------------------------------------------
    ReplyTo: Dave Milidonis  
    URL:     http://www.wji.com/FoxPro/w9263.html
    FoxPro Version: 7.0

    While working on a client project I stumbled on a neat trick for 
    optimizing the speed of report runs.  Reports tend to run faster off 
    tables, rather than directly off queries, so create a "make table" 
    query for your report data.   Once done, use an Event Procedure on 
    the report's On_Open event and insert the following code:
       
    Private Sub Report_Open(Cancel As Integer)
        DoCmd.OpenQuery "mkqryName",,acReadOnly
        DoCmd.OpenReport "rptName", acViewPreview
    End Sub
           
    Now, run the report.

    The query executes creating the table and bringing up the report. 
    All with the click of a mouse.   I am sure any developer could add 
    more to the event procedure in order to further automate 
    processing. For example: Saving the Report to a file; sending the 
    report; etc.


14. Creating a Flexible User Interface Design with 'System' Tables
    -------------------------------------------------------------------
    ReplyTo: Robert S. Ruder  
    URL:     http://www.wji.com/FoxPro/w9224.html
    FoxPro Versions: 97

    It has occurred to me that if you take the concept of databases to 
    a logical conclusion, then the whole process of designing a 
    database is built around sets of data which describe the nature 
    and process of the database. This is in fact what Microsoft 
    employs in their System Tables. What I decided to develop was a 
    database design which would allow me to add functionality to the 
    database by simply adding a record to a table which defined that 
    functionality.

    What I have managed to build is a user interface which is designed 
    around an initial 'database map' form which allows the user to 
    choose a selection of database tasks based on a selected 
    category... in this case I use a department metaphor. However, no 
    matter which department the user selects, the second form you go 
    to is the same, but as it opens, I query my system table to find 
    out how to modify the form for the chosen department.

    My system tables are as follows: 

        Table Name:   Task Categories
        Fields:       TaskCategoryID  AutoNumber
                      CategoryName    Text

        Table Name:   Tasks                                            
        Fields:       TaskID          AutoNumber
                      TaskName        Text
                      TaskCategory    Number-Long Integer
                      TaskSubForm     Text

    When the user clicks on a map item, the following code is 
    executed:

    Function DisplayTasks(Dept As Integer)
      'The Dept value is passed in, i.e. =displayTasks(1)
      Dim tempdb As Database, temprs As Recordset
      Dim SQLst As String

      Set tempdb = CurrentDb
      SQLst = "Select * from TaskCategories where TaskCategoryID = " & _
               Dept Set temprs = tempdb.OpenRecordset(SQLst)

      DoCmd.OpenForm "Unit Form", acNormal
      Forms![Unit Form].Caption = temprs![CategoryName] & "Tasks"
      Forms![Unit Form]![Title] = temprs![CategoryName] & "Options"
      Forms![Unit Form]![TaskCatID] = Dept
    End Function

    The control [TaskCatID] is an unbound Text Box which is the Link 
    Master for a subform control. It displays the appropriate tasks 
    for the department selected. The form [Unit Form] also contains 
    another unbound subform control. Because my Tasks system table 
    contains the field [TaskSubform], I have a location where I can 
    store the name of the appropriate subform for the defined task. In 
    the On Current event for the tasks subform, I execute the 
    following code:

    Parent![SubDisplay].SourceObject = _
           IIf(IsNull([TaskSubForm]),"sfrm_None", [TaskSubForm])

    The result is that which ever record becomes current in the left 
    hand list of tasks, the appropriate subform is displayed in the 
    right hand subform control. As my list of tasks grows, all I must 
    do is create a subform which can perform the task, add the task to 
    the tasks table, categorize it, and add its subform name. The rest 
    is already in place.

    I am currently working on expanding this concept to include 
    information about attached tables and data synchronization 
    information between two attached data sources. My code can simply 
    loop through a set of data and attach and synchronize the data 
    automatically. Overall, I'm pleased with the ability to create 
    dynamic designs by incorporating my own custom system tables.


15. ODBCDirect Askew Without VB 5.0 Pro Installed
    -------------------------------------------------------------------
    ReplyTo: Kevin Bruton  
    URL:     http://www.wji.com/FoxPro/w9258.html
    FoxPro Version: 97

    ODBCDirect demonstrates unpredictible behaviour when VB 5.0 
    Professional is not installed on a machine. Sample Code :

    Open RecordSet

    Set rsProduct = gblcnnODBC.OpenRecordset(strSQL, dbOpenDynaset, _
                     0, dbOptimisticValue)

    'Then later on issue a

      With rsProduct
          .Edit
           rsProduct!Fields = Something
          .Update
      End With

    Locking problem encountered:

    Machine A updates the same record Machine B is viewing. Machine B 
    tries to update the record, If VB 5.0 is installed, the record 
    locking error is correctly triggered, if VB 5.0 is not installed, 
    no error is returned, but the record is not updated.

    Error : 0 Assignment error.

        With Recordset
               .Edit
               rsProduct!Fields = Something
               .Update
        End With

    Machine A, tries to Update Record, receives error (VB 5.0 not 
    installed.) Machine B, tries to Update Record, suceeds (VB 5.0 
    installed.)

    The code is identical on the two machines , the only differance is 
    when VB 0.5 Pro is installed. How can this be solved without 
    installing VB 5.0 Pro on each machine?

    Installing the latest DAO (1.5) drivers did not solve this 
    problem.


16. Setting Echo On/Off For Debugging
    -------------------------------------------------------------------
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9256.html
    RE:      Speeding Up Your Front End with the Echo Method by Paul Brower.
    FoxPro Versions: 2.0 (?), 7.0, 8.0

    Are you aware that the Echo Method is a great tool for speeding up 
    many processes. When used correctly, the echo method will stop the 
    screen from being updated/repainted.
       
    Let's say that you have a Customer Screen (frmCustomer), and an 
    Invoice Screen (frmInvoice).  You want to be able to allow users 
    to double click an invoice, and go directly to the customer.  Here 
    is the Event you would use:

    Code follows:

    When debugging FoxPro 97 code that has the echo set to off, make 
    sure that you set the debug window to be on top. That way you can 
    always do CTRL+G and get to it.

    In FoxPro 97, I use compiler constants to set echo. For example:

    #If FDEBUG Then
        'continue as normal
    #Else
        Application.Echo False
    #End If


17. Printing Relations from Any FoxPro 97 Database
    -------------------------------------------------------------------
    ReplyTo: Mark Higham  
    URL:     http://www.wji.com/FoxPro/w9153.html
    FoxPro Versions: 8.0
    Keywords: PRINT RELATIONS
    ftp://ftp.wji.com/FoxPro/daorelat.exe  //-DAORELAT.EXE (219,407)

    I wrote this after downloading the Print Relations Wizard which 
    was patently no use.

    This self extracting zip file allows you to print out relations 
    from any FoxPro 97 database, you can save each separate diagram. 
    Zoom in and out.

    Generally it gives good relational diagrams which you can include 
    in any documentation. 


18. Internet Database in German FoxPro 97
    -------------------------------------------------------------------
    ReplyTo: Karl-Heinz Kristen  
    URL:     http://www.wji.com/FoxPro/w9155.html
    URL:     http://193.24.175.164/aspneu/VhsStart.htm //-Online example
    ftp:     ftp.wji.com/FoxPro/i_net.zip  //-I-NET.ZIP (199,811)

    Product Ver.: German FoxPro 2.0 and 8.0, German IIS and German NT
    System:       Windows NT / Windows 95 - InternetServer 3.0
    Development:  ASP (ActiveServerPages) from MS must be installed.
    Database:     FoxPro 2.0 or FoxPro 7.0
    Language:     VBScript / VisualBasic (2.0 - 5.0)
    Important:    Use the Permission-Configuration from the 
                  InternetServer and check the Directorys of the InetPub 
                  for Read/Write & Run. 

    Step by Step Prodcedure to run the DB on an Intranet.

    1. Copy all Files to your InetPub-Root. I used the 
       E:\InetPub\wwwroot\aspneu as Directory

    2. Goto the ControlPanel to invoke the ODBC-Manager for a new 
       System-DSN entry.

       i. Check the System-DNS to make a new entry.
      ii. Check the FoxPro-Driver (Version 2.0/7.0)
     iii. Put in name of Database(ASP-File = aspneu), name it: aspneu
      iv. Check the Select-Button from Database and choose the      
          Database-Directory.  I used 
          E:\InetPub\wwwroot\aspneu\kurse2.mdb

     3. Now run IIE or Netscape and call Homepage (VHSSTART.HTM)

     For more Information on ASP.  A very good Book about ASP is 'ASP: 
     Working with ActiveServerPages', available at Carry Book Support 
     at http://www.caryp.com/


19. FoxPro 8.0 Export Facilities.
    -------------------------------------------------------------------
    ReplyTo: Anders H. Madsen  
    URL:     http://www.wji.com/FoxPro/w9170.html
    FoxPro Versions: 8.0
    ftp://ftp.wji.com/FoxPro/ac8exnl.zip  //-AC8EXNL.ZIP (210,080)

    Abstract

    The attached database includes two top level procedures for 
    exporting which can be used instead of TransferText in certain 
    situations.

    TransferText_nl

    This procedure is similar to TransferText but independent of 
    fields.  What this means is that TransferText_nl can be used with 
    tables and queries even if they have different fields than the 
    table or query, which were used when creating the import/export 
    specification. In other words, TransferText_nl works more like 
    TransferText in the good old FoxPro 2.0.

    Limitations:  Only works for exporting of delimited test files. Can 
    not export to ASCII format.

    Export_nl

    This is an export procedure which in some ways are more flexible 
    than TransferText and TransferText_nl. The procedure is especially 
    valuable when exporting cross tab queries. The most important 
    facilities are:

    o  Uses import export specifications but independent of fields 
       (like FoxPro 2.0)

    o  Also capable of using an other record separator than cariage 
       return line feed.

    o  Capable of sorting columns in complex ways.

    o  Can export two queries to the same file: Typically this is a 
       detail query and a totals query.

    o  Can convert null values to zero.

       Limitations: Only works for exporting of delimited test files.
       Cannot export to ASCII format.

    References to similar pieces of work

    http://www.wji.com/FoxPro/w6630.html -- Incompatibility Between 
    FoxPro 2.0 and FoxPro7.0/8.0 Text File Inport/Export by Shamil 
    Salakhetdinov. 

    Mr. Salakhetdinov has overcome the problem with FoxPro 8.0's 
    dependence of fields in an other way. His approach is to create a 
    specification and then use FoxPro's own TransferText. In short his 
    code has the following advantages:

    o  Can both import and export.
    o  Can handle both delimited and fixed width formats.
    o  Also works for ASCII format.
    o  Less code (= less memory footprint).

       
    In short our approach has the following advantages:

    o Several good facilities for handling cross tab queries (see the 
      comments in Export_nl below).

    o Can put together the results of a detail query and a totals 
      query into one export file.

    o Also capable of using an other record separator than cariage 
      return line feed.

    o You do not have to change any code to use other delimiters etc.


20. Customizing Function Keys in FoxPro
    -------------------------------------------------------------------
    ReplyTo: Paul Brower  
    URL:     http://www.wji.com/FoxPro/w9172.html
    ftp://ftp.wji.com/FoxPro/fkeys.zip  //-FKEYS.ZIP (29,301)
    FoxPro Versions: 8.0

    The file fKeys.mdb consists of 1 macro (AutoKeys), 1 form 
    (frmFKeys) and 1 module (mdlFkeys).

    These items will allow developers to run code by pressing a 
    function key.  The form frmFkeys allows users to customize what 
    function key will perform what action.  The windows registry is 
    used to keep track of the function key assignments.

    For an example, when you download this database, open up the form 
    frmFkeys, select "ScreenName" in the combo box, and click a 
    function key command button.  (i.e. F-5).  "ScreenName" will 
    appear in the text box under the command button.  You must now 
    exit the database and re-open it.  Now you can press function key 
    F-5 (or the one that you assigned), and if you have a form open, a 
    message box will appear with the form name.  By looking at my 
    code, you should be able to see that it will now be very simple 
    for you to create new subroutines and be able to execute them by 
    pressing a function key.

    I have a client that was using a system called TeleMagic, and they 
    were used to being able to print forms, etc, from the use of 
    function keys.  They asked that I provide the same functionality 
    with function keys in the new FoxPro database, and this has worked 
    out very well.

    Important Notes:

    o You must add subroutine names to the combo box on the form 
      "frmFkeys."  i.e.  if you create a sub called "Calculate 
      Commission", you need to add "Calculate Commission" to the value 
      list in the combo box.  

    o I don't have any error code for these examples.  You will need 
      to create your own.

    o Additional key assignments could be made.  For example if you 
      wanted to assign a subroutine to "Ctl-F5", you would need to add 
      ^{F5} in the macro AutoKeys, and provide the necessary controls 
      and code on the form and module.

    o The function key values are stored in the windows registry as 
      "txtF#".  My code requires that a field prefixed with "txtF" be 
      present in order to write the registry information.  Feel free 
      to change this.

    o This code if free and available to all who dare to make their 
      development just a tad bit more user friendly, and cool.


21. Comment Block and UnComment Block Builders for FoxPro 97
    -------------------------------------------------------------------
    ReplyTo: Mehmet Acikgoz  
    URL:     http://www.wji.com/FoxPro/w9154.html
    ftp://ftp.wji.com/FoxPro/pdncbuil.zip  //-PDNCBuil.ZIP (23,609)
    Keywords: COMMENT BLOCK UNCOMMENT BLOCK BUILDERS FoxPro 97
    FoxPro Versions: 8.0

    In developing an FoxPro application, the developer might 
    frequently need commenting out or un-commenting block of codes in 
    module windows. These are quite tedious processes if the block has 
    several tens of code lines.

    In complex modules, it might be useful to put some sort of signs 
    to mark commented blocks as showing "why they have been commented" 
    or in team work situations; "who commented out the block of code 
    lines and why".  These marks can play some sort of vital role in 
    programming techniques.

    To solve these issues, I present two separate builders in the same 
    file.


22. Passing SQL Strings to FoxPro
    -------------------------------------------------------------------
    ReplyTo:  <>
    URL:     http://www.wji.com/FoxPro/w9223.html
    FoxPro Versions: All.

    When passing SQL strings, you have to be careful about embedded 
    apostrophes and quotation marks. For example, this SQL command 
    will fail for the name O'Brien:
        
    strName = "O'Brien"
    DoCmd.RunSQL _
      "DELETE * FROM Customers WHERE Fullname = ' " & strName & " ';"
        
    Because of the embedded apostrophe in O'Brien, the SQL string 
    won't be interpreted properly.

    To solve this problem, I wrote a function called SafeSQLString 
    which surrounds the string in quotation marks. It also replaces 
    any embedded quotations marks with double quotations, which SQL 
    can handle. You use the function like this:
        
    strName = "O'Brien" 
    DoCmd.RunSQL _
     "DELETE * FROM Customers WHERE Fullname = " & _
      SafeSQLString(strName) & ";"         

    Here's the function along with the Replace helper function:

    Public Function SafeSQLString(Text As Variant) As Variant
    On Error GoTo Err_SafeSQLString 
        Const QUOTE = """"      ' That's 4 quotation marks in a row.
          
        If IsNull(Text) Then
            SafeSQLString = QUOTE & QUOTE
        Else
            SafeSQLString = QUOTE & _
                            Replace(Text, QUOTE, QUOTE & QUOTE) & QUOTE
        End If
              
    Exit_SafeSQLString:
        Exit Function
              
    Err_SafeSQLString:
        SafeSQLString = ""
        Resume Exit_SafeSQLString
              
    End Function 
        
    Public Function Replace(ByVal varValue As Variant, _
                            ByVal strFind As String, _
                            ByVal strReplace As String) As Variant
          
        Dim intLenFind As Integer
        Dim intLenReplace As Integer
        Dim intPos As Integer
              
        If IsNull(varValue) Then
            Replace = Null
        Else
            intLenFind = Len(strFind)
            intLenReplace = Len(strReplace)
                  
            intPos = 1
            Do
                intPos = InStr(intPos, varValue, strFind, 0)
                If intPos > 0 Then
                    varValue = 
                       Left(varValue, intPos - 1) & strReplace & _
                       Mid(varValue, intPos + intLenFind)
                    intPos = intPos + intLenReplace
                End If
            Loop Until intPos = 0
        End If
        Replace = varValue
              
    End Function
        
    I intentionally left out the single quotation mark. Since I'm 
    surrounding the string with double quotes, the single quotes are 
    no longer needed.  Here are some examples:

    o "DELETE * FROM Customers WHERE Fullname = " &
    SafeSQLString("O'Brien")

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "O'Brien"

    o "DELETE * FROM Customers WHERE Fullname = " & 
      SafeSQLString("O'Brien")

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "O'Brien"

    o strName = "An embedded " & """" & " double quote!"
    '  translates to: An embedded " double quote!

    "DELETE * FROM Customers WHERE Fullname = " & _
     SafeSQLString(strName)

    The SQL engine will see the above string as:

    DELETE * FROM Customers WHERE Fullname = "An embedded "" double quote!"


23. LookIn on Outlook to Speed Up FoxPro and Office
    -------------------------------------------------------------------
    ReplyTo: Bharat Ahluwalia  
    URL:     http://www.wji.com/FoxPro/w9142.html
    Product Versions: FoxPro 97, Office 97

    If you have MS Outlook installed, your FoxPro 97 and other Office 
    97 applications can be speeded up by changing some of the default 
    values.

    o  Open Outlook
    o  Go to Options under the Tools menu.
    o  Click on the Journal tab.
    o  Uncheck all the boxes from the Also Record files from: listbox.

    If an application is checked, everytime you open the application a 
    journal entry is created, thus slowing you down.


24. From the Publisher
    -------------------------------------------------------------------
    The FoxPro Email Newsletter is created and distributed compliments 
    of the World Wide Developer Network (WWDN) of Boston, Massachusetts, 
    USA.  Come, get involved!  This is the place where developers talk 
    to developers as peers.

    Publisher:
        Les Squires 
        Word Jenny, Inc.
        400 West Cummings Park, Woburn (Boston), Massachusetts USA   
        781-935-1520

    Editors/Content Specialists
        Phil Denoncourt III 
        Pat Tormey          
        Brendan Donovan     

    Website:  http://www.wji.com/FoxPro/homepage.html
  
    Address Changes:
        Send an email USING YOUR OLD ADDRESS.
        Indicate New Address.
    
    Adding Subscribers to Mailing List:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-YES in Subject: or Body of Message.
    
    Deleting Subscribers:
        Send Email to FoxPro@WJI.Com.
        Include String FoxPro-NO in Subject: or Body of Message.
    
    Retrieving Back Issues and General Downloads:
         FTP to ftp.wji.com.
         Login as FTP.
         Use your ID as your password.
         cd FoxPro
         Copy back issues and downloads as they become available.
    
(c) 1998 World Wide Developer Network (WWDN)
From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Saturday, February 07, 1998 9:14 AM
To:	Rick@CICorp.com
Subject:	Re: FYI:      Board List - Jan 31st, 1998

Yes I would Rick.  I'm attending conferences on FoxPro in March.  I have
freed my time up so that I can devote more time for FoxPro work.  I
mentioned this to you before that I would "ease" into it.  
Thanks in advance for the CC's.
Nancy L.

_____________________________________________________________________
You don't need to buy Internet FoxPro to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

From:	Rick@CICorp.com
Sent:	Friday, February 06, 1998 1:39 PM
To:	Barbara Conn
Subject:	RE: next meeting of FoxPro SIG

Yes, that sounds fine.


> -----Original Message-----
> From: Barbara Conn [mailto:bconn@cpcug.org]
> Sent: February 6, 1998 12:03 PM
> To: Rick Shaddock
> Subject: next meeting of FoxPro SIG
> 
> 
> 
> Hi, Rick,
> 
> I assume that the next meeting of FoxPro SIG is March 9?
> Not February 9?
> 
> Thanks,
> 
> 
> Barb
> 
> From:	Barbara Conn [bconn@cpcug.org]
Sent:	Friday, February 06, 1998 12:03 PM
To:	Rick Shaddock
Subject:	next meeting of FoxPro SIG


Hi, Rick,

I assume that the next meeting of FoxPro SIG is March 9?
Not February 9?

Thanks,


Barb

From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Randy Steer [r_steer@CPCUG.ORG]
Sent:	Thursday, February 05, 1998 9:33 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup             (MAAUG)

On Wed, 4 Feb 1998, Gabe Goldberg wrote:

> we get their treasury. Part of any merger is mapping joining group's
> treasury into CPCUG benefits. This is implementation of a merger, not an
> obstacle to it. What's your point about mergers? If the joining group
> thought they'd lose too much benefits, they wouldn't join.

It's not a problem as long as everyone has thought about it.  I'm assuming
that any group that charges $40/year, which was more than we charge until
a few months ago, was providing some concrete benefits that could be
expensive.  If it'a only paying for a few-page flyer to be mailed out,
then the content can be incorporated into the Monitor.  If they're mailing
out 20 pages of specialized articles on that one SIG's interest, we need
to know that they accept the fact that they won't be able to provide that
much coverage in the Monitor.  If they're happy, I'm happy, as long as
their happiness is informed.

Randy.
From:	Rick@CICorp.com
Sent:	Thursday, February 05, 1998 3:13 PM
To:	wbryan@rus.usda.gov
Subject:	FoxPro meetings

FoxPro Special Interest Group
Meets after main meeting of CPCUG
(See above)
The CPCUG FoxPro SIG presently meets for question & answer (& snacks) at the NIH caferia immediately after the main meeting. We also try to answer at least 10 questions as a group from the computer based multiple choice practice test for the Microsoft FoxPro Certified Professional Examination. We discuss why each answer is or is not correct, and always end up learning something new.

Mid-Atlantic FoxPro Users Group (MAAUG)
Meets 3rd Tuesday of each month at 7:00pm
National Association Social Workers
(next to Union Station Metro)
750 1st Street NE
Suite 700
Washington, DC
The Mid-Atlantic FoxPro User Group (MAAUG), has been in operation for about three years. Guest speakers include Luke Chung of FMS and Andrew Coupe of the Microsoft FoxPro development team. The CPCUG and MAAUG have a mix of members ranging from novices to a number of very experienced programmers. 
Contact: Bruce Troutman 800-918-5670


Thank you. This has been corrected in the Monitor and Web site.

> -----Original Message-----
> From: wbryan@rus.usda.gov [mailto:wbryan@rus.usda.gov]
> Sent: February 3, 1998 9:06 AM
> To: rick@cicorp.com
> Subject: ...no subject...
> 
> 
> Hi Rick,
> 
> I was trying to find out when the next FoxPro users group meeting will be. 
> I was at WGAS at 2 on Sunday the 1st but apparently it was a misprint that 
> there would be a meeting then. I'd appreciate any information. Thanks
> 
> Bill Bryan
> From:	Barbara Conn [bconn@cpcug.org]
Sent:	Thursday, February 05, 1998 12:44 PM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG meeting after Main meeting

On Thu, 5 Feb 1998 Rick@CICorp.com wrote:

> Just a reminder to put in the Monitor and Web site that the FoxPro SIG now
> meets after the main meeting in the cafeteria.  This will be so for the time
> being.
> 
> Possibly in a couple months we will be listing the Mid Atlantic FoxPro Users
> Group as a SIG, but for now please list us as meeting at the NIH.  Thanks
> 

Will do.  I'll update your Web page as well.

Thanks, Rick,


Barb

From:	Rick@CICorp.com
Sent:	Thursday, February 05, 1998 11:29 AM
To:	Nancy@CICorp.com
Subject:	FYI:      Board List - Jan 31st, 1998

Nancy, 
Would you some day like to be the Chairman of the FoxPro SIG?
Shall I copy you on the emails so you get an idea what goes on?
It could be a good opportunity and resume item.
If they meet in Twinbrook that would be convenient.
It seems I'll be doing so much travelling it will be harder for me to 
do it justice.  But I would say it uses an average of an hour or
two a week. 

-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@CPCUG.ORG] On Behalf Of Clifford Porter
Sent: February 4, 1998 5:14 PM
To: CPCUGBOD-L@CPCUG.ORG
Subject: Board List - Jan 31st, 1998


I am resending this as the first try didn't seem to work.
The only change from December are the numbers for Mary Brosnan.


CAPITAL PC USER GROUP BOARD OF DIRECTORS
January 31st, 1998
Telephone List of Officers and SIG Contacts

* = not for public use
D = Weekdays
? = not confirmed
E/W = Evenings and Weekends

JANE BENSON
RESTON SIG
D (703)715-1032
E/W (703)715-1032
Fax (703)715-8455
jbenson@shirenet.com

MARY BROSNAN
ELECTRONIC PUBLISHING SIG
D /E/W (703)207-0477 or 800-609-2214
Fax (703)207-0479
cameronprs@aol.com

JACK CARLSON
SENIOR SIG
D (301)286-7140
E/W (301)474-7091

ROBERT CLEMENZI
PARADOX SIG
D (703)827-2365
E (703)791-5747
clemenzi@cpcug.org

BARBARA CONN
CORPORATE COMMUNICATIONS DIRECTOR
MONITOR EDITOR/PUBLISHER
D (202)508-1494
E/W (202)452-7484
Fax (202)508-3698
bconn@cpcug.org

BRUCE COTTOM
PROJECT MANAGEMENT SIG
E/W (301)869-5690
bcottom@cpcug.org

BILL DEROCHE
MEDICAL COMPUTING DIRECTOR
D (202)283-5237
E/W (301)530-9699
wderoche@cpcug.org

CHIP DODGE
BUILD OR BUY; BUYING GROUP DIRECTOR
D* (703)767-3619
E/W (703)425-7038
cdodgemd@aol.com

STAN DOORE
PAST PRESIDENT
D (301)572-4939
E/W (301)572-4939
Fax (301)572-9165
stan.doore@mix.cpcug.org

ANN DORSEY
LIBRARY SERVICES DIRECTOR
D (301)320-7984
E/W (301)320-7984
abdorsey@cpcug.org

DAVID DRAZIN
AUTOCAD SIG
D* (202)529-7474
E/W (301)279-7593
Fax (202)529-0332

GEORGE ELY
PUBLIC RELATIONS DIRECTOR
D (301)762-3002
E/W (301)762-3002
gely@cpcug.org

HERB FREDRICKSEN
MARYLAND VICE PRESIDENT; GEOWORKS SIG
D (301)840-2056
E/W (301)840-2056
Fax (301)840-2056 (call first)
herb.fredricksen@mix.cpcug.org

LUIS GARCIA
VIRGINIA VICE PRESIDENT
D (301)457-1451
E/W (703)425-6902
Fax (301)457-3033
lgarcia@census.gov (work)

GABE GOLDBERG
INTERNET SIG
(703)941-1657
Fax (703)941-1791
gabe@acm.org

CHARLES HALLAHAN
STATISTICS SIG
D* (202)694-5051
E/W (703)532-2930
Fax (202)694-5718
hallahan@econ.ag.gov

WALTER HOUSER
SCIENCE FAIR COORDINATOR; HTML SIG
D (202)273-8012
E/W (301)299-0593
Fax (202)273-8159
houser@cpcug.org (At work)

CAROL HYATT
K-12 EDUCATION DIRECTOR
D (301)948-3748
E/W (301)948-3748
chyatt@mindspring.com



PEGGY IRELAND
PROGRAM
D (301)423-1618
E/W (301)423-1618
Fax (301)423-3488
ireland@cpcug.org

PEGGY KAUDERS
pkauders@erols.com

JERRY LAWSON
TRAINING DIRECTOR
E/W (703)541-0928
virtual@mindspring.com

LES LE VINE
WORDPERFECT SIG / BEGINNERS SIG
D (301)652-2532
E/W (301)652-2532
les.le.vine@mix.cpcug.org

BILL LUTZ
BALTIMORE SIG
D (410)256-9403
E/W (410)256-9403
wllutz@aol.com

RICHARD MALEY
DELPHI SIG
D (301)840-1554
E/W (301)840-1554
75127.17@compuserve.com

LARRY MCGOLDRICK
INTERNET SERVICES DIRECTOR
larrym@cpcug.org

KEVIN MCCRORY
OS/2 SIG
kmccrory@mnsinc.com


PATRICK MCVEIGH
TREASURER; WINDOWS SIG
E/W (301)963-7304
pmcveigh@cpcug.org

LILLIAN MILLINER
PRESIDENT
D (301)933-1717
E/W (301)963-9053
Fax (301)963-9386
milliner@cpcug.org

HENRY NOBLE
CORPORATE INFORMATION SYSTEMS DIRECTOR
D (301)963-3737
E/W (301)963-3737
noble@cpcug.org

ALTA OBEN
MetroMUG SIG
D* (703)613-7581
E/W (703)938-5831
Fax (703)938-5831 (call first)
alta@cpcug.org

CLIFFORD PORTER (MRS.)
INTERIM SECRETARY
D (301)762-9480
E/W (301)762-9480
chp2@erols.com

BILL REDISCH
FRAMEWORK SIG
D (301)286-6203
E/W (301)279-7929
bill.redisch@gsfc.nasa.gov

NORMAN RISCH
PEACHTREE SIG
D (301)681-8088
E/W (301)754-0735
norman.risch@mix.cpcug.org

ROY ROSFELD
LEISURE WORLD SIG
D (301)598-2825
E/W (301)598-2825
rosfeld@hot.mail.com

NASEEM F. SAAB
CLIPPER SIG
D (703)860-5022
Fax (703)264-1345
nsaab@ix.netcom.com

RICH SCHINNELL
FIRST VICE PRESIDENT
D (301) 949-9292
E/W (301)949-9292
Fax (301)949-8847
schinnel@cpcug.org

RICK SHADDOCK
FoxPro (MICROSOFT) SIG
D(703)486-2222 or (202)829-4444
rick@cicorp.com

PAUL SHAPIRO
DIRECTOR OF VOLUNTEERS
D (301)770-7899
E/W 9am-9pm (301)770-9512
pauls@cpcug.org  or pauls@capFoxPro.org

A. GREG SMITH
PAST PRESIDENT
gsmith@mail.thuntek.net

RANDY STEER
CAPITAL AREA VICE PRESIDENT
D (202)395-3164
E/W (202)745-5932
Fax (202)395-3165
r_steer@cpcug.org




RENE THIRION
COMMUNITY SERVICES DIRECTOR / MIX SYSOP
D/E/W (703)256-6764
rene@cpcug.org

ANDY THOMPSON
INVESTMENT SIG
D* (202)529-3330
E/W (301)270-6790
Fax (202)529-0911
pallotti01@aol.com

HARLEY WILBUR
INVESTMENT SIG
D (301)949-8131
hwilbur@cpcug.org

STEVE WORKINGS
ALPHA SIG
D/E/W (301)933-3832
Fax (301)933-4161
steve@workings.com

RUBEN WORRELL
PROJECT MANAGEMENT AND VISUAL BASIC SIG;
(703)276-3000
E/W pager (202)490-0166
Fax (703)276-3017
worrellr@cpcug.org

C. PATRICK ZILLIACUS
OS/2 SIG
E/W (301)384-0972
Fax* (301)384-1740
patrick.zilliacus@mix.cpcug.org
From:	Rick@CICorp.com
Sent:	Thursday, February 05, 1998 11:29 AM
To:	bconn@cpcug.org
Subject:	FoxPro SIG meeting after Main meeting

Just a reminder to put in the Monitor and Web site that the FoxPro SIG now meets after the main meeting in the cafeteria.  This will be so for the time being.  

Possibly in a couple months we will be listing the Mid Atlantic FoxPro Users Group as a SIG, but for now please list us as meeting at the NIH.  ThanksFrom:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Gabe Goldberg [gabe@CPCUG.ORG]
Sent:	Wednesday, February 04, 1998 8:50 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup             (MAAUG)

On Wed, 4 Feb 1998, Randy Steer wrote:

> One other question comes to mind re: the $40 dues that MAAUG currently
> charges -- What is it currently paying for, and how will that be paid for
> if the group becomes a CPCUG SIG?  I doubt if we could afford to pay for
> $40 worth of whatever for every member of that SIG out of the dues we
> collect.

We just merged with ACT! User Group. they collected dues, didn't get much
for it. So all their paid members become CPCUG members, get our benefits,
we get their treasury. Part of any merger is mapping joining group's
treasury into CPCUG benefits. This is implementation of a merger, not an
obstacle to it. What's your point about mergers? If the joining group
thought they'd lose too much benefits, they wouldn't join. Once they
decide to join, there's nothing to bargain, they're members like everyone
else. The treasury buys pro-rated CPCUG memberships for whoever they say
are members.
From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Randy Steer [r_steer@CPCUG.ORG]
Sent:	Wednesday, February 04, 1998 6:27 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup             (MAAUG)

One other question comes to mind re: the $40 dues that MAAUG currently
charges -- What is it currently paying for, and how will that be paid for
if the group becomes a CPCUG SIG?  I doubt if we could afford to pay for
$40 worth of whatever for every member of that SIG out of the dues we
collect.

Randy.
From:	Rick@CICorp.com
Sent:	Wednesday, February 04, 1998 4:27 PM
To:	Nancy@CICorp.com
Subject:	FW:      Re: Twinbrook office facility, visit if you wish



-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@CPCUG.ORG] On Behalf Of Gabe Goldberg
Sent: February 4, 1998 7:26 AM
To: CPCUGBOD-L@CPCUG.ORG
Subject: Re: Twinbrook office facility, visit if you wish


On Wed, 4 Feb 1998, Rich Schinnell wrote:

> Wednesday the 4th of Feb between 2:30pm and 3, I will be at the prospective
> new facilities for anyone that wishes to see what is there.

I'd join if given more than a few hours' notice of the field trip --
some days, it's hard to drop everything instantly for CPCUG.
Perhaps negotiate another visit on the weekend -- Saturday
morning, or Sunday afternoon.
From:	Rick@CICorp.com
Sent:	Tuesday, February 03, 1998 11:00 PM
To:	Beverlie Heyman
Subject:	RE: Re[2]: Ok  Looking forward to talking with you.

Please explain the situation to anyone at the office at 202-829-4444 or myself at 800-338-0225 x 2674.


>      From:	Rick@CICorp.com
Sent:	Monday, February 02, 1998 8:16 AM
To:	pave@dgsys.com
Subject:	RE: FoxPro meeting

> From: G.Venediktova 
> Hi, Rick, I would like to know if there will be a meeting tomorrow and do I
> need any code to get inside the  building (Wash Gas, right?)
> 
> Thanks,
> 
> Galina Venediktova
> FSU Internet Consultant,
> Network of East-West Women
> pave@dgs.dgsys.com
> tel. (703)-237-3890 fax (202) 265-3508
> 

Sorry I just got your message.
We are meeting after the main meeting instead of separately.  We are also considering merging with the Mid-Atlantic FoxPro Users Group.  

Here is some information.

FoxPro Special Interest Group
Meets after main meeting of CPCUG
(See above)
The CPCUG FoxPro SIG presently meets for question & answer (& snacks) at the NIH caferia immediately after the main meeting. We also try to answer at least 10 questions as a group from the computer based multiple choice practice test for the Microsoft FoxPro Certified Professional Examination. We discuss why each answer is or is not correct, and always end up learning something new.

Mid-Atlantic FoxPro Users Group (MAAUG)
Meets 3rd Tuesday of each month at 7:00pm
National Association Social Workers
(next to Union Station Metro)
750 1st Street NE
Suite 700
Washington, DC
The Mid-Atlantic FoxPro User Group (MAAUG), has been in operation for about three years. Guest speakers include Luke Chung of FMS and Andrew Coupe of the Microsoft FoxPro development team. The CPCUG and MAAUG have a mix of members ranging from novices to a number of very experienced programmers. 
Contact: Bruce Troutman 800-918-5670


-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@cpcug.org] On Behalf Of Clifford Porter
Sent: January 26, 1998 2:15 PM
To: CPCUGBOD-L@cpcug.org
Subject: Agenda for 2/2/98 BOD Meeting


Please send any additions or corrections to Clifford Porter.


        BOARD OF DIRECTORS MEETING
        February 2nd, 1998
        7:30 p.m.
        Proposed Agenda

1. Agenda Approval

2. Minutes
        Approval of the Minutes of the previous meeting, January 5th, 1998.

3.. Officers Reports
        President - Lillian Milliner
        First Vice President - Rich Schinnell
        Maryland Vice President - Herb Fredricksen
        Virginia Vice President - Luis Garcia
        Capital Area Vice President - Randy Steer
        Treasurer - Pat McVeigh

4.. Project Status Reports
        Location of CPCUG facility.
        Entertainment Books - Alta Oben

5. Unfinished Business

6. New Business
        Affiliation of the ACT! User Group with CPCUG as a provisonal SIG to be
known as the Sales Force Automation SIG.

7. Good and Welfare  (Matters Arising)

8. Adjournment
From:	Rick@CICorp.com
Sent:	Thursday, January 29, 1998 4:35 PM
To:	btroutma@ix.netcom.com
Subject:	FW: Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup  (MAAUG)

Importance:	High

Dear Bruce,

The CPCUG Board of Directors welcomes the idea.  One member brought up an administrative question. Do you have a 501(c)(3) - whatever that is?

Rick Shaddock


-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@CPCUG.ORG] Rich "Rich" Schinnell
Sent: January 28, 1998 2:33 PM
Subject: Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

At 02:05 PM 1/28/98 -0600, Rick@CICORP.COM wrote:

>We hereby propose to the CPCUG Board of Directors, that the FoxPro SIG makes
>a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to
>see if they are interested in merging resources and activities with the CPCUG.

Great idea and would be a win-win for cpcug and MAAUG.

>MAAUG charges a $40/year membership fee.  If their meetings were to become
>the CPCUG SIG meeting, there would be some people attending who pay MAAUG
>dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar
>to the CPCUG ACT! merger. 

Does MAAUG have their own 501(c)(3)?  if so then they would have to submit their
own 990's and they would just be affiliated with us as a SIG for PR sakes.
If our treasurer has to include any funds by a sig which the treasurer would not
collect and disburse then, that could get us in trouble with our 990.

Probably more of an administrative thing but something to settle out.
From:	Rick@CICorp.com
Sent:	Thursday, January 29, 1998 1:37 PM
To:	btroutma@ix.netcom.com
Subject:	FW: Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup  (MAAUG)

Dear Bruce,

The CPCUG Board of Directors welcomes the idea.  One member brought up an administrative question. Do you have a 501(c)(3) - whatever that is?

Rick Shaddock


-----Original Message-----
From: Capital PC User Group Board of Directors Communications
[mailto:CPCUGBOD-L@CPCUG.ORG] Rich "Rich" Schinnell
Sent: January 28, 1998 2:33 PM
Subject: Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

At 02:05 PM 1/28/98 -0600, Rick@CICORP.COM wrote:

>We hereby propose to the CPCUG Board of Directors, that the FoxPro SIG makes
>a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to
>see if they are interested in merging resources and activities with the CPCUG.

Great idea and would be a win-win for cpcug and MAAUG.

>MAAUG charges a $40/year membership fee.  If their meetings were to become
>the CPCUG SIG meeting, there would be some people attending who pay MAAUG
>dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar
>to the CPCUG ACT! merger. 

Does MAAUG have their own 501(c)(3)?  if so then they would have to submit their
own 990's and they would just be affiliated with us as a SIG for PR sakes.
If our treasurer has to include any funds by a sig which the treasurer would not
collect and disburse then, that could get us in trouble with our 990.

Probably more of an administrative thing but something to settle out.
From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Gabe Goldberg [gabe@CPCUG.ORG]
Sent:	Wednesday, January 28, 1998 5:19 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup             (MAAUG)

On Wed, 28 Jan 1998 Rick@CICORP.COM wrote:

> There is not much sense in having two FoxPro users groups in Washington.
> Other groups, such as the Washington Area dBase Users Group (WADBUG) and
> ACT! Users Group merged, or soon will, with good results for all.  (Another
> independent group, the MidAtlantic FoxPro Users Group which meets in Tysons
> each 4th Tuesday, might be another beneficial integration we could propose.)

As Rich said, this is a great idea, very positive way for CPCUG to grow.

> MAAUG charges a $40/year membership fee.  If their meetings were to become
> the CPCUG SIG meeting, there would be some people attending who pay MAAUG
> dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar
> to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding
> the ACT group:

We've handled this before, will handle it with ACT! group -- it's a little
burden up front, but once the merger is done, it's just more CPCUG members
to handle and some prospects to recruit, no big deal.

> I suggested to Bruce the possibility of joining CPCUG. He is interested
> but will leave it up to the membership to decide. I think that bringing
> this group into the fold would be a good opportunity for the CPCUG
> FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
> people and CPCUG would have a fair amount of synergy. (Additionally, the
> meeting place and other facilities would continue to be available.)

Rich probably sent you the standard text on SIG formation, which is
procedural rather than an obstacle -- just outlines steps to follow,
and requirements for ongoing SIG existence. No big deals...

Biggest resistance I've heard from groups considering merger has been
related to how independent a SIG can be, how closely CPCUG manages SIGs.
From my experience, I think the answers are "very independent" and "no
central management".
From:	Lynne M Sturtz [lmsturtz@cpcug.org]
Sent:	Wednesday, January 28, 1998 3:51 PM
To:	Rick@CICorp.com
Subject:	Re: Already sent

> Sorry, it already is down the mail chute!  
> Any anything to CPCUG is a gift to ourselves, anyway.

I like your attitude.  :)

Thanks!

Lynne

From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@CPCUG.ORG] on behalf of Rich Schinnell [schinnel@CPCUG.ORG]
Sent:	Wednesday, January 28, 1998 2:33 PM
To:	CPCUGBOD-L@CPCUG.ORG
Subject:	     Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup             (MAAUG)

At 02:05 PM 1/28/98 -0600, Rick@CICORP.COM wrote:
>We hereby propose to the CPCUG Board of Directors, that the FoxPro SIG makes
>a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to
>see if they are interested in merging resources and activities with the
>CPCUG.

Great idea and would be a win-win for cpcug and MAAUG.


>MAAUG charges a $40/year membership fee.  If their meetings were to become
>the CPCUG SIG meeting, there would be some people attending who pay MAAUG
>dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar
>to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding
>the ACT group:

Problems would come up with our IRS and the 990 that we have to submit on all
moneys collected.  As it stands no sig can have a private bank account and
unless
our treasurer was involved, we could get into a sticky wickett.

There isn't any problem if they would drop the dues for MAAUG and instead
pay their
dues to CPCUG.  I see that as a better alternative.

Does MAAUG have their own 501(c)(3)?  if so then they would have to submit their
own 990's and they would just be affiliated with us as a sig for PR sakes.
If our
treasurer has to include any funds by a sig which the treasurer would not
collect
and disburse then that could get us in trouble with our 990.

Probably more of an administrative thing but something to settle out.


Richard "Rich" Schinnell                Capital PC User Group, Inc.
schinnel@cpcug.org                      1st Vice President
http://cpcug.org/user/schinnel          http://www.cpcug.org
(301) 949-9292
From:	Lynne M Sturtz [lmsturtz@cpcug.org]
Sent:	Wednesday, January 28, 1998 2:12 PM
To:	Rick@CICORP.COM
Subject:	Re: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup              (MAAUG)

You really do not need to send any money to me to cover postage.  I think
I can figure out a way for it to not cost an arm and a leg.  I'll let you
know what it comes out to be.

Lynne

From:	Rick@CICorp.com
Sent:	Wednesday, January 28, 1998 2:05 PM
To:	CPCUGBOD-L@CPCUG.ORG
Cc:	GMcLennan@smmmg.com
Subject:	PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

We hereby propose to the CPCUG Board of Directors, that the FoxPro SIG makes a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to see if they are interested in merging resources and activities with the CPCUG.  

This coincides with Gabe Goldberg's work to integrate the ACT!/Sales Force Automation Users group to mutual benefit.  If MAAUG likes the idea, this could bring in more members for CPCUG.  CPCUG could help popularize the MAAUG by listing it as a SIG and advertising meetings in the Monitor.  In return, many MAAUG members would naturally learn more about CPCUG and hopefully join.  We will ask how many MAAUG members are already CPCUG members.

There is not much sense in having two FoxPro users groups in Washington.  Other groups, such as the Washington Area dBase Users Group (WADBUG) and ACT! Users Group merged, or soon will, with good results for all.  (Another independent group, the MidAtlantic FoxPro Users Group which meets in Tysons each 4th Tuesday, might be another beneficial integration we could propose.)

MAAUG is a well organized group with well attended meetings.  Bruce Troutman does a great job and is receptive to the idea, and will leave it to a group vote.  We will ask him if CPCUG may have FoxPro to their membership list.

MAAUG charges a $40/year membership fee.  If their meetings were to become the CPCUG SIG meeting, there would be some people attending who pay MAAUG dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding the ACT group:

	"Regarding "membership is not required to attend SIG meetings" -- please,
	let's not flog this horse again. Our policy on meetings isn't broken, has
	worked for CPCUG's entire life, no-one has suggested how we might enforce
	any membership requirement for participating in activities, so it's not
	related to forming this new SIG."

We could use more attendance at the FoxPro SIG meetings anyway, so we have everything to gain and nothing to lose. 

George, a marketing expert who has been so helpful in finding a good meeting site for the FoxPro SIG, will make the presentation to MAAUG next month.  I have sent $5 to Lynne Sturtz for postage/donation to send about 20 brochures and past issues of the Monitor to pass out, to educate their members about CPCUG.

Any suggestions on making this a success are very welcome.  CPCUG has a lot to offer them, and vice versa, and we want to put our best foot forward.  

Rick Shaddock
George McLennan
FoxPro SIG

Background details on Mid Atlantic FoxPro Users Group (MAAUG):

Meets the 3rd Tuesday of every month:
 National Association of Social Workers
 (Next to Union Station Metro)
 750 1st Street, NW
 Suite 700
 Washington, DC 

Here is more background, written by George McLennan:

There is an organization called the Mid-Atlantic FoxPro User Group
(MAAUG), which has been in operation for about three years and is lead
by Bruce Troutman. About 10 to 20 people attend the meetings and there
is a larger body of people that claim membership by virtue of paying
dues. Some members are sufficiently well connected to have brought in
guest speakers such as Luke Chung of FMS and [Andrew Coupe of Microsoft.]
 
MAAUG has a mix of members ranging from novices to a number of very
experienced programmers. Bruce himself is a very capable programmer and
runs his own business. He also has a gift for teaching and has led a
number of seminars both for novices and the more experienced users as
part of the MAAUG program. 
 
Bruce enjoys leading the group and would like to continue.  However, he
feels that joining with a larger organization would offer the advantages
of a better infrastructure and other support. He has already approached
NT Pro, a fairly large user group based in Washington, DC.
 
I suggested to Bruce the possibility of joining CPCUG. He is interested
but will leave it up to the membership to decide. I think that bringing
this group into the fold would be a good opportunity for the CPCUG
FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
people and CPCUG would have a fair amount of synergy. (Additionally, the
meeting place and other facilities would continue to be available.)

From:	Barbara Conn [bconn@cpcug.org]
Sent:	Wednesday, January 28, 1998 1:45 PM
To:	Rick@CICorp.com
Subject:	Re: FW: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

On Wed, 28 Jan 1998 Rick@CICorp.com wrote:

> I sent this to the CPCCUGBOD-L@CPCUG.org, the first time I dared send

It didn't work.

Just a typo--the address is 

	cpcugbod-l@cpcug.org

not cpccugbod-l@cpcug.org
      ^ 

> something to everyone on the board with a click of the mouse.  But did not
> get any response.  So I am wondering if it worked.  Did you receive it?  If
> not, how do I post a message to all the Board members?  If so, what do you
> think?

Sounds good!  Give it another try--I think folks would be very
receptive.

What time does this group meet, by the way?

Might also be more like when MetroMUG joined through Multimedia SIG. 
Alta (alta@cpcug.org) would know the details. As I recall, there was
quite a negotiation--and they wound up contributing some or all of
their treasury to CPCUG, their members became CPCUG members, and
Multimedia SIG became MetroMUG SIG. 


> Rick
> 
> -----Original Message-----
> From: Rick@CICorp.com [mailto:Rick@CICorp.com]
> Sent: January 24, 1998 7:52 PM
> To: CPCCUGBOD-L@CPCUG.ORG
> Cc: Gmclennan@smg.com
> Subject: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup
> (MAAUG)
> 
> 
> The FoxPro SIG hereby proposes to the CPCUG Board of Directors that we make
> a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to
> see if they are interested in merging resources and activities with the
> CPCUG.
> 
> This coincides with Gabe Goldberg's work to integrate the ACT!/Sales Force
> Automation Users group to mutual benefit.  If MAAUG likes the idea, this
> could bring in more members for CPCUG.  CPCUG could help popularize the
> MAAUG by listing it as a SIG and advertising meetings in the Monitor.  In
> return, many MAAUG members would naturally learn more about CPCUG and
> hopefully join.  We will ask how many MAAUG members are already CPCUG
> members.
> 
> There is not much sense in having two FoxPro users groups in Washington.
> Other groups, such as the Washington Area dBase Users Group (WADBUG) and
> ACT! Users Group merged, or soon will, with good results for all.  (Another
> independent group, the MidAtlantic FoxPro Users Group which meets in Tysons
> each 4th Tuesday, might be another beneficial integration we could propose.)
> 
> MAAUG is a well organized group with well attended meetings.  Bruce Troutman
> does a great job and is receptive to the idea, and will leave it to a group
> vote.  We will ask him if CPCUG may have FoxPro to their membership list.
> 
> MAAUG charges a $40/year membership fee.  If their meetings were to become
> the CPCUG SIG meeting, there would be some people attending who pay MAAUG
> dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar
> to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding
> the ACT group:
> 
> 	"Regarding "membership is not required to attend SIG meetings" -- please,
> 	let's not flog this horse again. Our policy on meetings isn't broken, has
> 	worked for CPCUG's entire life, no-one has suggested how we might enforce
> 	any membership requirement for participating in activities, so it's not
> 	related to forming this new SIG."
> 
> We are getting only a few CPCUG dues-paying members at the FoxPro SIG
> meetings anyway, so we have everything to gain and nothing to lose.
> 
> George, a marketing expert who has been so helpful in finding a good meeting
> site for the FoxPro SIG, will make the presentation to MAAUG next month.
> Could we have about 40 brochures and past issues of the Monitor to pass out?
> 
> Any suggestions on making this a success are very welcome.  CPCUG has a lot
> to offer them, and we want to put our best foot forward.
> 
> Rick Shaddock
> George McLennan
> FoxPro SIG
> 
> Background details on Mid Atlantic FoxPro Users Group (MAAUG):
> 
> Meets the 3rd Tuesday of every month near Union Station at:
>  National Association of Social Workers
>  750 1st Street, NW
>  Suite 700
>  Washington, DC
> 
> Here is more background, written by George McLennan:
> 
> There is an organization called the Mid-Atlantic FoxPro User Group
> (MAAUG), which has been in operation for about three years and is lead
> by Bruce Troutman. About 10 to 20 people attend the meetings and there
> is a larger body of people that claim membership by virtue of paying
> dues. Some members are sufficiently well connected to have brought in
> guest speakers such as Luke Chung of FMS and [Andrew Coupe of Microsoft.]
> 
> MAAUG has a mix of members ranging from novices to a number of very
> experienced programmers. Bruce himself is a very capable programmer and
> runs his own business. He also has a gift for teaching and has led a
> number of seminars both for novices and the more experienced users as
> part of the MAAUG program.
> 
> Bruce enjoys leading the group and would like to continue.  However, he
> feels that joining with a larger organization would offer the advantages
> of a better infrastructure and other support. He has already approached
> NT Pro, a fairly large user group based in Washington, DC.
> 
> I suggested to Bruce the possibility of joining CPCUG. He is interested
> but will leave it up to the membership to decide. I think that bringing
> this group into the fold would be a good opportunity for the CPCUG
> FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
> people and CPCUG would have a fair amount of synergy. (Additionally, the
> meeting place and other facilities would continue to be available.)


Barb

From:	Rick@CICorp.com
Sent:	Wednesday, January 28, 1998 1:27 PM
To:	BConn@CPCUG.org
Subject:	FW: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

I sent this to the CPCCUGBOD-L@CPCUG.org, the first time I dared send something to everyone on the board with a click of the mouse.  But did not get any response.  So I am wondering if it worked.  Did you receive it?  If not, how do I post a message to all the Board members?  If so, what do you think?
Rick

-----Original Message-----
From: Rick@CICorp.com [mailto:Rick@CICorp.com] 
Sent: January 24, 1998 7:52 PM
To: CPCCUGBOD-L@CPCUG.ORG
Cc: Gmclennan@smg.com
Subject: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup
(MAAUG)


The FoxPro SIG hereby proposes to the CPCUG Board of Directors that we make a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to see if they are interested in merging resources and activities with the CPCUG.  

This coincides with Gabe Goldberg's work to integrate the ACT!/Sales Force Automation Users group to mutual benefit.  If MAAUG likes the idea, this could bring in more members for CPCUG.  CPCUG could help popularize the MAAUG by listing it as a SIG and advertising meetings in the Monitor.  In return, many MAAUG members would naturally learn more about CPCUG and hopefully join.  We will ask how many MAAUG members are already CPCUG members.

There is not much sense in having two FoxPro users groups in Washington.  Other groups, such as the Washington Area dBase Users Group (WADBUG) and ACT! Users Group merged, or soon will, with good results for all.  (Another independent group, the MidAtlantic FoxPro Users Group which meets in Tysons each 4th Tuesday, might be another beneficial integration we could propose.)

MAAUG is a well organized group with well attended meetings.  Bruce Troutman does a great job and is receptive to the idea, and will leave it to a group vote.  We will ask him if CPCUG may have FoxPro to their membership list.

MAAUG charges a $40/year membership fee.  If their meetings were to become the CPCUG SIG meeting, there would be some people attending who pay MAAUG dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding the ACT group:

	"Regarding "membership is not required to attend SIG meetings" -- please,
	let's not flog this horse again. Our policy on meetings isn't broken, has
	worked for CPCUG's entire life, no-one has suggested how we might enforce
	any membership requirement for participating in activities, so it's not
	related to forming this new SIG."

We are getting only a few CPCUG dues-paying members at the FoxPro SIG meetings anyway, so we have everything to gain and nothing to lose. 

George, a marketing expert who has been so helpful in finding a good meeting site for the FoxPro SIG, will make the presentation to MAAUG next month.  Could we have about 40 brochures and past issues of the Monitor to pass out?

Any suggestions on making this a success are very welcome.  CPCUG has a lot to offer them, and we want to put our best foot forward.  

Rick Shaddock
George McLennan
FoxPro SIG

Background details on Mid Atlantic FoxPro Users Group (MAAUG):

Meets the 3rd Tuesday of every month near Union Station at:
 National Association of Social Workers
 750 1st Street, NW
 Suite 700
 Washington, DC 

Here is more background, written by George McLennan:

There is an organization called the Mid-Atlantic FoxPro User Group
(MAAUG), which has been in operation for about three years and is lead
by Bruce Troutman. About 10 to 20 people attend the meetings and there
is a larger body of people that claim membership by virtue of paying
dues. Some members are sufficiently well connected to have brought in
guest speakers such as Luke Chung of FMS and [Andrew Coupe of Microsoft.]
 
MAAUG has a mix of members ranging from novices to a number of very
experienced programmers. Bruce himself is a very capable programmer and
runs his own business. He also has a gift for teaching and has led a
number of seminars both for novices and the more experienced users as
part of the MAAUG program. 
 
Bruce enjoys leading the group and would like to continue.  However, he
feels that joining with a larger organization would offer the advantages
of a better infrastructure and other support. He has already approached
NT Pro, a fairly large user group based in Washington, DC.
 
I suggested to Bruce the possibility of joining CPCUG. He is interested
but will leave it up to the membership to decide. I think that bringing
this group into the fold would be a good opportunity for the CPCUG
FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
people and CPCUG would have a fair amount of synergy. (Additionally, the
meeting place and other facilities would continue to be available.)

From:	Lynne M Sturtz [lmsturtz@cpcug.org]
Sent:	Wednesday, January 28, 1998 11:23 AM
To:	Rick@CICorp.com
Subject:	RE: CPCUG Monitors for FoxPro Users Group Meetings

> Of course, I am sending $5 today to CPCUG to cover the postage costs.  Let
> me know if you need anything else.  Thanks.

Do not!  It will go under administrative costs.  I have no idea yet how
much mailing 20 copies of the Monitor will cost.  It definitely isn't
somthing we want to do on a regular basis, of course.  If it became
regular, then we would have to require someone pick them up and deliver
them.  This one time, though, I can figure out a way to do this so that it
won't break the bank.    Maybe a few in each of several Postal Service
Priority Mail envelopes will work.

Thanks for the offer, though.  

Lynne

From:	Rick@CICorp.com
Sent:	Wednesday, January 28, 1998 10:44 AM
To:	GMcLennan@smmg.com
Subject:	FW: CPCUG Monitors for FoxPro Users Group Meetings

From: Rick@CICorp.com [mailto:Rick@CICorp.com] 
Sent: January 28, 1998 10:41 AM
To: Lynne M Sturtz
Subject: RE: CPCUG Monitors for FoxPro Users Group Meetings


Of course, I am sending $5 today to CPCUG to cover the postage costs.  Let me know if you need anything else.  Thanks.

> -----Original Message-----
> From: Lynne M Sturtz [mailto:lmsturtz@cpcug.org]
> Sent: January 28, 1998 10:34 AM
> To: Rick@CICorp.com
> Subject: Re: CPCUG Monitors for FoxPro Users Group Meetings
> 
> 
> > May we please have about 20 Monitors (any fairly recent spares you have
> > around) sent to:
> > 
> > George McLennan
> > Vice Chairman
> > FoxPro SIG
> > 6351 Crosswoods Drive
> > Falls Church, VA  22044
> > 
> > George will pass them out during his proposal to the MAAUG that we integrate
> > FoxPro users groups.
> 
> I'll try.  It will cost a fair amount to mail that many of them--mailing
> one costs us at least $1.50--, so it would be better if someone who would
> be here anyway could deliver them to him (in an ideal world, that is ).
> I'll see what I can do if no one can do the delivery. 
> 
> > Did you get the following message?  It was the first time I tried emailing
> > to CPCCUGBOD-L@CPCUG.ORG, and did not get any response.  So I was beginning
> > to wonder if it went to everyone.  Thank you.
> 
> I never saw that message, so I don't know if it made it or not.  I get the
> messages sent to the list, but occasionally one may go by that doesn't
> register with me for whatever reason.
> 
> Lynne
> 
> From:	Rick@CICorp.com
Sent:	Wednesday, January 28, 1998 10:41 AM
To:	Lynne M Sturtz
Subject:	RE: CPCUG Monitors for FoxPro Users Group Meetings

Of course, I am sending $5 today to CPCUG to cover the postage costs.  Let me know if you need anything else.  Thanks.

> -----Original Message-----
> From: Lynne M Sturtz [mailto:lmsturtz@cpcug.org]
> Sent: January 28, 1998 10:34 AM
> To: Rick@CICorp.com
> Subject: Re: CPCUG Monitors for FoxPro Users Group Meetings
> 
> 
> > May we please have about 20 Monitors (any fairly recent spares you have
> > around) sent to:
> > 
> > George McLennan
> > Vice Chairman
> > FoxPro SIG
> > 6351 Crosswoods Drive
> > Falls Church, VA  22044
> > 
> > George will pass them out during his proposal to the MAAUG that we integrate
> > FoxPro users groups.
> 
> I'll try.  It will cost a fair amount to mail that many of them--mailing
> one costs us at least $1.50--, so it would be better if someone who would
> be here anyway could deliver them to him (in an ideal world, that is ).
> I'll see what I can do if no one can do the delivery. 
> 
> > Did you get the following message?  It was the first time I tried emailing
> > to CPCCUGBOD-L@CPCUG.ORG, and did not get any response.  So I was beginning
> > to wonder if it went to everyone.  Thank you.
> 
> I never saw that message, so I don't know if it made it or not.  I get the
> messages sent to the list, but occasionally one may go by that doesn't
> register with me for whatever reason.
> 
> Lynne
> 
> From:	Lynne M Sturtz [lmsturtz@cpcug.org]
Sent:	Wednesday, January 28, 1998 10:34 AM
To:	Rick@CICorp.com
Subject:	Re: CPCUG Monitors for FoxPro Users Group Meetings

> May we please have about 20 Monitors (any fairly recent spares you have
> around) sent to:
> 
> George McLennan
> Vice Chairman
> FoxPro SIG
> 6351 Crosswoods Drive
> Falls Church, VA  22044
> 
> George will pass them out during his proposal to the MAAUG that we integrate
> FoxPro users groups.

I'll try.  It will cost a fair amount to mail that many of them--mailing
one costs us at least $1.50--, so it would be better if someone who would
be here anyway could deliver them to him (in an ideal world, that is ).
I'll see what I can do if no one can do the delivery. 

> Did you get the following message?  It was the first time I tried emailing
> to CPCCUGBOD-L@CPCUG.ORG, and did not get any response.  So I was beginning
> to wonder if it went to everyone.  Thank you.

I never saw that message, so I don't know if it made it or not.  I get the
messages sent to the list, but occasionally one may go by that doesn't
register with me for whatever reason.

Lynne

From:	Capital PC User Group Board of Directors Communications [CPCUGBOD-L@cpcug.org] on behalf of Clifford Porter [chp2@EROLS.COM]
Sent:	Monday, January 26, 1998 2:15 PM
To:	CPCUGBOD-L@cpcug.org
Subject:	     Agenda for 2/2/98 BOD Meeting

Please send any additions or corrections to Clifford Porter.


        BOARD OF DIRECTORS MEETING
        February 2nd, 1998
        7:30 p.m.
        Proposed Agenda

1. Agenda Approval

2. Minutes
        Approval of the Minutes of the previous meeting, January 5th, 1998.

3.. Officers Reports
        President - Lillian Milliner
        First Vice President - Rich Schinnell
        Maryland Vice President - Herb Fredricksen
        Virginia Vice President - Luis Garcia
        Capital Area Vice President - Randy Steer
        Treasurer - Pat McVeigh

4.. Project Status Reports
        Location of CPCUG facility.
        Entertainment Books - Alta Oben

5. Unfinished Business

6. New Business
        Affiliation of the ACT! User Group with CPCUG as a provisonal SIG to be
known as the Sales Force Automation SIG.

7. Good and Welfare  (Matters Arising)

8. Adjournment
From:	Rick@CICorp.com
Sent:	Monday, January 26, 1998 1:47 PM
To:	Lynne M Sturtz [lmsturtz@CPCUG.ORG]
Subject:	CPCUG Monitors for FoxPro Users Group Meetings

May we please have about 20 Monitors (any fairly recent spares you have around) sent to:

George McLennan
Vice Chairman
FoxPro SIG
6351 Crosswoods Drive
Falls Church, VA  22044

George will pass them out during his proposal to the MAAUG that we integrate FoxPro users groups.

Did you get the following message?  It was the first time I tried emailing to CPCCUGBOD-L@CPCUG.ORG, and did not get any response.  So I was beginning to wonder if it went to everyone.  Thank you.

Rick Shaddock
FoxPro SIG Chairman


-----Original Message-----
From: Rick@CICorp.com [mailto:Rick@CICorp.com] 
Sent: January 24, 1998 7:52 PM
To: CPCCUGBOD-L@CPCUG.ORG
Cc: Gmclennan@smg.com
Subject: PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup
(MAAUG)

The FoxPro SIG hereby proposes to the CPCUG Board of Directors that we make a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to see if they are interested in merging resources and activities with the CPCUG.  

This coincides with Gabe Goldberg's work to integrate the ACT!/Sales Force Automation Users group to mutual benefit.  If MAAUG likes the idea, this could bring in more members for CPCUG.  CPCUG could help popularize the MAAUG by listing it as a SIG and advertising meetings in the Monitor.  In return, many MAAUG members would naturally learn more about CPCUG and hopefully join.  We will ask how many MAAUG members are already CPCUG members.

There is not much sense in having two FoxPro users groups in Washington.  Other groups, such as the Washington Area dBase Users Group (WADBUG) and ACT! Users Group merged, or soon will, with good results for all.  (Another independent group, the MidAtlantic FoxPro Users Group which meets in Tysons each 4th Tuesday, might be another beneficial integration we could propose.)

MAAUG is a well organized group with well attended meetings.  Bruce Troutman does a great job and is receptive to the idea, and will leave it to a group vote.  We will ask him if CPCUG may have FoxPro to their membership list.

MAAUG charges a $40/year membership fee.  If their meetings were to become the CPCUG SIG meeting, there would be some people attending who pay MAAUG dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding the ACT group:

	"Regarding "membership is not required to attend SIG meetings" -- please,
	let's not flog this horse again. Our policy on meetings isn't broken, has
	worked for CPCUG's entire life, no-one has suggested how we might enforce
	any membership requirement for participating in activities, so it's not
	related to forming this new SIG."

We are getting only a few CPCUG dues-paying members at the FoxPro SIG meetings anyway, so we have everything to gain and nothing to lose. 

George, a marketing expert who has been so helpful in finding a good meeting site for the FoxPro SIG, will make the presentation to MAAUG next month.  Could we have about 40 brochures and past issues of the Monitor to pass out?

Any suggestions on making this a success are very welcome.  CPCUG has a lot to offer them, and we want to put our best foot forward.  

Rick Shaddock
George McLennan
FoxPro SIG

Background details on Mid Atlantic FoxPro Users Group (MAAUG):

Meets the 3rd Tuesday of every month near Union Station at:
 National Association of Social Workers
 750 1st Street, NW
 Suite 700
 Washington, DC 

Here is more background, written by George McLennan:

There is an organization called the Mid-Atlantic FoxPro User Group
(MAAUG), which has been in operation for about three years and is lead
by Bruce Troutman. About 10 to 20 people attend the meetings and there
is a larger body of people that claim membership by virtue of paying
dues. Some members are sufficiently well connected to have brought in
guest speakers such as Luke Chung of FMS and [Andrew Coupe of Microsoft.]
 
MAAUG has a mix of members ranging from novices to a number of very
experienced programmers. Bruce himself is a very capable programmer and
runs his own business. He also has a gift for teaching and has led a
number of seminars both for novices and the more experienced users as
part of the MAAUG program. 
 
Bruce enjoys leading the group and would like to continue.  However, he
feels that joining with a larger organization would offer the advantages
of a better infrastructure and other support. He has already approached
NT Pro, a fairly large user group based in Washington, DC.
 
I suggested to Bruce the possibility of joining CPCUG. He is interested
but will leave it up to the membership to decide. I think that bringing
this group into the fold would be a good opportunity for the CPCUG
FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
people and CPCUG would have a fair amount of synergy. (Additionally, the
meeting place and other facilities would continue to be available.)

From:	Rick@CICorp.com
Sent:	Monday, January 26, 1998 1:34 PM
To:	Pallotti01
Cc:	Bruce Troutman [btroutma@ix.netcom.com]; gmclennan@smmg.com
Subject:	RE: FoxPro

> -----Original Message-----
> From: Sarah Coggins [mailto:Pallotti01@aol.com]
> Sent: January 26, 1998 9:54 AM
> To: rick@cicorp.com
> Subject: FoxPro Group
> 
> Rick-- 
> I was wondering if you could please send me information on the FoxPro SIG:
> when you all meet, times, etc.  
> Thanks, 
> Sarah Coggins
 
Dear Sarah:

Thank you for your interest in the FoxPro Special Interest Group of the Capital PC Users Group (CPGUC),
and the Mid Atlantic FoxPro Users Group (MAAUG).

1) The CPCUG FoxPro SIG presently meets for question & answer (& snacks) at the NIH caferia immediately after the main meeting.  We also try to answer at least 10 questions as a group from the computer based multiple choice practice test for the Microsoft FoxPro Certified Professional Examination.  We discuss why each answer is or is not correct, and always end up learning something new.  This is the 2nd Monday of each month at:
	National Institutes of Health
	Masur Auditorium 
	(west on Center Drive from Rockville Pike [Wisconsin Avenue], at West Drive)
	Clinical Center, Building 10
	9000 Rockville Pike
	Bethesda, Maryland 
	(Map: http://www.cpcug.org/user/comm/nihmap.gif) More info: http://www.cpcug.org  

Cost
FREE and open to the public 

2) The Mid-Atlantic FoxPro User Group (MAAUG), has been in operation for about three years and is lead by Bruce Troutman.  About 10 to 20 people attend the meetings and there is a larger body of people that claim membership by virtue of paying dues. Some members are sufficiently well connected to have brought in guest speakers such as Luke Chung of FMS and Andrew Coupe of the Microsoft FoxPro development team.  The CPCUG and MAAUG have a mix of members ranging from novices to a number of very experienced programmers. 

The MAAUG the 3rd Tuesday of every month:
	National Association of Social Workers
	(next to Union Station Metro)
	750 1st Street, NW
	Suite 700
	Washington, DC 

Hope to see you at either meeting - or both!

Rick
From:	Pallotti01 [Pallotti01@aol.com]
Sent:	Monday, January 26, 1998 9:54 AM
To:	rick@cicorp.com
Subject:	FoxPro

Rick-- 
I was wondering if you could please send me information on the FoxPro SIG:
when you all meet, times, etc.  Thanks, Sarah Coggins
From:	Rick Shaddock [RShaddock@Telegroup.com]
Sent:	Monday, January 26, 1998 6:58 AM
To:	jcnova1@erols.com
Cc:	Bruce Troutman [btroutma@ix.netcom.com]
Subject:	RE: MS FoxPro 

I have copied you message to Bruce Troutman, who does this kind of thing, and could probably help or knows someone who can.

He is also head of the Mid Atlantic FoxPro Users Group.  The MAAUG the 3rd Tuesday of every month near Union Station at:
 National Association of Social Workers
 750 1st Street, NW
 Suite 700
 Washington, DC 

The CPCUG FoxPro SIG presently meets for Q&A at the NIH caferia immediately after the main meeting.  Hope to see you at either meeting.

Rick

> -----Original Message-----
> From: jcnova1@erols.com [mailto:jcnova1@erols.com]
> Sent: Friday, January 23, 1998 7:06 PM
> To: rick@cicorp.com
> Subject: MS FoxPro 
> 
> I am a member of CPCUG and I obtained your e-mail address from the
> CPCUG web site. I am interested in creating a maintained database of
> approx 100,000 records. I would like to have the database available for 
> search queries on the web by passworded customers. Is FoxPro the best 
> tool for this. How do I determine the cost feasiblilty of establishing
> such a databse on the web relating to web space....design... 
> 
> Do you have FoxPro classes? How much are they? What time is the FoxPro
> sig? 
> 
> Thanks for your assistance. 
> 
> jcnova1@erols.com
> From:	Bruce Troutman [btroutma@ix.netcom.com]
Sent:	Sunday, January 25, 1998 5:50 PM
To:	Rick Shaddock (E-mail)
Subject:	Thanks for the call

Sounds like a great idea. Anything I can do is ok with me. 

I have a busy day tomorrow, but I'll try and call you.

B

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Bruce Troutman 	80/20 Data Company
E-mail:  		btroutma@ix.netcom.com
Phone: 		800-918-5670
Resume/Rates:  	http://www.8020data.com/bruce.htm
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

From:	gmclennan [gmclennan@prodigy.net]
Sent:	Sunday, January 25, 1998 1:39 PM
To:	Rick@CICorp.com
Subject:	Re: MAAUG -> CPCUG - Excellent idea!

> Would you like about 40 CPCUG brochures sent to you?  How about
> a few Monitors to pass out? Where would you like them sent?

I have quite a few brochures now, but it wouldn't hurt to have more. The
Monitors are a good idea, too. Send everything to:

6351 Crosswoods Drive
Falls Church, VA  22044

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)

From:	Rick@CICorp.com
Sent:	Saturday, January 24, 1998 7:52 PM
To:	CPCCUGBOD-L@CPCUG.ORG
Cc:	Gmclennan@smg.com
Subject:	PROPOSAL: CPCUG seek merger with MidAtlanticFoxProUsersGroup (MAAUG)

The FoxPro SIG hereby proposes to the CPCUG Board of Directors that we make a proposal February 17th to the Mid Atlantic FoxPro Users Group (MAAUG) to see if they are interested in merging resources and activities with the CPCUG.  

This coincides with Gabe Goldberg's work to integrate the ACT!/Sales Force Automation Users group to mutual benefit.  If MAAUG likes the idea, this could bring in more members for CPCUG.  CPCUG could help popularize the MAAUG by listing it as a SIG and advertising meetings in the Monitor.  In return, many MAAUG members would naturally learn more about CPCUG and hopefully join.  We will ask how many MAAUG members are already CPCUG members.

There is not much sense in having two FoxPro users groups in Washington.  Other groups, such as the Washington Area dBase Users Group (WADBUG) and ACT! Users Group merged, or soon will, with good results for all.  (Another independent group, the MidAtlantic FoxPro Users Group which meets in Tysons each 4th Tuesday, might be another beneficial integration we could propose.)

MAAUG is a well organized group with well attended meetings.  Bruce Troutman does a great job and is receptive to the idea, and will leave it to a group vote.  We will ask him if CPCUG may have FoxPro to their membership list.

MAAUG charges a $40/year membership fee.  If their meetings were to become the CPCUG SIG meeting, there would be some people attending who pay MAAUG dues, and some who pay MAAUG and CPCUG dues.  So, we may have issues similar to the CPCUG ACT! merger.  Citing from Gabe Goldberg's comments regarding the ACT group:

	"Regarding "membership is not required to attend SIG meetings" -- please,
	let's not flog this horse again. Our policy on meetings isn't broken, has
	worked for CPCUG's entire life, no-one has suggested how we might enforce
	any membership requirement for participating in activities, so it's not
	related to forming this new SIG."

We are getting only a few CPCUG dues-paying members at the FoxPro SIG meetings anyway, so we have everything to gain and nothing to lose. 

George, a marketing expert who has been so helpful in finding a good meeting site for the FoxPro SIG, will make the presentation to MAAUG next month.  Could we have about 40 brochures and past issues of the Monitor to pass out?

Any suggestions on making this a success are very welcome.  CPCUG has a lot to offer them, and we want to put our best foot forward.  

Rick Shaddock
George McLennan
FoxPro SIG

Background details on Mid Atlantic FoxPro Users Group (MAAUG):

Meets the 3rd Tuesday of every month near Union Station at:
 National Association of Social Workers
 750 1st Street, NW
 Suite 700
 Washington, DC 

Here is more background, written by George McLennan:

There is an organization called the Mid-Atlantic FoxPro User Group
(MAAUG), which has been in operation for about three years and is lead
by Bruce Troutman. About 10 to 20 people attend the meetings and there
is a larger body of people that claim membership by virtue of paying
dues. Some members are sufficiently well connected to have brought in
guest speakers such as Luke Chung of FMS and [Andrew Coupe of Microsoft.]
 
MAAUG has a mix of members ranging from novices to a number of very
experienced programmers. Bruce himself is a very capable programmer and
runs his own business. He also has a gift for teaching and has led a
number of seminars both for novices and the more experienced users as
part of the MAAUG program. 
 
Bruce enjoys leading the group and would like to continue.  However, he
feels that joining with a larger organization would offer the advantages
of a better infrastructure and other support. He has already approached
NT Pro, a fairly large user group based in Washington, DC.
 
I suggested to Bruce the possibility of joining CPCUG. He is interested
but will leave it up to the membership to decide. I think that bringing
this group into the fold would be a good opportunity for the CPCUG
FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
people and CPCUG would have a fair amount of synergy. (Additionally, the
meeting place and other facilities would continue to be available.)

From:	Rick@CICorp.com
Sent:	Saturday, January 24, 1998 7:47 PM
To:	gmclennan@smmg.com
Subject:	RE: MAAUG -> CPCUG - Excellent idea!

I will notify the Board that we have a POTENTIAL merger here and ask for suggestions to make it a success.

Sounds like you have this under control, and you know I support the idea fully.  And having a marketing expert make the presentation is very fortunate.  Would you like about 40 CPCUG brochures sent to you?  How about a few Monitors to pass out? Where would you like them sent?  

The CPCUG is currently merging with the ACT Users Group - I will try to find out any lessons learned from the guy handling it so we can put our best foot forward with MAAUG.

Yes, it was Bruce Troutman I left a message with.  His brother George taught a dBase networking course for my company years ago at GSA, with excellent results. 


> -----Original Message-----
> From: gmclennan [mailto:gmclennan@prodigy.net]
> Sent: January 24, 1998 7:12 PM
> To: Rick@CICorp.com
> Subject: Re: MAAUG -> CPCUG - Excellent idea!
> 
> 
> > I called Bruce, told him of your idea, and asked
> > him to give me a call or email.
> 
> I  presume that you mean mean Bruce Troutman with whom I have had an
> on-going dialog. As I said, he is open to the idea, but I am not sure
> that CPCUG would be his first choice. I am hoping that my pitch to the
> MAAUG group will tip the balance.
> 
> -- 
> George L. McLennan
> Strategic Marketing & Management Group
> gmclennan@smmg.com
> 703-354-9839 (voice)
> 703-354-1694 (fax)
> 
> From:	gmclennan [gmclennan@prodigy.net]
Sent:	Saturday, January 24, 1998 7:12 PM
To:	Rick@CICorp.com
Subject:	Re: MAAUG -> CPCUG - Excellent idea!

> I called Bruce, told him of your idea, and asked
> him to give me a call or email.

I  presume that you mean mean Bruce Troutman with whom I have had an
on-going dialog. As I said, he is open to the idea, but I am not sure
that CPCUG would be his first choice. I am hoping that my pitch to the
MAAUG group will tip the balance.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)

From:	Rick@CICorp.com
Sent:	Saturday, January 24, 1998 5:43 PM
To:	gmclennan@smmg.com
Cc:	Nick@CICorp.com; Nancy@CICorp.com
Subject:	MAAUG -> CPCUG - Excellent idea!

I think that is an absolutely excellent idea.  There is no sense in having two users groups in Washington.  Other groups, such as the dBase and ACT Users groups have merged, or are in the process of merging with CPCUG.  That would be the best possible solution!  

MAAUG is a well organized group and I enjoyed attending some of their meetings.  For me, Tuesday evenings (3rd Tuesday of each month) often collided with some on-site project.  But, I wholeheartedly agree that this is what we should try to do for the FoxPro SIG.

This would also benefit the CPCUG which is actively seeking members.  I will forward your message to the CPCUG Board of Directors and let them know you will be making the pitch.  I called Bruce, told him of your idea, and asked him to give me a call or email.  

You mentioned the APA, I have the address as:
 National Association of Social Workers
 750 1st Street, NW
 Suite 700
 Washington, DC 

And the dues are $40.  Is this still correct?  Thanks!

Rick

> -----Original Message-----
> From: gmclennan [mailto:gmclennan@prodigy.net]
> Sent: January 23, 1998 7:53 PM
> To: Rick@CICorp.com
> Subject: Re: FoxPro SIG 
> 
> There is an organization called the Mid-Atlantic FoxPro User Group
> (MAAUG), which has been in operation for about three years and is lead
> by Bruce Troutman. About 10 to 20 people attend the meetings and there
> is a larger body of people that claim membership by virtue of paying
> dues. Some members are sufficiently well connected to have brought in
> guest speakers such as Luke Chung of FMS and the guy who leads the MS
> FoxPro development team. (His name escapes me at the moment.)
> 
> MAAUG has a mix of members ranging from novices to a number of very
> experienced programmers. Bruce himself is a very capable programmer and
> runs his own business. He also has a gift for teaching and has led a
> number of seminars both for novices and the more experienced users as
> part of the MAAUG program. The group also has a very nice place to meet
> in the APA building next to the Union Station Metro station.
> 
> Bruce enjoys leading the group and would like to continue. However, he
> feels that joining with a larger organization would offer the advantages
> of a better infrastructure and other support. He has already approached
> NT Pro, a fairly large user group based in Washington, DC.
> 
> I suggested to Bruce the possibility of joining CPCUG. He is interested
> but will leave it up to the membership to decide. I think that bringing
> this group into the fold would be a good opportunity for the CPCUG
> FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
> people and CPCUG would have a fair amount of synergy. (Additionally, the
> meeting place and other facilities would continue to be available.)
> 
> If you agree with this concept in principle, I will make a pitch to the
> MAAUG members at the next meeting, which I think is the third week in
> February. 
From:	gmclennan [gmclennan@prodigy.net]
Sent:	Friday, January 23, 1998 7:53 PM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG Leader

Regarding the FoxPro SIG, you indicated that you would be interested in
finding someone to lead the group. I may have found such a person and
much, much more.

There is an organization called the Mid-Atlantic FoxPro User Group
(MAAUG), which has been in operation for about three years and is lead
by Bruce Troutman. About 10 to 20 people attend the meetings and there
is a larger body of people that claim membership by virtue of paying
dues. Some members are sufficiently well connected to have brought in
guest speakers such as Luke Chung of FMS and the guy who leads the MS
FoxPro development team. (His name escapes me at the moment.)

MAAUG has a mix of members ranging from novices to a number of very
experienced programmers. Bruce himself is a very capable programmer and
runs his own business. He also has a gift for teaching and has led a
number of seminars both for novices and the more experienced users as
part of the MAAUG program. The group also has a very nice place to meet
in the APA building next to the Union Station Metro station.

Bruce enjoys leading the group and would like to continue. However, he
feels that joining with a larger organization would offer the advantages
of a better infrastructure and other support. He has already approached
NT Pro, a fairly large user group based in Washington, DC.

I suggested to Bruce the possibility of joining CPCUG. He is interested
but will leave it up to the membership to decide. I think that bringing
this group into the fold would be a good opportunity for the CPCUG
FoxPro SIG, as well as CPCUG as a whole. I also think that the MAAUG
people and CPCUG would have a fair amount of synergy. (Additionally, the
meeting place and other facilities would continue to be available.)

If you agree with this concept in principle, I will make a pitch to the
MAAUG members at the next meeting, which I think is the third week in
February. If they go for it, I would also be willing to run interference
with the CPCUG board of directors and take care of any administrative
requirements.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)

From:	jcnova1@erols.com
Sent:	Friday, January 23, 1998 7:06 PM
To:	rick@cicorp.com
Subject:	MS FoxPro 

I am a member of CPCUG and I obtained your e-mail address from the
CPCUG web site. I am interested in creating a maintained database of
approx 100,000 records. I would like to have the database available for 
search queries on the web by passworded customers. Is FoxPro the best 
tool for this. How do I determine the cost feasiblilty of establishing
such a databse on the web relating to web space....design... 

Do you have FoxPro classes? How much are they? What time is the FoxPro
sig? 

Thanks for your assistance. 

jcnova1@erols.com
From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Friday, January 23, 1998 5:35 PM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG Leader

If this SIG is held at NIH I could make these very easily.  And...perhaps
chair a few ...also remember I will be attending the Microsoft
Certification for FoxPro in March.  As of March 13, I will be 
"FoxPro" guru.  Schedule me for work in anything you need after that.

Nancy L.
From:	Rick@CICorp.com
Sent:	Friday, January 23, 1998 5:21 PM
To:	Beverlie Heyman
Subject:	RE: Ok  Looking forward to talking with you.

>      It looks as if I am going to be on this present call for another 45 
>      minutes and then I need to leave for the evening. Can we set up a 
>      scheduled time to speak on Monday? I will be out of my office, but 
>      should be back around 4:30.

OK.  Could you give me just a little clue as to what this is all about?  Was it a customer,
or another ACC who made a complaint, or what?  Do I need to take the re-certification
test?  It is very agonizing to be left in the dark like this.  Each day, I am losing 
ACT! business I have worked hard for the past 5 years to build a company to support.

Thank you.From:	Rick@CICorp.com
Sent:	Friday, January 23, 1998 11:12 AM
To:	gmclennan@smmg.com
Cc:	Nick@CICorp.com; Nancy@CICorp.com
Subject:	RE: FoxPro SIG Leader

You got me about dat Winmail.dat file.  I am using Outlook 98 Beta 2.  What email package are you using?  I would like to submit Microsoft a bug or two.

> What is the WINMAIL.DAT file that you attached to your message?

In regards to what we should do for the FoxPro SIG.  That's fine if you don't have time to be the SIG leader.  I appreciate your help to get things rolling.  Please send me the email of the fellow or gal who was willing to take the helm.

Sorry I am so swamped from work.  We are converting a telecommunications company's billing system to accommodate increased customer volume, and a new FCC ruling requiring long distance providers to compute and reimburse pay phone providers 30 cents a call for customers using 800 FoxPro numbers.  With tax considerations, discounts and special offers, it gets complicated.  They use SQL with an FoxPro front end.  It is fascinating, but I am working so many hours the night shift guards are starting to talk about that weird guy who never sleeps.

Nick or Nancy said they could make it much more to meetings if they are held after the main meeting at NIH because they both live in Maryland, and it is on the metro.  Feel free to call them at 703-486-2222 or 301-231-7831 respectively.  Thanks.From:	gmclennan [gmclennan@prodigy.net]
Sent:	Friday, January 23, 1998 6:20 AM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG Leader

What is the WINMAIL.DAT file that you attached to your message?

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)

From:	gmclennan [gmclennan@prodigy.net]
Sent:	Thursday, January 22, 1998 2:49 PM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG Leader

There is more than "who" to the answer to your question and it's more
than I can easily put into a short e-mail message. I also want to know
where you stand with the SIG.

Why don't you five me a call when you get a chance. Evening is ok if
that works better for you.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)

From:	Rick@CICorp.com
Sent:	Thursday, January 22, 1998 12:14 PM
To:	gmclennan
Subject:	 Re: FoxPro SIG Leader

Thanks for your message.  Yes I would be interested in knowing who would like to help.
Rick
From:	Rick@CICorp.com
Sent:	Tuesday, January 20, 1998 11:42 AM
To:	MaryAnnHong
Subject:	FoxPro User's Group Meetings 

>I am interested in attending the FoxPro User's Group meetings. Please
send me a schedule of upcoming meetings with meeting locations. I
currently work at Covington & Burling as a Programmer Analyst,
developing databases in MS FoxPro. My telephone number here is (202)
662-6517. Thank you. MaryAnn Hong

We are meeting just after the main CPCUG meeting in the NIH cafeteria.
http://www.cpcug.org  See you there.  Rick
To:	gmclennan@smmg.com
Subject:	 Re: FoxPro 

Received: from mail1y-int.prodigy.net (mail1y-ext.prodigy.net [198.83.19.113]) by mail1.mnsinc.com (8.8.5/8.7.3) with ESMTP id GAA07259 for ; Fri, 9 Jan 1998 06:33:15 -0500 (EST) 
Received: from georgemc (port92.burk3.prodigy.net [204.237.146.92]) 
 by mail1y-int.prodigy.net (8.8.5/8.8.5) with SMTP id GAA55266 
 for ; Fri, 9 Jan 1998 06:32:07 -0500 
Message-ID: <34B60AB8.4F58@prodigy.net> 
Date: Fri, 09 Jan 1998 06:32:08 -0500 
From: gmclennan  
Reply-To: gmclennan@smmg.com 
Organization: SMMG 
X-Mailer: Mozilla 3.0 (Win95; I) 
MIME-Version: 1.0 
To: Rick@CICorp.com 
Subject: Re: FoxPro 
References: <199801080816.CAA24867@radius.telegroup.com> 
Content-Type: text/plain; charset=us-ascii 
Content-Transfer-Encoding: 7bit 
Content-Length: 1096 

Rick@CICorp.com wrote:
> 
> I am very sorry to hear that Nancy did not show up and that Nick was
late,
> even though I offered to pay them.  Nick had car trouble, but Nancy
left
> me a voice mail that she had to go to a client's.

I don't know anything about Nick. Three people showed up at WGas at
about 2:00 and they and I left after 30 minutes when no one came to lead
the meeting.
 
> As you see, I could use some good help on keeping the FoxPro SIG. 
Did you
> show the Microsoft CPASMT?

I did not show CPASMT. You told me about it only a couple of hours
before the meeting was to start and I didn't have enough time to
prepare.

> I hope that the meeting was of at least some
> value to those who attended.  Nick told me there were 5 - which is
actually
> not a bad turnout for some SIGs.

Nick must have been on another planet.
 
> Would you like to be the 1998 Chairman?

I don't think so. I was merely offering to help you (or someone else)
with the logistics.

-- 
George L. McLennan
Strategic Marketing & Management Group
gmclennan@smmg.com
703-354-9839 (voice)
703-354-1694 (fax)



Subject:	FoxPro SIG List

Gallina of the FoxPro Users Group wants to attend tis Sunday.  Also,
Jarvis wanted to attend.  Galina's number is 703-237-3890.  From:	Rick@CICorp.com
Sent:	Thursday, January 08, 1998 2:16 AM
To:	gmclennan@smmg.com
Subject:	FoxPro

I am very sorry to hear that Nancy did not show up and that Nick was late,
even though I offered to pay them.  Nick had car trouble, but Nancy left 
me a voice mail that she had to go to a client's.

As you see, I could use some good help on keeping the FoxPro SIG.  Did you
show the Microsoft CPASMT?  I hope that the meeting was of at least some 
value to those who attended.  Nick told me there were 5 - which is actually
not a bad turnout for some SIGs.

Thank you again so much for your help.  I may be on this project for months.
We are using FoxPro along with SQL Server on million-record phone bill
databases.  Would you like to be the 1998 Chairman?

Rick
From:	NANCY M LANDREVILLE [nancyml@juno.com]
Sent:	Friday, January 02, 1998 1:04 PM
To:	Rick@CICorp.com
Subject:	Re: CPCUG Board meeting

Is the location at the HQ on Monroe?  Is there anything a person would
need to know in order to attend (ie: agenda items to addres)?

Nancy L.

From:	David L. Crooks [dcrooks@zzapp.org]
Sent:	Thursday, January 01, 1998 2:01 PM
To:	Rick@CICorp.com
Subject:	Re: FoxPro SIG - New meeting place directions

I thought you might be interested in this document.  Maybe I will make it
to one of your meetings.  Happy New Year!
----------