У меня есть лист Excel, который я использую в качестве базы данных, и форма поиска, которая позволяет пользователю искать информацию на основе некоторых критериев и отображать отфильтрованные результаты на новом листе.
Я используюSQL для извлечения данных и отображения их пользователю.
Я использую что-то вроде top open connection, затем создаю набор записей и передаю ему свой sql-запрос
m_Connection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
Set OpenRecordset = CreateObject("ADODB.Recordset")
OpenRecordset.Open sql, GetConnection(), 3, 3, &H1
Set rst = OpenRecordset("SELECT * FROM [Database$] Where " & Myconditions & ";")
Все работает нормально, но мне нужно разрешить пользователям выбирать столбецимена и порядок заголовков, которые могут отличаться от того, что у меня есть на листе, из которого я делаю свой выбор, который я называю базой данных
Нам это нужно, потому что пользователи находятся в разных странах, поэтому отображаемое имя будет настроено на основестрана пользователя, но также мы хотим разрешить пользователю изменять отображаемое имя и порядок полей в зависимости от их потребностей и потому, что отображаемое имя может быть слишком длинным (многострочный).
My real "База данных »содержит около 110 столбцов и около 1000 записей (строк).
Я не могу публиковать реальные данные, потому что они конфиденциальны, но чтобы помочь вам понять меня, я создал этот пример, который представляет то, что у меня есть
допустим, у меня есть эта «база данных»
![enter image description here](https://i.stack.imgur.com/L8B55.jpg)
пользователь вводит этот экран поиска в sвыберите необходимую ему информацию из базы данных
![enter image description here](https://i.stack.imgur.com/w6jVp.jpg)
Я бы хотел, чтобы пользователь получал этот результат и не в том же порядке и отображении базы данных
![enter image description here](https://i.stack.imgur.com/Mpeka.jpg)
Как видно, отображаемые имена и порядки столбцов на странице результатов отличаются от листа "базы данных"
Я хотел бы создать страницу конфигурации, на которой пользователь может указать отображаемое имя, которое он хочет, и порядок отображения полей.что-то в этом роде
![enter image description here](https://i.stack.imgur.com/RbqmH.jpg)
Есть ли какой-нибудь быстрый способ сделать это прямо в моем наборе записей в SQL / EXCEL, или я должен после получения данных изменитьзаголовки в листе Excel с помощью VBA?Если это так, я должен создать своего рода массив в vba, который будет содержать как имена баз данных, так и отображаемые имена, и заменить имена баз данных на соответствующие, непосредственно перед тем, как показать страницу результатов.какие-либо предложения ?тот же вопрос о порядке полей, как сортировать их по порядку, выбранному пользователем?любой быстрый способ?
Спасибо всем, кто может помочь с лучшим способом сделать это