Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cargar datos de un FlexGrid

Estas en el tema de Cargar datos de un FlexGrid en el foro de Visual Basic clásico en Foros del Web. Quiero cargar los datos de un FlexGrid en un formulario, es decir, cuando clikee en una de las lineas del FlexGrid me cargue esos datos ...
  #1 (permalink)  
Antiguo 04/12/2006, 10:50
 
Fecha de Ingreso: noviembre-2006
Mensajes: 10
Antigüedad: 17 años, 5 meses
Puntos: 0
Cargar datos de un FlexGrid

Quiero cargar los datos de un FlexGrid en un formulario, es decir, cuando clikee en una de las lineas del FlexGrid me cargue esos datos en un formulario, y en ese formulario modificar el campo que deseo. No se si me han entendido?
Gracias.
  #2 (permalink)  
Antiguo 04/12/2006, 13:28
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
hola... en que tipo de control (Textbox, Label, etc...) del otro formulario deseas cargar los datos para modificarlos?
  #3 (permalink)  
Antiguo 04/12/2006, 18:23
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
asi lo hago yo con el control MSHFLEXGRID

MSHF.Cols = 3
MSHF.TextMatrix(0, 0) = "Caption col 0"
MSHF.TextMatrix(0, 1) = "Caption col 1"
MSHF.TextMatrix(0, 2) = "Caption col 2"

turecordset.Open "Select * from [tutabla] ", tuconexion
If not turecordset.eof Then
cont = 0
turecordset.movefirst
Do While Not turecordset.EOF
cont = cont + 1
turecordset.MoveNext
Loop
'variable cont obtiene el total de registros

turecordset.MoveFirst
MSHF.Rows = cont + 1

fil = 1
Do While Not turecordset.EOF
With turecordset
MSHF.Row = fil
MSHF.Col = 0
MSHF.Text = !tucampo1
MSHF.Col = 1
MSHF.Text = !tucampo2
MSHF.Col = 2
MSHF.Text = !tucampon
fil = fil + 1
.MoveNext
End With
Loop
End If
turecordset.Close


obviamente cambias la propieda cols del MSHF para agregar mas columnas al GRID.
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #4 (permalink)  
Antiguo 05/12/2006, 09:15
 
Fecha de Ingreso: noviembre-2006
Mensajes: 10
Antigüedad: 17 años, 5 meses
Puntos: 0
No me funciona, me da error 91- La variable de tipo Objeto o la variable de bloque with no está establecida.
  #5 (permalink)  
Antiguo 05/12/2006, 15:06
 
Fecha de Ingreso: abril-2004
Mensajes: 192
Antigüedad: 20 años
Puntos: 0
Debes declarar y crear el objeto rec antes de usarlo.

Dim turecordset As Recordset

Set turecordset = New Recordset

saludos

---------------
__________________
Recursos visual basic
  #6 (permalink)  
Antiguo 05/12/2006, 23:21
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Cargar datos de un FlexGrid

me parece quecuando hiciste la pregunta no sabias de donde cargar los datos....¿de un archivo? ¿de una base de datos? ....¿de donde ? el ejemplo que te di es para cargar un flexgrid de una bd...

saludos

el mago de oz
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #7 (permalink)  
Antiguo 07/12/2006, 04:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 10
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Cargar datos de un FlexGrid

Yo ya tengo los datos cargados en el FlexGrid (de la base de datos), yo lo que quiero es seleccionar con un doble clik el registro que yo quiero del flexGrid y me cargue ese registro en el formulario que introduzco los datos, y así modificar ese registro.

No se si me he explicado bien.
  #8 (permalink)  
Antiguo 07/12/2006, 16:58
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Cargar datos de un FlexGrid

Lo que puedes hacer es en el evento doble click recorres columna a columna y le asignas el valor Text a las cajas de texto, etiquetas o donde lo quieras colocar del formulario al que lo vas a enviar... Si lo que quieres es que al hacer doble click buscar esos registros en la DB para luego editarlos pues con una sentencia SQL realizas la busqueda...

Con este ejemplo recorres las columnas:

Código:
 
Private Sub MSFlexGrid1_DblClick()
'suponiendo que en form1 estan los controles que quieres enviar los datos
MSFlexGrid1.Col = 0
Form1.Text1.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 1
Form1.Text2.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 2
Form1.Text3.Text = MSFlexGrid1.Text
....
Si quieres realizar una busqueda:
Código:
Private Sub MSFlexGrid1_DblClick()
valor = MSFlexGrid1.Text
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM Tabla WHERE (campo='" & valor & "')", conn, adOpenStatic, adLockOptimistic, adCmdText
form1.text1.text= rs!campo1
form1.text2.text= rs!campo2
form1.text3.text= rs!campo3
....
'Si quieres hacer la busqueda directamente sin utilizar variables
'rs.Open "SELECT * FROM Tabla WHERE (campo='" & MSFlexgrid1.Text & "')", conn, adOpenStatic, adLockOptimistic, adCmdText
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #9 (permalink)  
Antiguo 11/12/2006, 02:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 10
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Cargar datos de un FlexGrid

Me aparece el siguiente error:
Error 3001, Arguments are of the wrong type are out of acceptable range, or are in conflict with one another
  #10 (permalink)  
Antiguo 12/12/2006, 13:26
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
De acuerdo Re: Cargar datos de un FlexGrid

Mira yo hice algo asi y a mi me funciona solo que yo lo hice de un control MshFlexGrid a otro del mismo tipo, pero aqui te dejo un ejemplo para pasarlo a cajas te texto

Form1.Text1.Text=MSHFlexgrid.TextMatrix(MSHFlexgri d.Row,1)

te explico:

Vas a obtener el contenido del control MSHFlex grid del renglon seleccionado (MSHFlexgrid.Row) y de la columna deseada (MSHFlexgrid.Row,1) marcado con rojo esta la columna y lo vas a colocar en el control tipo caja de texto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:33.