Como Crear un RecordSet Desconectado Jerarquico
Publicado por Luigi (79 intervenciones) el 05/09/2003 01:45:31
Como puedo copiar de un recordset conectado a otro recorset desconectado (eso se como hacerlo si es un recordset plano) pero el recorset que he recuperado que tiene una estructura jerarquica (consulta utilizando el MSDataShape - y el comando Shape )
el codigo q tengo es para un recordset plano y es el sgte:
Private Function CreateDisconnectRecordset(ByVal objRecordset As ADODB.Recordset) As Recordset
Dim objDisconnect As Recordset, objColumn As Field
If objRecordset.State = adStateOpen Then
With objRecordset
Set objDisconnect = New Recordset
For Each objColumn In .Fields
objDisconnect.Fields.Append objColumn.Name, objColumn.Type, objColumn.DefinedSize, adFldIsNullable + adFldMayBeNull
objDisconnect.Fields.Item(objColumn.Name).NumericScale = objColumn.NumericScale
objDisconnect.Fields.Item(objColumn.Name).Precision = objColumn.Precision
Next
objDisconnect.Open
If Not .EOF Then
If .CursorType <> adOpenForwardOnly Then .MoveFirst
While Not .EOF
objDisconnect.AddNew
For Each objColumn In objDisconnect.Fields
objDisconnect.Fields.Item(objColumn.Name).Value = .Fields.Item(objColumn.Name).Value
Next
.MoveNext
Wend
End If
If Not objDisconnect.BOF And Not objDisconnect.EOF Then objDisconnect.MoveFirst
End With
End If
Set CreateDisconnectRecordset = objDisconnect
End Function
cuando hago el Append y el tipo es adChapter no lo toma y s
el codigo q tengo es para un recordset plano y es el sgte:
Private Function CreateDisconnectRecordset(ByVal objRecordset As ADODB.Recordset) As Recordset
Dim objDisconnect As Recordset, objColumn As Field
If objRecordset.State = adStateOpen Then
With objRecordset
Set objDisconnect = New Recordset
For Each objColumn In .Fields
objDisconnect.Fields.Append objColumn.Name, objColumn.Type, objColumn.DefinedSize, adFldIsNullable + adFldMayBeNull
objDisconnect.Fields.Item(objColumn.Name).NumericScale = objColumn.NumericScale
objDisconnect.Fields.Item(objColumn.Name).Precision = objColumn.Precision
Next
objDisconnect.Open
If Not .EOF Then
If .CursorType <> adOpenForwardOnly Then .MoveFirst
While Not .EOF
objDisconnect.AddNew
For Each objColumn In objDisconnect.Fields
objDisconnect.Fields.Item(objColumn.Name).Value = .Fields.Item(objColumn.Name).Value
Next
.MoveNext
Wend
End If
If Not objDisconnect.BOF And Not objDisconnect.EOF Then objDisconnect.MoveFirst
End With
End If
Set CreateDisconnectRecordset = objDisconnect
End Function
cuando hago el Append y el tipo es adChapter no lo toma y s
Valora esta pregunta


0