powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / создать ADO.recordset вручную
8 сообщений из 8, страница 1 из 1
создать ADO.recordset вручную
    #32175055
igorilla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.

Есть вопрос: можно ли как-то создать пустой рекордсет ADO, не связанный ни с какими данными?
То есть сначала задать его структуру, потом открыть, записать туда некие данные, и после присобачить к ДБгриду?

Спасибо.
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #32175111
Фотография DIKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно
Set rsParam = New ADODB.Recordset: rsParam.CursorLocation = adUseClient
rsParam.Fields.Append "GOD", adVarChar, 255, adFldIsNullable
rsParam.Fields.Append "NAIM", adVarChar, 255, adFldIsNullable
rsParam.Fields.Append "ZNAK", adVarChar, 255, adFldIsNullable
rsParam.Fields.Append "KOLVO", adVarChar, 255, adFldIsNullable
rsParam.Open

rsParam.AddNew "god", ""
Me.DG1.AllowAddNew = False

With DG1
Set .DataSource = rsParam
.Columns(0).Locked = True
.Columns(1).Locked = True
.Columns(2).Locked = True
.Columns(0).Button = False
End With
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #32175792
Наталья1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DIKI, большое спасибо за код. Мне очень пригодился. Но вот вопрос: если rsParam - не вновь созданный рекордсет, а некоторая выборка из т-цы:
Set db = OpenDatabase("C:\...")
Set rs = db.OpenRecordset("SELECT ...;")
, то как его запихнуть в Grid?
With grdOur
Set .DataSource = rs <- тут вылетает ошибка "type mismatch "
End With
Спасибо.
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #32176461
Vitaly Vengrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если grdOur у тебя Microsoft DataGrid Control 6.0 (OLEDB) то он работает только с АДО. А ты пытаешься связать его ДАО рекордсетом.
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #32176944
Наталья1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И что теперь делать? Выбирать другой тип грида?
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #32177039
Vitaly Vengrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо да, либо используй АДО.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strConn As String
 
    strConn =  "Provider=Microsoft.Jet.OLEDB.3 . 51 ; " & _
            "Data Source= <путь к базе>" 

    Set cn = New ADODB.Connection
    With cn
        .ConnectionString = strConn
        .Open
    End With
    
    Set rs = New ADODB.Recordset
    rs.Open  "<твой SELECT>" , cn, adOpenKeyset, adLockOptimistic
    With grdOur 
          Set .DataSource = rs
          ... ' тут привязываеш столбцы к рекордсету
    End With 

    'при закрытии повыгружай все
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

Хотя я думаю для начала используй ADO Data Control - попроще будет
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
создать ADO.recordset вручную
    #39706240
Sema9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DIKISet rsParam = New ADODB.Recordset: rsParam.CursorLocation = adUseClient
rsParam.Fields.Append "GOD", adVarChar, 255, adFldIsNullable

Подскажите, пожалуйста, где найти описание:
1. Какие значения может принимать rsParam.CursorLocation, и что они означают
2. Какие значения бывают, кроме adFldIsNullable, и что они означают
3. Какими константами описываются типы данных в полях
Как описывать adVarChar и его длину, я понял
Еще бы знать, как описываются числа с фиксированной и плавающей точкой, типа double, decimal, float и им подобные и как указать
точность
...
Рейтинг: 0 / 0
создать ADO.recordset вручную
    #39706252
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а) F1 (справка, можно предварительно поставить курсор на интересующий объект)
б) F2 (браузер объектов - там можно посмотреть возможные значения)
ц) MSDN Online
д) Поисковые системы типа гугла
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / создать ADO.recordset вручную
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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