|
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 1
|
|
Recordset получает одну запись, хотя со де ржит несколько.31.01.2007, 09:01. Показов 1576. Ответов 5
Метки нет (Все метки)
Подключяюсь к БД Access через ADO
Посылаю запрос и получаю объект RecordSet Этот Recordset Связываю с MsFlexGrid, но получаю одну запись Сам RecordSet содержит несколько Может кто знает, в чем дело ПЛЗ сообщите Если делать подключение через контрол ADOData, а потом подключать к MSFlexGrid, то выводит все записи
0
|
|
| 31.01.2007, 09:01 | |
|
Ответы с готовыми решениями:
5
DLookup, возвращает ли запрос хотя бы одну запись?
Редактирование поля: Recordset.edit recordset.Fields('поле') = Text1.text Recordset.update |
|
asd
|
|
| 01.02.2007, 00:29 | |
|
Вот пример, который использую я. Здесь открывается БД MS Access Parts.mdb и в ней таблица tblParts.
Проверь подключение Reference к Ms ActiveX Data Objects 2.x Library Dim DbFile As String '' Имя БД Dim cn as ADODB.Connection '' Соединение ADO Data Type Dim rs as ADODB.Recordset '' Набор записей Dim SQLstmt as String '' Запрос SQL Private Sub Form_Load() Open_cn Call ShowFlexGrid End Sub Private Sub Open_cn () '' Открываем БД DbFile = App.Path & 'Parts.mdb' '' Устанавливаем соединение Set cn= New ADODB.Connection cn.CursorLocation = adUseClient cn.ConnectionString = _ 'Provider=Microsoft.Jet.OLEDB.4.0;' & _ 'Data Source=' & DbFile & ';' & _ 'Persist Security Info=False' '' Открываем соединение cn.Open SQLstmt = 'SELECT * FROM [tblParts]' '' Получаем записи Set rs = New ADODB.Recordset rs.Open SQLstmt, cn, adOpenStatic, adLockOptimistic, _ adCmdText End Sub Private Sub Close_cn () cn.Close Set cn = Nothing End Sub Private Sub ShowFlexGrid() Dim c as Integer Dim flxgd_row as Integer Dim field_wid as Integer '' Настройки MSFlexGrid MSFlexGrid1.Rows = 2 MSFlexGrid1.FixedRows = 1 MSFlexGrid1.FixedCols = 0 MSFlexGrid1.Rows = 1 MSFlexGrid1.Cols = rs.Fields.Count ReDim col_wid(0 To rs.Fields.Count - 1) For c = 0 to (rs.Fields.Count - 1) MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name col_wid(c) = TextWidth(rs.Fields(c).Name) Next c flxgd_row = 1 Do While Not rs.EOF MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 For c = 0 To (rs.Fields.Count - 1) MSFlexGrid1.TextMatrix(flxgd_row, c) = _ Format(rs.Fields(c).Value, '. ') field_wid = TextWidth(rs.Fields(c).Value) If col_wid(c) < field_wid Then col_wid(c) = field_wid Next c rs.MoveNext flxgd_row = flxgd_row + 1 Loop End Sub |
|
|
Anri
|
|
| 01.02.2007, 05:00 | |
|
А вообще-то я где-то у мелкомягких прочел типа: 'если хочешь что-бы жило все автоматически - используй MS DataGrid Control'
. Не говорю что это и есть истинна, но точно так-же заполняю MSFlexGrid, как показанно выше.
|
|
|
0 / 0 / 0
Регистрация: 20.02.2007
Сообщений: 5
|
|
| 21.02.2007, 00:26 | |
|
Если используется провайдер Jet.4.0, то я не удивлюсь. Сам я работаю с Jet.3.51 и у меня всё
заполняется, но в 4-том даже DataGrid не работает...
0
|
|
|
0 / 0 / 0
Регистрация: 11.02.2007
Сообщений: 5
|
|
| 24.02.2007, 22:15 | |
|
Я прописаваю в ЭУ MSFlexGrid.datasource=имя объекта recordset и все само заполняется, как в jet.4.0 так и в более ранних версиях а так же с sqloledb. Только нужно поиграться с типами курсора и блокировками. По-моему нужен adStatic или adKeySet и блокировка adBatchOptimistic.
Теперича насчет DataGrid. Весьма недурственный ЭУ. Мне нравится гораздо больше чем Флексы. Только и работать с ним сложнее немного. Мне не удалость заставить его работать с объектом recordset ADO в качестве DataSource. Пришлось сделать свой ЭУ ActiveX и присобачить его как datasource к ЭУ DataGrid. ТОгда стало гораздо проще работать. С уважением, Serge Pod. Airbase =KRoN= ( http://airbase.uka.ru )
0
|
|
|
0 / 0 / 0
Регистрация: 11.02.2007
Сообщений: 5
|
|
| 15.03.2007, 03:35 | |
|
Нашел-таки способ работать с DataGrig только через объекты ADO.
Для того чтобы DataGrid воспринимал recordset как datasource нужно курсор рекордсета на сторону клиента. Тогда все ок.
0
|
|
| 15.03.2007, 03:35 | |
|
Помогаю со студенческими работами здесь
6
Проблемы с кодом Recordset.AddNew() Recordset(0) = '01/02/2002' Recordset.Update() Jion Recordset - сделать все записи в одну строку. Объединить несколько recordset в один роутер передает пакеты в одну сторону но не получает ответ от сервера Несколько результирующих наборов из курсора и RecordSet. Как? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|