I use the following code to place data from a database into an excel spreadsheet for use in a multi-user VBA application.
Most of the time the data from the query is placed starting in cell C4 and down.
usually the query places the data in the same order it is in the database but
on occasion will switch and place the data that should be in cell C5 into cell C25 and do so for that user only from then on.

Any ideas how to keep the data that is going into the spreadsheet in the order it is in the database?
Order by seems to be more to sort by ascending or descending order?

With ActiveSheet.QueryTables.Add(Connection:=Array(Arra y( _
"ODBC;DSN=MS Access Database;DBQ=C:\Users\Public\LBNL\WINDOW6\w6.mdb;D efaultDir=C:\Users\Public\LBNL\WINDOW6;DriverId=25 ;FIL=MS Acc" _
), Array("ess;MaxBufferSize=2048;PageTimeout=5;")), Destination:=Range("C4"))
.CommandText = Array( _
"SELECT GlassList.ID" & Chr(13) & "" & Chr(10) & "FROM `C:\Users\Public\LBNL\WINDOW6\w6`.GlassList GlassList" _