|
автор: Irena (27.10.2006 в 15:04) |
|
| Если это возможно. Но уж очень бы надо! | |
|
| |
|
|
|
| вопрос непонятен.
запрос и так "вытаскивает" поля таблицы... | |
|
| |
|
автор: Irena (27.10.2006 в 15:40) |
|
| Прошу прощения. Названия полей. А не данные. | |
|
| |
|
|
автор: Irena (27.10.2006 в 15:51) |
|
| 2003, но хорошо бы оно сработало бы и на ХР | |
|
| |
|
|
|
| для 2000 и выше
Public Function listFields(strNameTbl As String)
' выводит имена полей в указанной таблице или запросе
' запрос должет быть без параметров
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Set rst = New ADODB.Recordset
rst.Open "select * from " & strNameTbl, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
For Each fld In rst.Fields
Debug.Print fld.Name
Next
rst.Close
Set rst = Nothing
End Function
|
Для 97 для таблицы можно использовать
TableDef.fields
а для запросов:
QueryDef.Fields | |
|
| |
|
автор: Irena (27.10.2006 в 15:59) |
|
| Спасибо, но, боюсь, это не совсем то, что нужно. Мне надо не просто вытащить названия полей, но получить рекорсет, содержащий эти названия (потом по нему нужно делать цикл типа Do until... Loop). Такое возможно? | |
|
| |
|
|
|
| вы и так можете делать цикл по свойству Fields (таблицы или запроса) | |
|
| |
|
|
|
| опять не понял...
чем вас не устраивает
for each .... in .... ?
это как раз перебор всех названий полей.... | |
|
| |
|
автор: Irena (27.10.2006 в 16:32) |
|
| Да вот с For each... in что-то не выходит то, что мне нужно.
Я пытаюсь новый рекордсет построить для вывода в Excel, и вот... на этом месте затыка получается. | |
|
| |
|
|
|
| не кормите нас с чайной ложечки, пожалейте свое и чужое время, опишите задачу подробнее | |
|
| |
|
автор: Irena (27.10.2006 в 16:52) |
|
| Снова прошу прощения. Дано: есть результаты тестирования по годам. Собственно, тестирование идет по многим пунктам => есть таблица с ключевыми полями КодТестируемого, Год и n полями - пунктами тестирования (баллами по ним). Задача - вывести отчет с динамикой результатов по годам. Ну, в грубом приближении - таблица в Excel'e, первый столбец - ID тестируемого, дальше - пункт тестирования (ну пусть будет IQ) и в нем баллы по годам (2003,2004,2005,2006), следщ. пункт (вид теста) - то же самое...
Не знаю, получилось ли объяснить понятно? | |
|
| |
|
|
|
| "дальше - пункт тестирования (ну пусть будет IQ) и в нем баллы по годам (2003,2004,2005,2006)"
вот это не совсем понятно.
не могли бы Вы сюда пристигнуть пример Excel таблицы которая должна быть на выходе с кусочком данных (не более 50 кбт) | |
|
| |
|
автор: Irena (27.10.2006 в 17:18) 16 Кб. |
|
| Да, конечно, пожалуйста - нечто вроде этого (см. аттачмент) в грубом приближении. Цифры "с потолка", т.е. могут быть любые целые, в том числе отрицательные, но дело, конечно, не в них... Полей (видов/пунктов теста) тоже будет не 4, а несколько десятков, для конкретного отчета будут выбираться конкретные виды теста пользователем на форме. | |
|
| |
|
|
|
| я бы сделал так.
Выгнал в excel плоскую таблицу вида
ФИО ГОД ТЕСТ БАЛЛЫ
потом программно в EXCEL построил бы сводную таблицу по этим данным...
или использовал бы
http://hiprog.com/index.php?option=com_content&task=view&id=685 | |
|
| |
|
|
|
| если пришлете исходный запрос с куском данных на мыло, то к понедельнику постараюсь написать скрипт | |
|
| |
|
автор: Irena (30.10.2006 в 09:33) |
|
| Только сейчас снова вышла в сеть и увидела Ваше сообщение. | |
|
| |
|
|
|
| Очень жаль.
предложение в силе, но со сроками ничего конкретного сказать не могу, точно не сегодня...
пишите в почту. | |
|
| |
|
автор: Irena (30.10.2006 в 12:28) |
|
| Большое спасибо. :) | |
|
| |
|
|
|
| пока не за что | |
|
| |
|
автор: Irena (01.11.2006 в 10:44) |
|
| Уфф, все-таки получилось своими силами - через рекордсет. Вы были правы, оказалось возможно запрячь в одну упряжку For... Next с циклом по полям и Do While... Loop.
Еще раз большое спасибо! | |
|
| |