Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / создать ADO.recordset вручную / 8 сообщений из 8, страница 1 из 1
03.06.2003, 13:03
    #32175055
igorilla
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
Привет всем.

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

Спасибо.
...
Рейтинг: 0 / 0
03.06.2003, 13:38
    #32175111
DIKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
Можно
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
04.06.2003, 07:51
    #32175792
Наталья1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
DIKI, большое спасибо за код. Мне очень пригодился. Но вот вопрос: если rsParam - не вновь созданный рекордсет, а некоторая выборка из т-цы:
Set db = OpenDatabase("C:\...")
Set rs = db.OpenRecordset("SELECT ...;")
, то как его запихнуть в Grid?
With grdOur
Set .DataSource = rs <- тут вылетает ошибка "type mismatch "
End With
Спасибо.
...
Рейтинг: 0 / 0
04.06.2003, 15:48
    #32176461
Vitaly Vengrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
Если grdOur у тебя Microsoft DataGrid Control 6.0 (OLEDB) то он работает только с АДО. А ты пытаешься связать его ДАО рекордсетом.
...
Рейтинг: 0 / 0
05.06.2003, 08:29
    #32176944
Наталья1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
И что теперь делать? Выбирать другой тип грида?
...
Рейтинг: 0 / 0
05.06.2003, 10:14
    #32177039
Vitaly Vengrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
Либо да, либо используй АДО.

Код: 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
Период между сообщениями больше года.
21.09.2018, 17:18
    #39706240
Sema9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
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
21.09.2018, 18:18
    #39706252
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создать ADO.recordset вручную
а) F1 (справка, можно предварительно поставить курсор на интересующий объект)
б) F2 (браузер объектов - там можно посмотреть возможные значения)
ц) MSDN Online
д) Поисковые системы типа гугла
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / создать ADO.recordset вручную / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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