Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Объясните как надо?

16K
28 октября 2006 года
stupid
13 / / 28.10.2006
Dim RecSet As Object
Dim DB As Database
Set DB = OpenDatabase("C:\DB.mdb")
Set RecSet = DB.OpenRecordset("2kurs")
RecSet.MoveFirst

Do While Not RecSet.EOF
Label4.Caption = Label4.Caption & RecSet.Fields(0).Value & vbCr RecSet.MoveNext
Loop

В Итоге получется на форме набор записей в столбик.

Пишу на VB6.0
Мне не нравится следующее, если написать REcSet. то поидее если бы этот объект был объявлен как Recordset то появились бы свойства этого объекта, а так нет ничего, хотя всё работает. Я так понимаю что объявлять переменную надо не как Object, а как то подругому, чтобы появлялись сво-во объекта. Если объявлять как RecordSet, то будет ошибка при компиляции несовпадение типов.
Вообщем не могли бы вы разъяснить мне как правильно будет сделать чтоб получиьт свойства этого объекта. Set RecSet = DB.OpenRecordset("2kurs")?
263
29 октября 2006 года
koltaviy
816 / / 16.12.2004
Пробуй так:
 
Код:
Dim DB As Database
Dim rst As DAO.Recordset
Set DB = CurrentDB
Set rst = DB.OpenRecordset("2kurs")
rst.MoveFirst
...
rst.Close

Если он у тя не знает чо такое DAO - тебе сюда:
Tools->References: Microsoft DAO .. Object Library
А вообще VB6.0 часто глючит со своими подсказками. Например существует проблема "второй точки". Так что надеяться на это не надо. Если все работает, то и хорошо. Подсказки - это, если ты не помнишь чо поставить или лень набивать слово :), а если помнишь, то и подсказки не нужны.;)
16K
30 октября 2006 года
stupid
13 / / 28.10.2006
Спасибо, помогло. А вот ещё вопрос, будет ли какая то разница в том как я объявлял: Dim str as REcordset и как Dim str as DAO.Recordset
т.е. Какаято принципиальная разница или эо впринципе одно и тоже?
263
31 октября 2006 года
koltaviy
816 / / 16.12.2004
[quote=stupid]Спасибо, помогло. А вот ещё вопрос, будет ли какая то разница в том как я объявлял: Dim str as REcordset и как Dim str as DAO.Recordset
т.е. Какаято принципиальная разница или эо впринципе одно и тоже?[/quote]
Принципиальная разница есть, даже много разниц:)
Для информации смотри "DAO and ADO" - в том же самом help'e полно информации.
Вот наткнулся на такой код в help'е. Тебе поможет в следующий раз:) Но help все же почитай.
 
Код:
Sub CheckRSType()
    Dim rs as Object
    Set rs = Forms(0).Recordset
    If TypeOf rs Is DAO.Recordset Then
        MsgBox "DAO Recordset"
    ElseIf TypeOf rs is ADODB.Recordset Then
        MsgBox "ADO Recordset"
    End If
End Sub
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог