powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вывести рекордсет?
25 сообщений из 42, страница 1 из 2
Как вывести рекордсет?
    #33615255
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через VBA формирую рекордсет:

Dim rs_Purchases As String
Set db = CurrentDb

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

Как вывести его на экран самым простым способом, лучше в отдельном окне как таблицу?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33615303
Nakesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант MS DataGrid.

(не по теме) может Dim rs_Purchases as Recordset, а не String в твоем примере?
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33615308
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать мастером форму и не ломать голову с рекордсетом.

Потому что

Dim rs_Purchases As String должно быть DAO.Recordset или ADODB.Recordset но не как не String!!!

Еще проще

docmd.OpenTable "Table1"
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33615311
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoCmd.OpenQuery имяЗапроса [, режим] [, режимДанных]
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616716
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как можно вывести на экран сформированный на VBA запрос?
Например:

rs = ''Select * From Table1"
DoCmd.OpenQuery "rs", , acReadOnly

Но почему то не прокатывает...
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616741
Ort84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarА как можно вывести на экран сформированный на VBA запрос?
Например:

rs = ''Select * From Table1"
DoCmd.OpenQuery "rs", , acReadOnly

Но почему то не прокатывает...
Потому что не "rs", а rs...
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616747
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarА как можно вывести на экран сформированный на VBA запрос?
Например:

rs = ''Select * From Table1"
DoCmd.OpenQuery "rs", , acReadOnly

Но почему то не прокатывает...
rs это имя запроса
dim qdf as dao.querydef
set qdf = currentdb.querydefs("rs")
qdf.sql = ''Select * From Table1"
DoCmd.OpenQuery "rs", , acReadOnly

(могут быть синтаксические ошибки, запрос c именем RS нужно создать заранее)
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616875
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получается!!!!
Приведите, пожалуйста, полный пример.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616957
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarНе получается!!!!
Приведите, пожалуйста, полный пример.

Что не получается?
Наступи на свою таблу мышкой, найди в тулбаре мастера построителя, выбери авто форм кликни и получи форму. Не забудь ее спасти
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616967
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос формируется на VBA и выводится должен из VBA!!!!
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33616997
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarЗапрос формируется на VBA и выводится должен из VBA!!!!

Чушь! Запросы формируются на языке SQL и только на языке SQL!
Опиши в конце концов задачу полностью!
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33617022
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма. Есть кнопка. Нажимаю кнопку. Начинает выполнятся сложный код на VBA.
Помере выполнения кода нужно выводить на экран данные из сформированных запросов.
При этом нельзя сохранять или использовать сохраненные запросы! Все динамически!!!!

Dim rs As String
...
rs = "Select * Table1"
...

И вот этот вот rs нужно вывести на экран.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33617037
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 6 VB мли на .NET это реализуется очень быстро и просто.

В аксесе - сложнее и длиньше.

Сделать пустую форму, перебрать в цикле поля запроса и навтыкать в форму контролов. CreateControl. Форму открывать в режиме дизайна, в невидимом виде.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33617088
a_ _k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительВ аксесе - сложнее и длиньше.


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

авторПри этом нельзя сохранять или использовать сохраненные запросы! Все динамически!!!!

если можно динамически - почему нельзя использовать сохраненные запросы?
--

"верую ибо нелепо" - хорошо тогда, когда это символ знания, а не символ нелепости.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33617205
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MolasarНе получается!!!!
Приведите, пожалуйста, полный пример.

Создаешь запрос с именем Test c любым текстом (мы его менять будем)
меняем его содержание
currentdb.QueryDefs("Test").SQL = "select * from TableName"
открываем и смотрим результат
docmd.OpenQuery "Test",,acReadOnly
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #33617258
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabas MolasarНе получается!!!!
Приведите, пожалуйста, полный пример.

Создаешь запрос с именем Test c любым текстом (мы его менять будем)
меняем его содержание
currentdb.QueryDefs("Test").SQL = "select * from TableName"
открываем и смотрим результат
docmd.OpenQuery "Test",,acReadOnly

Спасибо тебе, barrabas.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как вывести рекордсет?
    #35722295
Yak-man-Yak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я делаю по-другому. Вывожу данные в любую таблицу с помощью SELCT INTO, а потом поднимаю ее на просмотр или экспортирую в Excel.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #35722302
Yak-man-Yak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я делаю по-другому. Вывожу данные в любую таблицу с помощью SELCT INTO, а потом поднимаю ее на просмотр или экспортирую в Excel.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #35723983
Yak-man-Yak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barrabas,
Полезно, спасибо.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #35726275
YURIY_Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim dbs As Database, qdf As QueryDef, strSQL As String, sss As String
Set dbs = CurrentDb
dbs.QueryDefs.Refresh
dbs.QueryDefs.Delete ("Z") - если нужно конечно
strSQL = "SELECT..................................;"
Set qdf = dbs.CreateQueryDef("Z", strSQL)
DoCmd.OpenQuery qdf.NAME
qdf.OpenRecordset
вот и все дела.........):
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36114963
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понял, конструкция вроде

Код: plaintext
1.
2.
3.
4.
Dim strSQL As String

strSQL = "SELECT * FROM Table"
CurrentDb.OpenRecordSet (strSQL)

не может быть модифицирована так, чтобы результаты запроса были выведены таблицей, как если бы я этот запрос наваял конструктором запросов и нажал вверху, на панели инструментов, кнопочку Выполнить. Верно? Тогда что это:

Код: plaintext
OpenRecordset (source, type, options, lockedits)

Access F1
...
options
Optional. A combination of constants that specify characteristics of the new Recordset, as listed in Settings .
...
Settings

You can use one of the following constants for the type argument.

dbOpenTable
Opens a table-type Recordset object (Microsoft Jet workspaces only).
dbOpenDynamic
Opens a dynamic-type Recordset object, which is similar to an ODBC dynamic cursor. (ODBCDirect workspaces only)
dbOpenDynaset
Opens a dynaset-type Recordset object, which is similar to an ODBC keyset cursor.
dbOpenSnapshot
Opens a snapshot-type Recordset object, which is similar to an ODBC static cursor.
dbOpenForwardOnly
Opens a forward-only-type Recordset object.

Note If you open a Recordset in a Microsoft Jet workspace and you don't specify a type, OpenRecordset creates a table-type Recordset, if possible. If you specify a linked table or query, OpenRecordset creates a dynaset-type Recordset. In an ODBCDirect workspace, the default setting is dbOpenForwardOnly.


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

Код: plaintext
1.
2.
3.
4.
Dim strSQL As String

strSQL = "SELECT * FROM Table"
CurrentDb.OpenRecordSet (strSQL)

не может быть модифицирована так, чтобы результаты запроса были выведены таблицей, как если бы я этот запрос наваял конструктором запросов и нажал вверху, на панели инструментов, кнопочку Выполнить. Верно?верно

КириллНТогда что это:

Код: plaintext
OpenRecordset (source, type, options, lockedits)

[quot Access F1]
...
options
Как эти параметры использовать?вот как сказано в справке, так и использовать. Например, хотите индексы использовать - открывать над с опцией dbOpenTable, хотите просто читать данные (не меняя их) - dbOpenSnapshot, хотите редактировать данные - dbOpenDynaset. Там же все написано.
...
Рейтинг: 0 / 0
Как вывести рекордсет?
    #36115017
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отакота,

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

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

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

В таком виде выдает ошибку "Expected: ="
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вывести рекордсет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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