Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]()
You can't use SQL.REQUEST to achieve this because it's a function.
Here is a way using SQL code: It demonstrates two methods for inserting records into a CLOSED Excel workbook. For this demonstration I have used, as the target workbook, SqlRequest_COUNT.xls http://www.bygsoftware.com/examples/...uest_COUNT.zip This workbook contains a range called LocalTable. It is two (2) coumns wide. Copy the code, below, into a VBA module. The SQL code in Method 1 INSERTS a single record into the table. The SQL code in Method 2 INSERTS multiple rows from a table in the source workbook. The source table, called MyTable, must also be two columns wide. You may have to adjust the paths in the connection string depending on where you save the source workbook. This works for hundreds of records. '' Code begins here - - - - - - - - - - - - - - Option Explicit Sub InsertValuesIntoClosedExcelWorkbook() Dim lStr_Conn As String Dim lStr_Sql As String lStr_Conn = "" lStr_Conn = lStr_Conn & "ODBC;DSN=Excel Files;" lStr_Conn = lStr_Conn & "DBQ=C:\Demo\SqlRequest_COUNT.xls;" lStr_Conn = lStr_Conn & "DefaultDir=C:\Demo;" lStr_Conn = lStr_Conn & "DriverId=790;" lStr_Conn = lStr_Conn & "MaxBufferSize=2048;" lStr_Conn = lStr_Conn & "PageTimeout=5;" '' Method 1 '' lStr_Sql = "" '' lStr_Sql = lStr_Sql & " INSERT INTO LocalTable" '' lStr_Sql = lStr_Sql & " VALUES (555,5)" '' Method 2 lStr_Sql = "" lStr_Sql = lStr_Sql & " INSERT INTO LocalTable" lStr_Sql = lStr_Sql & " SELECT *" lStr_Sql = lStr_Sql & " FROM `" & ThisWorkbook.FullName & "`.MyTable" With ActiveSheet.QueryTables.Add(Connection:=lStr_Conn, Destination:=Range("A1")) .CommandText = lStr_Sql .Name = "Query from Excel Files" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh End With End Sub '' Code ends here - - - - - - - - - - - - - - -- Andy Wiggins FCCA www.BygSoftware.com Excel, Access and VBA Consultancy - "George Nicholson" wrote in message ... Assume I have an excel file/sheet with 500 records and wanted to add 75 additional records (leaving the original 500 untouched)....? -- George Nicholson Remove 'Junk' from return address. "Andy Wiggins" wrote in message ... It uses the Sql UPDATE functionality, therefore it updates cells. If you want to add a new value to the current value in a cell then you would need to obtain the current value, add the new value and then update the target cell(s). -- Andy Wiggins FCCA www.BygSoftware.com Excel, Access and VBA Consultancy - "George Nicholson" wrote in message ... Andy: Out of curiousity, do those allow you to actually "add values" like the OP asked, or just change/update existing values? -- George Nicholson Remove 'Junk' from return address. "Andy Wiggins" wrote in message ... You can! .. and here's how: http://www.bygsoftware.com/Excel/SQL..._using_sql.htm Using an UPDATE query in SQL.REQUEST to change values in closed workbooks. How to COUNT data in an Excel table and in an MsAccess database using SQL.REQUEST. -- Andy Wiggins FCCA www.BygSoftware.com Excel, Access and VBA Consultancy - "Peo Sjoblom" wrote in message ... You can't Regards, Peo Sjoblom "Ali" wrote: Hi, if someone can please tell me how I can add values to closed excel file from an open excel file. What needs to be done here. Thanks. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel 2003 FAILS, but Excel 2000 SUCCEEDS ??? | Excel Discussion (Misc queries) | |||
Saved *.csv file gives SYLK file type warning upon Excel 2003 open | Excel Discussion (Misc queries) | |||
Excel startup switches | Excel Discussion (Misc queries) | |||
Large Excel file size caused by a bug ? I really tried everything | Excel Discussion (Misc queries) | |||
Excel 2003 Opens Up Every File in My Documents | Excel Discussion (Misc queries) |