Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SELECT...... FROM ......
 
 автор: dmsrv803   (10.08.2010 в 15:59)   личное сообщение
 
 

Возможно-ли в качестве значений в результате запроса на выборку получить не значения полей таблицы, а их имена?

  Ответить  
 
 автор: Анатолий (Киев)   (10.08.2010 в 16:24)   личное сообщение
 
 

Имена полей можно получить из коллекции Fields Recordset-а, открытого на вашем запросе.
Также поле со списком на форме может вернуть вам имена полей из запроса-источника строк.

Где и зачем вам это нужно?

  Ответить  
 
 автор: dmsrv803   (10.08.2010 в 16:49)   личное сообщение
 
 

Есть таблица (не моя) полученная из Excel с именами полей также из этой таблице. Таблица большая, полей много - нужна хоть какая-то автоматизация. В общем хрень полная. Идея в следующем. Сделать Таблицу с двумя полями. Одно поля для старого field.name, другое для нового. Значения для старого заполню с помощью запроса, а новые имена полей введу руками. Потом переименую старые на новые с помощью fields("name").Name = newName.
Но по любому нужен список имен этих полей.
Хотя легко их получить из Excel ской таблице , только импортировать нужно без данных, только заглавия столбцов. Они и будут являться именами полей.
А сделать это с помощью SQL - думаю не реально.

  Ответить  
 
 автор: Анатолий (Киев)   (10.08.2010 в 21:08)   личное сообщение
 
 

Хотя легко их получить из Excel ской таблице , только импортировать нужно без данных, только заглавия столбцов. Они и будут являться именами полей.
А сделать это с помощью SQL - думаю не реально.


Почему же нереально?
sSQL="SELECT * INTO NewTable FROM [Лист1$] IN 'C:\MyFile.xls' [Excel 8.0;HDR=Yes] WHERE False"
CurrentDB.Execute sSQL
Эта конструкция создаст пустую таблицу с желаемыми именами полей.
sSQL="SELECT TOP1 * INTO NewTable FROM [Лист1$] IN 'C:\MyFile.xls' [Excel 8.0;HDR=No] WHERE False"
CurrentDB.Execute sSQL
А эта создаст таблицу с полями F1, F2, F3 и т.д. но с одной записью, где будут имена столбцов из файла.
Если поработать над файлом, и с помощью Transpose на чистом листе свормировать вертикальній список имен полей, то второй запрос создаст таблицу с одним полем и кучей записей с именами столбцов.

  Ответить  
 
 автор: dmsrv803   (12.08.2010 в 16:22)   личное сообщение
 
 

Попробую реализовать. Спасибо.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList