|
|
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Проблема такая: в объекте ListBox я отображаю некие данные, некоторые из них (выделенные) мне надо передать в запрос. Например в виде: SELECT ... FROM ... WHERE id_rec in (параметр) Как это можно сделать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 18:58 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Dim i As Integer, s As String s = "" For i = 0 To List0.ListCount - 1 If List0.Selected(i) Then If s > "" Then s = s & "," s = s & CStr(List0.ItemData(i)) End If Next s = "SELECT ... FROM ... WHERE id_rec in (" & s & ")" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 19:26 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Или см. хелп к объектам QueryDef и Recordset, или см. фак "Формирование строки SQL-запроса в VBA" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 19:27 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Саныч оказался более многословным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 19:28 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Я думаю, что ключевые слова, интересовавшие Алэнку, были Selected, ItemData, ListCount и синтаксис той части селекта, которая после In. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 19:31 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Понимаете, я как раз сделала так как сказал Владимир Саныч, но дело в том что ListBox у меня в форме, а запрос это отдельный объект, который является источником данных для отчета. И в таком варианте после выбора в Списке открывается окно, где надо вводить этот самый параметр S, который вообщето уже сформирован в форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 19:53 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Ну и сочинить на лету SQL-запрос, текст которого подставить в качестве источника данных для отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 20:03 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Я только начинаю писать на Accesse, поэтому если Вам не трудно не могли бы Вы привести пример кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 20:11 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
На OnOpen отчета: Me.RecordSource = s где s - глобальная переменная (вообще, лучше бы ее назвать как-нибудь попонятнее...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 21:06 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
То есть порядок действий такой: при нажатии кнопки запускается мой код от 19:26, потом открывается отчет, а потом см. мой пост от 21:06. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 21:23 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо. Запрос теперь формируется правильно (эта самая строка s), но когда выдается отчет, то в нем пусто. Такое впечатление, что Me.RecordSource=s не отработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 21:42 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
А переменная s описана как глобальная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 22:08 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Ну я так полагаю, что как глобальная, так как описываю ее в форме в разделе (General) (Declarations) в самом верху до разделительной черты. Я права или есть специальное место где глобальные переменные надо описывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 22:18 |
|
||
|
Передача параметров в запрос
|
|||
|---|---|---|---|
|
#18+
Нет, таким образом она будет доступна только в этой форме. А нам надо, чтобы она была доступна еще и в отчете. Поэтому ее надо описать в каком-нибудь самостоятельном модуле (не при форме) - в таком же месте, до черты. И вместо Dim у нее должно быть Public. И заодно: а в отчете переменная с тем же именем не должна быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 22:34 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32297539&tid=1678794]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 347ms |

| 0 / 0 |
