Практикум для изучения возможностей работы в СУБД Access. Устюгова В.Н. - 62 стр.

UptoLike

Составители: 

62
Пример 2
Set MyComm = New ADODB.Command
MyComm.ActiveConnection = CurrentProject.Connection
MyComm.CommandText = "Delete * from Фонд1;"
MyComm.CommandType = adCmdText
MyComm.Execute
Set MyComm = Nothing
Как правильно сгенерировать значения ADO RecordCount
Свойство ADO RecordCount возвращает количество записей в наборе записей ADO.
Однако в некоторых случаях данное свойство возвращает значение, равное -1. Это
происходит из-за того что значение, возвращаемое свойством RecordCount, зависит от типа
курсора в наборе записей: -1 для курсора, перемещаемого только вперед; реальное
количество записей для статического курсора или курсора, управляемого клавишами на
клавиатуре; -1 или реальное количество записей для динамического курсора в
зависимости от источника данных.
Кроме того значение RecordCount равно -1 для наборов записей, созданных с помощью
метода Execute для объекта Connection или Command. Это происходит потому, что данный
метод генерирует набор записей, перемещаться по которому можно только вперед. В
примере -1 будет возвращено для набора записей на базе myConRst и реальное количество
записейдля myKeyRst.
Sub TestRecordCount()
Dim myConn As ADODB.Connection
Dim myComm As String
Dim myConRst As ADODB.Recordset
Dim myKeyRst As ADODB.Recordset
Dim sConnection As String
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\Microsoft Visual Studio\VB98\Biblio.mdb"
Set myConn = New ADODB.Connection
Set myKeyRst = New ADODB.Recordset
myConn.Open sConnection
myComm = "Select * From Authors"
Set myConRst = myConn.Execute(myComm, , adCmdText)
myKeyRst.Open myComm, myConn, adOpenKeyset
MsgBox "RecCount from Connection: " & myConRst.RecordCount & _
vbCr & "From Recordset: " & myKeyRst.RecordCount
Set myKeyRst = Nothing
Set myConRst = Nothing
Set myConn = Nothing
End Sub
В следующих заданиях использовать Модель доступа к данным ADO.
1. Из собственной базы данных подключиться к базе Борей.mdb. Добавить в таблицу
Доставка новую запись.
Пример 2

Set MyComm = New ADODB.Command
MyComm.ActiveConnection = CurrentProject.Connection
MyComm.CommandText = "Delete * from Фонд1;"
MyComm.CommandType = adCmdText
MyComm.Execute
Set MyComm = Nothing

                 Как правильно сгенерировать значения ADO RecordCount

     Свойство ADO RecordCount возвращает количество записей в наборе записей ADO.
Однако в некоторых случаях данное свойство возвращает значение, равное -1. Это
происходит из-за того что значение, возвращаемое свойством RecordCount, зависит от типа
курсора в наборе записей: -1 для курсора, перемещаемого только вперед; реальное
количество записей — для статического курсора или курсора, управляемого клавишами на
клавиатуре; -1 или реальное количество записей — для динамического курсора в
зависимости от источника данных.
     Кроме того значение RecordCount равно -1 для наборов записей, созданных с помощью
метода Execute для объекта Connection или Command. Это происходит потому, что данный
метод генерирует набор записей, перемещаться по которому можно только вперед. В
примере -1 будет возвращено для набора записей на базе myConRst и реальное количество
записей — для myKeyRst.

Sub TestRecordCount()
 Dim myConn As ADODB.Connection
 Dim myComm As String
 Dim myConRst As ADODB.Recordset
 Dim myKeyRst As ADODB.Recordset
 Dim sConnection As String
 sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=D:\Microsoft Visual Studio\VB98\Biblio.mdb"

 Set myConn = New ADODB.Connection
 Set myKeyRst = New ADODB.Recordset

 myConn.Open sConnection
 myComm = "Select * From Authors"
 Set myConRst = myConn.Execute(myComm, , adCmdText)

 myKeyRst.Open myComm, myConn, adOpenKeyset
 MsgBox "RecCount from Connection: " & myConRst.RecordCount & _
    vbCr & "From Recordset: " & myKeyRst.RecordCount

 Set myKeyRst = Nothing
 Set myConRst = Nothing
 Set myConn = Nothing

End Sub

     В следующих заданиях использовать Модель доступа к данным ADO.

     1. Из собственной базы данных подключиться к базе Борей.mdb. Добавить в таблицу
Доставка новую запись.
                                            62