Visual Basic - Levantar datos de un DBGrid

Life is soft - evento anual de software empresarial
   
Vista:

Levantar datos de un DBGrid

Publicado por Franco (10 intervenciones) el 05/01/2009 03:39:55
Hola a todos, soy una persona que no usa VB desde el 99 y quiero volver a trabajar con el y hay cosas que no me vienen a la cabeza y otras tal vez mas complicadas si.
Pero tengo una simple, tengo una dbgrid asociada a un datacontrol que refleja una base de datos.
Cuando hago click selecciono toda la columna, pero quiero levantar un dato de esa columna y no me sale, en mi cabeza busco 10 años atras y me sale algo como dbgtis.index(tabindex(2)) el 2 es depende el campo que quiera levantar, pero no encuentro la forma de levantar datos para abrir un formulario y editar.

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

RE:Levantar datos de un DBGrid

Publicado por P3L30N2009 (701 intervenciones) el 05/01/2009 10:47:44
Cuando dices "levantar un dato de esa columna", te refieres a guargar en una variable el valor de la celda donde se hizo clic?

Private Sub DBGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim iCol As Integer, iRow As Integer

iCol = DBGrid1.ColContaining(X)
iRow = DBGrid1.RowContaining(Y)
Variable = DBGrid1.Columns(iCol).CellValue(DBGrid1.RowBookmark(iRow))
End Sub
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:Levantar datos de un DBGrid

Publicado por Franco (10 intervenciones) el 05/01/2009 11:16:14
Muchas gracias!
Entiendo, una consulta, yo quiero que la Y de DBGrid1.RowContaining(Y) sea la casilla donde hago el click.
O sea, hago click sobre esa fila y me levante la variable dependiendo que columna espesifique con X de tu ejemplo.
Le proporciono la variable X pero la Y quiero que la levante sola, no era con una propiedad llamada index? o algoa si?
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:Levantar datos de un DBGrid

Publicado por P3L30N2009 (701 intervenciones) el 05/01/2009 11:52:04
Vamos a ver, si lo que quieres que que cuando se pinche en cualquier celda de una fila, la variable tome siempre el valor de la 1ª columna (p.e.) de esa fila:

Elimina la variable iCol del código anterior y modifica esta instrucción:

Variable = DBGrid1.Columns(0).CellValue(DBGrid1.RowBookmark(iRow))

(La primera fila tiene el índice cero)

También lo puedes hacer en este otro evento:

Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
If LastCol > -1 Then
DBGrid1.Col = 0
Variable = DBGrid1.Text
End If
End Sub
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:Levantar datos de un DBGrid

Publicado por Franco (10 intervenciones) el 05/01/2009 18:30:33
Gracias me sivio para orientarme, el dato fue mas facil de lo que pensaba

Variable = DBGrid1.Columns(1)

Nada mas, el unico problema que tengo es que lo ponga en el evento que lo ponga si o si tengo que hacerle dos veces consecutivos click para que me tome el dato verdadero si no queda el dato anterior, se entiende? estoy viendo como poder seleccionar al primer click.
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:Levantar datos de un DBGrid

Publicado por P3L30N2009 (701 intervenciones) el 05/01/2009 18:51:46
Leiste el post anterior??

En el evento RowColChange

y no tendrás que hacer dos veces click
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:Levantar datos de un DBGrid

Publicado por Franco (10 intervenciones) el 05/01/2009 18:54:10
Justo entraba a decirte muchas gracias que habia encontrado en el evento RowColChange me funcionara y veo que vos lo habias puesto.
De a poco voy refrescando lo que sabia,
MUCHAS GRACIAS P3L30N2009 por todo y por tu tiempo que es valioso y lo dedicas a ayudar.

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