Ado

  • Автор темы root
  • Дата начала
R

root

#1
Код:
Function fSelectRecords(Sql As String ) As Variant
On Error Resume Next
Dim  r_recordset As Variant
Dim conn As Variant
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Set conn=CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open uidoc.FieldGetText("tPath")
Set r_recordset=CreateObject("ADODB.recordset")
r_recordset.Open sql , conn 	
Set fSelectRecord =r_recordset 'здесь идет ссылка на объект r_recordset

End Function
Далее мне необходимо подсчитать количество записей в таблици
Код:
If Not source.IsNewDoc Then
source.EditMode=True
Set tmpRecord = fSelectRecordы("Select * from "&source.FieldGetText("TNameTable") ) //тут тоже идет ссылка на объект 
If Not tmpRecord.eof Then 
RecordCount(tmpRecord) 
Else 
ErrorMessage(1)
End If 
End If
Вопрос как можно передать копию объекта ? тоесть еслия я изменяю значение tmpRecord то автоматически меняеться r_recordset а мне нужно чтоб я проделовал с копией объекто все что угодно при том чтоб оригинал оставался не изменным.
 
E

Elena Nefedova

#2
Вопрос как можно передать копию объекта ? тоесть еслия я изменяю значение tmpRecord то автоматически меняеться r_recordset а мне нужно чтоб я проделовал с копией объекто все что угодно при том чтоб оригинал оставался не изменным.
Поскольку r_recordset представляет собой ссылку на объект, то и обрабатывается он только по ссылке, как и все другие объекты.
В данном случае, если всегда нужно иметь исходный вариант r_recordset, то следует создать сразу два курсора: r_recordset и, напр., r_original_set, передав в оба одно и то же подключение и sql-строку при открытии.
 

GROMILA

Well-known member
08.04.2004
297
0
#3
Нафига тебе копия?

просто чувствую замыслил некий изврат ты.