Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос / 14 сообщений из 14, страница 1 из 1
22.03.2016, 10:05
    #39197698
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Добрый день. подскажите пожалуйста как сделать запрос до определенного значения?
Например в таблице есть столбцы
| sum1 | vol1 | sum2 | vol2 |... | sum12 | vol12 |
нужно отобразить значения до 5 столбца
Результат должен быть таким
| sum1 | vol1 | sum2 | vol2 | sum3 | vol3 | sum4 | vol4 | sum5 | vol5 |
...
Рейтинг: 0 / 0
22.03.2016, 10:11
    #39197703
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Перечислить нужные поля (столбцы) в запросе.
Или это слишком просто?)))
...
Рейтинг: 0 / 0
22.03.2016, 10:14
    #39197708
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Это слишком просто, я ведь заранее не знаю сколько нужно отобразить
...
Рейтинг: 0 / 0
22.03.2016, 10:18
    #39197710
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobsЭто слишком просто, я ведь заранее не знаю сколько нужно отобразить
Дык а как составить запрос если неизвестно количество полей и их названия.
Жесть!
...
Рейтинг: 0 / 0
22.03.2016, 10:25
    #39197716
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
ROInoobsЭто слишком просто, я ведь заранее не знаю сколько нужно отобразить
Дык а как составить запрос если неизвестно количество полей и их названия.
Жесть!Перекрёстный?
...
Рейтинг: 0 / 0
22.03.2016, 10:26
    #39197717
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Я думал формировать значение через цикл в переменную а потом переменную воткнуть в запрос.
примерно так
p-заданный параметр
For i=1 to i<=p
if i<9 then
тут как-то дописать чтобы к i добавился 0 (01,02...)
param1+=volume+'"& i &"' + "," + sum+'"& i &"'
else
param2+=volume+'"& i &"' + "," + sum+'"& i &"'
end if
next i

и вот уже param1 и param2 записать в запрос
...
Рейтинг: 0 / 0
22.03.2016, 10:30
    #39197728
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobs, не очень понятно, что ты в итоге хочешь получить. Покажи и расскажи, что и итоге нужно, а не как ты видишь способ.
...
Рейтинг: 0 / 0
22.03.2016, 10:38
    #39197739
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobsнужно отобразить значения до 5 столбца
Результат должен быть таким
| sum1 | vol1 | sum2 | vol2 | sum3 | vol3 | sum4 | vol4 | sum5 | vol5 |Вообще-то, здесь в результате не 5, а 10 столбцов.
...
Рейтинг: 0 / 0
22.03.2016, 10:42
    #39197748
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobsнужно отобразить значения до 5 столбца
Есть результат выполнения запроса. Есть отображение этого результата. Они связаны только прямо - отображаемое обязано быть в результате, но не наоборот - наличие в результате не гарантирует отображения.

Так что получай все данные таблицы, а отображай (на форме или в отчёте) только те поля, которые нужны.

noobsя ведь заранее не знаю сколько нужно отобразить
И надеешься, что Access сам догадается, чего и сколько тебе нужно? зря...
...
Рейтинг: 0 / 0
22.03.2016, 11:08
    #39197776
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
__Michellenoobsнужно отобразить значения до 5 столбца
Результат должен быть таким
| sum1 | vol1 | sum2 | vol2 | sum3 | vol3 | sum4 | vol4 | sum5 | vol5 |Вообще-то, здесь в результате не 5, а 10 столбцов.
не совсем правильно выразился, до 5 столбца суммы и объема
Вот такой результат должен получиться если пользователь запросил показать значения суммы и объема с 1 до 5
...
Рейтинг: 0 / 0
22.03.2016, 11:09
    #39197778
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Результат
...
Рейтинг: 0 / 0
22.03.2016, 11:50
    #39197819
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
в целом вроде бы разобрался сделал вот такой цикл

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
For i = 1 To end
    If i <= 9 Then
          p = "0" & i
          param = param + "sum" & p + "," + "volume" & p + ","
     else
         param = param + "sum" & p + "," + "volume" & p + ","
     End If
 Next i
...
Рейтинг: 0 / 0
22.03.2016, 11:52
    #39197823
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobs, так ответили же? 18962165
В общем случае
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim i as Long
Dim strFlds As String, strSQL As String

    For i=1 to 5
        strFlds =strFlds & ", sum" & Format(i, "00")
    Next i
strSQL = "SELECT kod_StatBu?, ..." & strFlds & " FROM ..."
Debug.Print  strSQL 
...
Рейтинг: 0 / 0
22.03.2016, 16:23
    #39198140
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
noobs,
-не надо обзывать поля зарезервированными словами
создаете запрос1 и процедурку, на нужном вам событии ( в данном случае на форме,в поле1 вводится количество выводимых пар myvol и mysum ):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim strSQL As String, i, c, str
i = Me.Поле1
For c = 1 To i
str = str & ",myvol" & c & ",mysum" & c
Next
strSQL = Mid(str, 2)
strSQL = "SELECT " & strSQL & " FROM таблица1"
CurrentDb.QueryDefs("запрос1").SQL = strSQL
DoCmd.OpenQuery "запрос1"
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]