
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.01.2004, 16:08
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Таблица Договоры связана с табл.Счета. Один договор может иметь несколько счетов. Как сделать, чтобы в запросе все счета перечислялись в одном поле через запятую, т.е. один договор занимал бы одну строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:13
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Первое, что пришло в голову: - создаешь функцию, которая делает выборку номеров счетов по каждому договору и выстраивает их в строку - вставлешь эту функцию в запрос - в качестве параметра функции указываешь id договора Недостаток - может подтормаживать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:17
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:17
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Тут пример по совету, который дали выше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:18
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
2 incold Быстрый олень:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:26
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Вариант для mdb... Cоздать функцию в модуле, а как обратиться к ней из запроса? Я имею ввиду как ей передать аргументы(номера счетов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:29
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
выражение1:МояФункция(ИМяКлючевогоПоляТаблицы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 16:49
|
|||
|---|---|---|---|
|
|||
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open "SELECT DISTINCT Клиент FROM Клиенты ORDER BY Клиент;", СurrentProject.Connection ПеременнаяString = rst.GetString(adClipString, , ";", ";") rst.Close ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 17:13
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
2 ХТ: может это и работает, но у меня А97, к сожалению...:( Значит придется из одного rst выбирать КодДоговора, а потом как фильтр использовать это для другого Rst, который со Счетами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 17:30
|
|||
|---|---|---|---|
|
|||
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Попробуй до и после переменной в запросе ставить одинарные ковычки: "начало запроса....'" & твоя_переменная_в_перечислением_номеров_ счетов & "'...конец запроса" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 19:02
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
А переменную-то как "собрать"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 19:22
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Примерно так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 19:26
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Нет, так не пойдет... Надо так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.01.2004, 19:28
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Ну и как всегда, стормозил на rst.MoveNext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2004, 11:16
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Ну а у меня так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. "Запрос1" это набор данных: один столбец -Договор, второй - №_счета. Ну а вообще - тормозит все это довольно сильно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2004, 11:50
|
|||
|---|---|---|---|
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Set rstFlt = rst.OpenRecordset Зачем это? Для каждого договора каждый раз отбираются все записи, а потом накладывается фильтр. На фига, если можно ограничиться нужным номером? И второй раз открывать рекордсет на основе уже существующего тоже не надо If rstFlt.RecordCount > 0 Then rstFlt.MoveFirst Это лишнее. Рекордсет сам встает на первую запись, если она есть. Поэтому можно перейти сразу к следующей строке, где заменить While Not -> Until (это я сначала писал через While / Wend) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2004, 12:10
|
|||
|---|---|---|---|
|
|||
Перечисление в поле запроса данных через запятую. |
|||
|
#18+
Как собрать переменную? Была у меня такая задача: на форме есть листбокс, где перечисленны группы товаров, листбокс причем позволяет выбирать несколько строк одновременно. Надо было составить отчет, в который входили бы только товары из выбранных групп. Вот как это решил: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Задача усложнялась еще тем, что группы товара могли содержать пробелы и запятые, поэтому так много кавычек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&tablet=1&tid=1676948]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 410ms |

| 0 / 0 |
