powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вывести рекордсет?
17 сообщений из 42, страница 2 из 2
Как вывести рекордсет?
    #36115028
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отакота,

И как результаты этого запроса впихнуть в список в форме?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115033
отакота
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
Dim ds as DAO.Recordset
Set ds = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)

Чтобы вывести (на экран) результат вашего SQL-запроса, этот sql надо указать в качестве источника в каком-то интерфейсном элементе вашей бд: в форме, отчете (свойство RecordSource) или сохраненном запросе (свойство QueryDef.SQL), т.е. в том, чтоб собственно, может быть выведено на экран. А Recordset - это объект, предназначенный для программного доступа к набору записей в VB-коде, он сам по себе визуального представления не имеет.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115039
отакота
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы получить результат запроса в списке в форме (ListBox или ComboBox) рекордсет не нужен, достаточно присвоить строку SQL в RowSource этого списка
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115043
+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+
Гость
КириллНотакота,

А как, например, должен выглядеть синтаксис?

Код: plaintext
1.
CurrentDb.OpenRecordset (strSQL, dbOpenSnapshot)

Так верно? При этом на экран будет что-нибудь выведено?
Если только для того, чтобы посмотреть (=> подойдет вывод в окно Immediate aka окно Debug) то воспользовавшись рекордсетом класса ADODB, это можно сделать одной командой
Код: plaintext
Debug.Print rs.GetString
т.е. с объявлением и открытием
Код: plaintext
1.
2.
3.
4.
5.
Dim Rs as ADODB.Recordset
Set Rs = new ADODB.Recordset
Rs.Open "Select * FROM MY_TABLE", CurrentProject.Connection
Debug.Print Rs.GetString
Rs.CLose
Set Rs = nothing
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115045
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отакота,

Благодарю за консудльтацию!
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115058
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы путаете создание объекта-курсора по записям и визуальное предствавление данных в табличной форме на экране.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115062
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+,

rst .Open "SELECT Tab_Ganr.Ganr, Film.FilmName FROM Film INNER JOIN Tab_Ganr ON Film.IdGanrFilm = Tab_Ganr.IdGanr WHERE (((Film.IdGanrFilm)in (" & strSpis & "))) ORDER BY Tab_Ganr.Ganr, Film.FilmName;", CurrentProject.Connection

Method or data member not found
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115080
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отакота,

отакотадостаточно присвоить строку SQL в RowSource этого списка

Так?

Код: plaintext
1.
2.
StrSQL = "SELECT * FROM Table WHERE Fld = " & Me.ПолеСоСписком.Value
Me.Список1.RowSource = StrSQL
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115085
это есть?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КириллН

rst .Open "SELECT Tab_Ganr.Ganr, Film.FilmName FROM Film INNER JOIN Tab_Ganr ON Film.IdGanrFilm = Tab_Ganr.IdGanr WHERE (((Film.IdGanrFilm)in (" & strSpis & "))) ORDER BY Tab_Ganr.Ganr, Film.FilmName;", CurrentProject.Connection

Method or data member not found

Код: plaintext
1.
Dim rst as ADODB.Recordset
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115090
почти
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КириллН
...
Так?
...

Код: plaintext
1.
2.
3.
StrSQL = "SELECT * FROM Table WHERE Fld = " & Me.ПолеСоСписком.Value
Me.Список1.RowSource = StrSQL
Me.Список1.Requery
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115091
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это есть?,

У меня DAO было... Исправил, запустил - прошло без ошибок, но на экран ничего не вышло...
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115096
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почти,

То есть надо Requery добавить для того, чтобы список как бы обновился, пересчитал свое содержимое. Так? Для поля со списком - та же петрушка?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115098
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КириллНэто есть?,

У меня DAO было... Исправил, запустил - прошло без ошибок, но на экран ничего не вышло...

по поводу экрана, Вам уже ответили
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115106
именно так
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КириллНпочти,

То есть надо Requery добавить для того, чтобы список как бы обновился, пересчитал свое содержимое. Так? Для поля со списком - та же петрушка?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115112
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*ВСЕ*,

Благодарю за интеллектульное содействие!
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115119
+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+
Гость
КириллНэто есть?,

У меня DAO было... Исправил, запустил - прошло без ошибок, но на экран ничего не вышло...
Ctrl + G?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36130794
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MolasarЧерез VBA формирую рекордсет:

Dim rs_Purchases As String
Set db = CurrentDb

Set rs_Purchases = db.OpenRecordset("Select * From Table1" )

Как вывести его на экран самым простым способом, лучше в отдельном окне как таблицу?
Примерно так (как наиболее простой вариант - тупо посмотреть):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Кнопка0_Click()
    Dim strSQL As String

    strSQL = "Select * From Table1"  'Сформировать текст запроса как значение строковой переменной
    Me.Table1.RowSource = strSQL     'Установить значение переменной (запрос) как источник строк для таблицы Table1
    Me.Table1.Requery                'Пересчитать (обновить) таблицу, чтобы в ней отобразился результат запроса
End Sub
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вывести рекордсет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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