Visual Basic - Ayuda msflexgrid

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda msflexgrid

Publicado por MARIA (24 intervenciones) el 07/10/2005 12:58:06
Hola!
Estoy intentando pasar los datos de un BD a un msFlexgrid pero me da error.Mi código es el siguiente:
Dim rstCopia As ADODB.Recordset
Dim conexion As ADODB.Connection
Set conexion = New ADODB.Connection
conexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= C:\BD.mdb"
conexion.Open
Set rstCopia = New ADODB.Recordset
sql = "select * from Tabla"
Set rstCopia = conexion.Execute(sql)
Set MSHFlexGrid1.DataSource = rstCopia
Como podeis ver uso unobjeto MSHFLexGrid y no un MSFlexGrid ¿por que? pues porque es la única forma de que al menos me salga algo de información.El problema es que de esta forma sólo me sale 1 registro de la BD¿Cómo puedo solucionarlo?
¿Puedo hacer algo parecido pero con el objeto MSflexGrid?
Muchas gracias.
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
sin imagen de perfil

RE:Ayuda msflexgrid

Publicado por iñaki (502 intervenciones) el 08/10/2005 01:52:17
Hola Maria, uno de los problemas es que el Msflexgrid se puede conectar a un control DATA pero no acepta codigo ADO, ni DAO, aunque si puede llenar de datos mediante "AddItem".
El otro problema que te surge que te devuelve 1 registro es al utlizar "execute", no te sabria decir el porque solo devuelve 1, pero si que funciona con el metodo "open"

rstCopia.Open SQL, conexion, adOpenKeyset
Set MSHFlexGrid1.DataSource = rstCopia

Saludos
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:Ayuda msflexgrid

Publicado por sol (1 intervención) el 22/10/2005 01:39:32
si tenes la respuesta a tu problema por favor enviamela que me pasa lo mismo, muchas gracias
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:Ayuda msflexgrid

Publicado por Edgar (3 intervenciones) el 23/10/2005 08:32:36
Hola María
lo mas recomendable es,que, resuelvas la conexion en un módulo, la cual son los siguientes pasos:
declara estos objetos en el general del modulo (debes agregar un modulo al proyecto en la ventana de proyectos)

General Declaraciones
Public cn As New Connection
Public rs As New ADODB.Recordset

Public Sub Conexion()

On Error GoTo MensajedeError
Dim Conex As String
Conex = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\MICROTECH\Mis documentos\BD.mdb;Persist Security Info=False"
cn.ConnectionString = Conex
cn.Open

Exit Sub
MensajedeError:
MsgBox "La conexion ha fallado.", mb_iconstop, "Error de Conexión"
End

Luego te vas al formulario donde invocas a la conexion

codificacion en el formulario:

Private Sub Form_Load()
Call Conexion 'llamada a la conexion de tu base de datos
Dim sql As String ' declara para la consulta en tu recordset

sql = "Select * from Tabla order by Campo_Tabla"

rs.Open sql, cn, adOpenStatic
Set MSHFlexGrid.DataSource = rs
rs.MoveFirst
end sub

eso es todo, asi de sencillo. Imagino que ha estas alturas ya habrás conseguido conectar la BD pero no esta de mas una ayudadita....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

Otra cosa..

Publicado por Edgar (3 intervenciones) el 23/10/2005 08:41:57
Me olvidaba por si no lo sabes para que puedas disfrutar los objetos de conexion y el recorset, tendras que habilitar las referencias de VB 6.0 en el Barra de Menún Project-References.
En la Ventana busca las referencias Microsoft ActiveX Data Objects 2.8 Library (en el caso de mi sistema) y Microsoft ActiveX Data Objects Recordset 2.8 Library y habilitalas y Ok. eso es todo, en el caso que encuentres 2.7 o inferior habilita siempre el de mayor versión como en el caso de mi sistema que es el 2.8...Good Luck!!
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