Visual Basic para Aplicaciones - No me actualiza el MSHFlexGrid con un ADODC

Life is soft - evento anual de software empresarial
 
Vista:

No me actualiza el MSHFlexGrid con un ADODC

Publicado por Any (5 intervenciones) el 02/02/2003 23:55:28
Estoy usando un MSHFlexGrid con un ADODC y cuando actualizo los datos del adodc no se me refrescan los datos de la grilla. Si yo llamo desde el botón que busca a la función para actualizar los datos de la grilla los datos del MSHFlexGrid se refrescan pero si yo llamo a esa misma función desde donde estoy actualizando los datos la grilla no se refrescan. Alguien tiene idea porque me pasa esto o como hacer para solucionarlo?

Funcion que actualiza:

Sub ActualizarGrilla()
On Error GoTo ActualizarGrilla_Err

Screen.MousePointer = vbHourglass
sSQL = "SELECT Usuario, Apellido_Usuario, Nombre_Usuario, Permiso_Usuario "
sSQL = sSQL & "FROM Usuarios WHERE Activo_Usuario = " & CVnx(xTxt_Activo) & " "
If sTxt_Usuario <> "" Then
sSQL = sSQL & "AND Usuario Like '%" & CVne(sTxt_Usuario) & "%' "
End If
Ado_Usuarios.ConnectionString = sCon
Ado_Usuarios.RecordSource = sSQL
Ado_Usuarios.Refresh
Set Grd_Usuario.DataSource = Ado_Usuarios
Grd_Usuario.Refresh

ActualizarGrilla_Exit:
Screen.MousePointer = vbArrow
Exit Sub
ActualizarGrilla_Err:
MostrarError "ActualizarGrilla"
Resume ActualizarGrilla_Exit
End Sub
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:No me actualiza el MSHFlexGrid con un ADODC

Publicado por Cesar (3 intervenciones) el 06/02/2003 14:41:15
Mirá, antes de hacer el refresh agregá una linea que diga:

Pause 0.5

Esta, es una función que te va a hacer una pausita de medio segundo, con lo cual le das tiempo a la grilla de enlazar con el data que tiene los datos.
De todas formas, sería excelente que no uses mas datas, te van a ir dando cada vez mas dolores de cabeza.

Aca va la funcioncita...

Un beso.

Public Sub Pause(ByVal nSecond As Single)
Dim t0 As Single
t0 = Timer
Do While Timer - t0 < nSecond
Dim dummy As Integer
dummy = DoEvents()
' si nos pasamos de medianoche, retrocedemos un día
If Timer < t0 Then
t0 = t0 - 24 * 60 * 60
End If
Loop
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:No me actualiza el MSHFlexGrid con un ADODC

Publicado por Any (5 intervenciones) el 06/02/2003 15:45:47
Muchas gracias por la ayuda, voy a probar lo que me estas diciendo.
Solo uso datas para las grillas, aunque sé que es una mala costumbre.
Un beso
Anabel
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