
30/08/2006, 08:14
|
 | | | Fecha de Ingreso: junio-2006 Ubicación: Buenos Aires, Argentina
Mensajes: 53
Antigüedad: 18 años, 10 meses Puntos: 0 | |
si, se puede
Ejemplo del método CreateRecordset (VB)
Puede crear un objeto Recordset y especificar la información de las columnas. Después, puede insertar datos en el objeto Recordset; el conjunto de filas inserta los datos en un búfer.
El ejemplo de código siguiente muestra cómo definir un Recordset mediante el objeto RDSServer.DataFactory. También puede usarse el objeto RDS.DataControl.
Sub RsDefineShape()
Dim vntRecordShape(3)
Dim vntField1Shape(3)
Dim vntField2Shape(3)
Dim vntField3Shape(3)
Dim vntField4Shape(3)
' En cada campo, especifica el nombre,
' tipo, tamaño y si puede ser nulo.
vntField1Shape(0) = "Name" ' Nombre de columna.
vntField1Shape(1) = CInt(129) ' Tipo de columna
vntField1Shape(2) = CInt(40) ' Tamaño de columna.
vntField1Shape(3) = False ' ¿Con valores nulos?
vntField2Shape(0) = "Age"
vntField2Shape (1) = CInt(3)
vntField2Shape (2) = CInt(-1)
vntField2Shape (3) = True
vntField3Shape (0) = "DateOfBirth"
vntField3Shape (1) = CInt(7)
vntField3Shape (2) = CInt(-1)
vntField3Shape (3) = True
vntField4Shape (0) = "Balance"
vntField4Shape (1) = CInt(6)
vntField4Shape (2) = CInt(-1)
vntField4Shape (3) = True
' Pone todos los campos en una matriz de matrices.
vntRecordShape(0) = vntField1Shape
vntRecordShape(1) = vntField2Shape
vntRecordShape(2) = vntField3Shape
vntRecordShape(3) = vntField4Shape
' Utiliza RDSServer.DataFactory para crear un
' Recordset. Toma una matriz de Variants donde
' cada elemento es a su vez otra matriz de
' Variants, uno por cada columna requerida en el
' Recordset.
' Los elementos de la matriz interna son el
' nombre, tipo, tamaño y la posibilidad de ser nula de la columna.
Dim NewRs
' Podría utilizar el objeto RDS.DataControl
' en lugar del objeto RDSServer.DataFactory. En
' cuyo caso, el código siguiente sería Set NewRS
' = ADC1.CreateRecordset(vntRecordShape)
Set NewRS = ADF.CreateRecordset(vntRecordShape)
Dim fields(3)
fields(0) = vntField1Shape(0)
fields(1) = vntField2Shape (0)
fields(2) = vntField3Shape (0)
fields(3) = vntField4Shape (0)
' Llena el nuevo Recordset con valores de datos.
Dim fieldVals(3)
' Utiliza AddNew para agregar los registros.
fieldVals(0) = "Joe"
fieldVals(1) = 5
fieldVals(2) = CDate(#1/5/96#)
fieldVals(3) = 123.456
NewRS.AddNew fields, fieldVals
fieldVals(0) = "Mary"
fieldVals(1) = 6
fieldVals(2) = CDate(#6/5/96#)
fieldVals(3) = 31
NewRS.AddNew fields, fieldVals
fieldVals(0) = "Alex"
fieldVals(1) = 13
fieldVals(2) = CDate(#1/6/96#)
fieldVals(3) = 34.0001
NewRS.AddNew fields, fieldVals
fieldVals(0) = "Susan"
fieldVals(1) = 13
fieldVals(2) = CDate(#8/6/96#)
fieldVals(3) = 0.0
NewRS.AddNew fields, fieldVals
NewRS.MoveFirst
' Establece el Recordset recién creado y poblado a
' la propiedad SourceRecordset de
' RDS.DataControl para enlazar controles visuales.
Set ADC1.SourceRecordset = NewRS
End Sub
saludos |