Visual Basic - asignar

Life is soft - evento anual de software empresarial
 
Vista:

asignar

Publicado por mara (143 intervenciones) el 08/02/2005 03:01:47
como se asigna a un adodatacontrol un recordset que se genero a travez de codigo(es decir pára este no se uso adodc)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:asignar

Publicado por Ayudante (349 intervenciones) el 08/02/2005 04:18:23
Eso lo he tratado de hacer y no he podido, a menos que asignes el código SQL (Source) del recordset al ADODC, pero en lo personal te digo que es mejor utilizar los objetos de ADO por código que por ADODC, la verdad yo no sé lo que es trabajar con ADODC ni con DataEnvironment, ambos son basura a la par de lo que puedes hacer por código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:asignar

Publicado por Benjo (679 intervenciones) el 08/02/2005 23:41:52
Pues si el objeto Recordset del objeto ADODC es un Recordset y mediante código creas otro Objeto Recordset, es dable entender que puedes asignar este último al Objeto Recordset primero.
Sencillamente con Set
'Codigo en el Form, agregá un ADODC un CommandButton y un
' DATAGrid Aunqye el ADODC tenga otra conexión y otra Base de Datos DISTINTA, asumirá automáticamente el objeto connection del Recordset que se asigne

Public cnn As New ADODB.Connection
Public rs As New ADODB.Recordset

Private Sub Command1_Click()
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Archivos de programa\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False"
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM Clientes", cnn
Set Adodc1.Recordset = rs
'Ahora lo asigno al DataGrid
Set DataGrid1.DataSource = Adodc1
DataGrid2.ReBind
DataGrid2.Refresh
End Sub

Pero si estas incursionando en código ADO, no es nunca conveniente volver a los controles ADODC. El ADODC es un control que te sirve para aprender a programar y sólo como apoyo, pero despùes de un tiempo te queda chico, ya que tus proyectos tienen a ser generalmente escalables y los controles como el ADODC son imposibles de flexibilizar y personalizar como lo harías con un código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:asignar

Publicado por mara (143 intervenciones) el 09/02/2005 02:25:53
si efectivamente estoy empezando.
necesito el adodc para poder hacerle consultas a una tabla(varias), y no quiero cerrar el actual recordset que abri de esa tabla (porque es un recordset que se actualiza desde otras maquinas y si lo cierro para abrirlo de nuevo ya con una consulta diferente; tengo el temor que me provoque errores ya que si es buscado justo cuando este cerrado)

no se si me explique.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:asignar

Publicado por Benjo (679 intervenciones) el 09/02/2005 03:05:35
Perfectamente Mara
Lo que te conviene hacer en ese caso es clonar el recordset.
Yo en realidad nunca intenté Clonar el Recordset de un Objeto ADODC, pero siempre hay una oportunidad para intentarlo No?
La sintaxis sería:

set ADODCClonado.Recordset= ADODC1.Recordset.Clone

El cierre del Recordset original no hace que se cierren sus copias; el cierre de una copia no hace que se cierre el original ni ninguna de las otras copias.

Obviamente si trabajás con ADODC, deberías tener un segundo ADODC en el formulario para Clonar el principal que querés se mantenga abierto.
Espero no haberte embarullado más.
Mucha suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar