VFP9SP2. Data is in MySQL (MariaDB) database on a different machine (at 10.8.20.109). Trying to use VFP to generate Excel files for 55 different outputs (providers), with each workbook/file having a tab for each record type (which is usually 3 types: 1, 2, and 3). My initial concern is how to deal with the named parameters in the first ListObjects.Add line, as VFP doesn't work like that. Note that the _ is a continuation character for VBA code (like the semi-colon is for VFP code), so that first WITH line goes to the QueryTable word. I used VFP to dynamically create the views for each of the 55 providers, so there's about 165 views. Trying to do all this via automation for ease and accuracy. Nobody wants to create 165 imports and 55 saves manually!!! I already created a ODBC connection called tim_dsh to connect to the remote database. (Yes, using the root user remotely isn't good practice. Move on from that. This is internal!)

For this example, provider is 210001 and views are v_op_<provnum>_<rectype>.

VBA code:

    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DATABASE=tim_dsh;DESCRIPTION=Tim's DSH data;DSN=Tim_DSH;OPTION=69533696;PORT=3306;SERVER=10.8.20.109;UID=root;" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = 0
        .CommandText = Array("SELECT * FROM `tim_dsh`.`v_op_210001_1`")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
"C:\Users\mbabcock\Documents\My Data Sources\tim_dsh v_op_210001_1.odc"
        .ListObject.DisplayName = "Table_tim_dsh_v_op_210001_1"
        .Refresh BackgroundQuery:=False
    End With
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Record Type 1"
    Sheets.Add After:=ActiveSheet
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DATABASE=tim_dsh;DESCRIPTION=Tim Forry's DSH data;DSN=Tim_DSH;OPTION=69533696;PORT=3306;SERVER=10.8.20.109;UID=root;" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = 0
        .CommandText = Array("SELECT * FROM `tim_dsh`.`v_op_210001_2`")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
"C:\Users\mbabcock\Documents\My Data Sources\tim_dsh v_op_210001_2.odc"
        .ListObject.DisplayName = "Table_tim_dsh_v_op_210001_2"
        .Refresh BackgroundQuery:=False
    End With
    Sheets("Sheet2").Select
    Sheets("Sheet2").Name = "Record Type 2"
    Sheets.Add After:=ActiveSheet
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DATABASE=tim_dsh;DESCRIPTION=Tim Forry's DSH data;DSN=Tim_DSH;OPTION=69533696;PORT=3306;SERVER=10.8.20.109;UID=root;" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = 0
        .CommandText = Array("SELECT * FROM `tim_dsh`.`v_op_210001_3`")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
"C:\Users\mbabcock\Documents\My Data Sources\tim_dsh v_op_210001_3.odc"
        .ListObject.DisplayName = "Table_tim_dsh_v_op_210001_3"
        .Refresh BackgroundQuery:=False
    End With
    Sheets("Sheet3").Select
    Sheets("Sheet3").Name = "Record Type 3"
    ChDir "G:\somepath"
    ActiveWorkbook.SaveAs Filename:= _
        "G:\somepath\21001_outpatient.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False


Tips/ideas appreciated.  Thanks!!!
--Mike



_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/6628541a317dae2a4b46309438b43...@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to