Retrieve selected data from Network file
- From: anon <inboxalwaysfull@xxxxxxxxxxx>
- Date: Sat, 19 Jan 2008 10:17:27 -0800 (PST)
Hi,
I have posted about this a few months ago and never really found a
solution and am having to make do, however the problem is getting
larger and i really would appreciate some help.
I have a spread*** (lets call it file a) used by 100 ish people each
with their own local copy. This spread*** has code to retrieve data
from another spread*** (file b) stored on a network drive. File b on
the network drive has over 60000 rows of data. However the data
required by each user is only approx 3000 rows. The network connection
speed is slow.
I need to retrieve the data without opening file b. Each user
retrieves different data, filtered by a unique code for each user
which is is column c of file b.
I currently use the code below to retrieve the data.
Sheets("Sheet1").Range("A1").Select
With Selection.QueryTable
.Connection = _
"ODBC;DSN=Excel Files;DBQ= " & PATHANDNAMEANDTYPE &
";DefaultDir= " & PATH &
";DriverId=790;MaxBufferSize=2048;PageTimeout=5;"
..CommandText = Array( _
"SELECT `" & FILNAMES & "`.`This Id`, `" & FILNAMES & "`.Outlet, `" &
FILNAMES & "`.`Street Address`, `" & FILNAMES & "`.Locality, `" &
FILNAMES & "`.Town, `" & FILNAMES & "`.County, `" & FILNAMES &
"`.`Outer Postcode`, `" & FILNAMES & "`.`Inner Postcode`, `" &
FILNAMES & "`.`Phone No#`, " _
, _
"`" & FILNAMES & "`.`Outlet Status`, `" & FILNAMES & "`.Tenure,
`" & FILNAMES & "`.`Primary Streetmap`, `" & FILNAMES & "`.`Last BDE
Visit`, `" & FILNAMES & "`.Owner, `" & FILNAMES & "`.Operator, `" &
FILNAMES & "`.`BDE Territory`, `" & FILNAMES & "`.Region, `" &
FILNAMES & "`.Division" & Chr(13) & "" & Chr(10) & "FRO" _
, _
"M `" & PATHANDNAME & "`.`" & FILNAMES & "` `" & FILNAMES & "`" &
Chr(13) & "" & Chr(10) & "WHERE (`" & FILNAMES & "`.`BTerritory`='" &
BNO & "')" _
)
.Refresh BackgroundQuery:=False
End With
However this takes around 9 minutes!
I have tested and i can retrieve a named range (eg. a1:p5000) from the
same file in 70 seconds (obviously no querying / where clause to
filter records involved). It is because of this I feel i should be
able to improve the time it takes to query the records and retrieve
the matching ones.
I did think about copying the whole *** of file b and filtering once
copied into file a but this causes out of memory errors.
I have been previously pointed towards ado however I cannot see how i
can filter the records using this method.
This is seriously hindering the use of this file and i would
appreciate ANY help or suggestions.
Thanks,
.
- Prev by Date: Re: Need Help Converting Date & Time Stored as Text
- Next by Date: Subroutine Summing and Outlining
- Previous by thread: Re: Error Handling Help
- Next by thread: Subroutine Summing and Outlining
- Index(es):
Loading