Я также запрашиваю Access из C # (с поиском и поиском) и использую следующий код для построения всех моих запросов:
var sb = new StringBuilder();
sb.Append("select {0} from {1}");
sb.Append(" where {3} in (");
sb.Append("select top {4} sub.{3}");
sb.Append(" from (");
sb.Append(" select top {5} tab.{3}");
sb.Append(" from {1} tab");
sb.Append(" where {2}");
sb.Append(" order by tab.{3}");
sb.Append(" ) sub");
sb.Append(" order by sub.{3} desc");
sb.Append(")");
sb.Append("order by {3}");
sql = string.Format(sb.ToString(), this.ColumnsToSelect, this.TableName,
this.WhereClause, this.OrderBy, this.PageSize, this.PageNum * this.PageSize);
Обратите внимание, что для этого все параметры должны быть указаны
(если вы на самом деле не хотите ничего фильтровать, просто поместите 1=1
в предложение WHERE
)