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

Dim rs_Purchases As String
Set db = CurrentDb

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

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

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

Потому что

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

Еще проще

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

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

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

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

Но почему то не прокатывает...
Потому что не "rs", а rs...
...
Рейтинг: 0 / 0
22.03.2006, 12:10
    #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
22.03.2006, 12:32
    #33616875
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
Не получается!!!!
Приведите, пожалуйста, полный пример.
...
Рейтинг: 0 / 0
22.03.2006, 12:47
    #33616957
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
MolasarНе получается!!!!
Приведите, пожалуйста, полный пример.

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

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

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

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

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

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


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

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

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

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

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

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

Спасибо тебе, barrabas.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.12.2008, 13:51
    #35722295
Yak-man-Yak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
А я делаю по-другому. Вывожу данные в любую таблицу с помощью SELCT INTO, а потом поднимаю ее на просмотр или экспортирую в Excel.
...
Рейтинг: 0 / 0
18.12.2008, 13:53
    #35722302
Yak-man-Yak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
А я делаю по-другому. Вывожу данные в любую таблицу с помощью SELCT INTO, а потом поднимаю ее на просмотр или экспортирую в Excel.
...
Рейтинг: 0 / 0
19.12.2008, 10:41
    #35723983
Yak-man-Yak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
barrabas,
Полезно, спасибо.
...
Рейтинг: 0 / 0
21.12.2008, 00:10
    #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
29.07.2009, 10:58
    #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
29.07.2009, 11:08
    #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
29.07.2009, 11:14
    #36115017
КириллН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести рекордсет?
отакота,

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

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

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

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


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