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

Problema Al Llenar Msflexgrid Muestra Caracteres Raros En Vez De La Informacion Real

Estas en el tema de Problema Al Llenar Msflexgrid Muestra Caracteres Raros En Vez De La Informacion Real en el foro de Visual Basic clásico en Foros del Web. tengo una gran duda, la cuestion es que yo traigo una consulta de mi bd y la inserto en el msflexgrid lo he hecho muchas ...
  #1 (permalink)  
Antiguo 06/06/2008, 08:47
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 0
Problema Al Llenar Msflexgrid Muestra Caracteres Raros En Vez De La Informacion Real

tengo una gran duda, la cuestion es que yo traigo una consulta de mi bd y la inserto en el msflexgrid lo he hecho muchas veces, pero no se que tiene esta ultima que hice por que cuando ingreso los datos al msflexgrid hay una columna que me muestra todos los datos asi: "?????????a"
me muestra un poco de parapetos en vez de mostrar la info real.


quisiera saber como solucionar ese problema porque hago el query en el sql y funciona bien, me muestra la info bien.pero cuando la paso al msflexgrid no sale y me muestra un poco de mamarrachos solo en la columna de ruta. adjuntare el codigo que uso para llenar el msflexgrid.

Private Sub titulo()

MSFlexGrid1.Cols = 4
MSFlexGrid1.ColWidth(0) = 2200
MSFlexGrid1.ColWidth(1) = 850
MSFlexGrid1.ColWidth(2) = 850
MSFlexGrid1.ColWidth(3) = 850

MSFlexGrid1.TextMatrix(0, 0) = "RUTA"
MSFlexGrid1.TextMatrix(0, 1) = "VIAJES"
MSFlexGrid1.TextMatrix(0, 2) = "PRECIO"
MSFlexGrid1.TextMatrix(0, 3) = "$ TOTAL"

End Sub

Private Sub llena_grilla()

Dim consulta As String
Set registro = New ADODB.Recordset
Set ContReg = New ADODB.Recordset
If contar = 0 Then
Else
For i = 1 To contar
MSFlexGrid1.RemoveItem (1)
Next
contar = 0
End If
consulta = "(SELECT concat(nombre_operador,' ', apellido_operador) as conductor, salario,nombre_ruta as ruta,valor_viaje as precio,COUNT(nombre_ruta) as viajes, valor_viaje*count(*) as total FROM remisiones, operadores where codigo_usuario='" & Text10.Text & "' and codigo_usuario=codigo_operador and fecha between '" & Text4.Text & "' and '" & Text5.Text & "' GROUP BY nombre_ruta) union all"
consulta = consulta & "(Select concat(NOMBRE_OPERADOR ,' ',APELLIDO_OPERADOR) AS NOMBRE,salario,concat('desde ',min(fecha),' al ',max(fecha)) as ruta,round((salario/240)*(1.75)) as precio,sum(domingos)as viajes ,round((sum(domingos)*((salario/240)*(1.75))))as valor_edo From OPERADORES as O,detalle_operador as DOP, reporte as r, equipos as e, tipo_equipos as te Where r.codigo_usuario ='" & Text10.Text & "' and r.codigo_usuario = dop.codigo_usuario And dop.codigo_usuario = o.CODIGO_OPERADOR and r.codigo_reporte=dop.codigo_reporte and e.codigo_equipo=r.codigo_equipo and te.codigo_tipo_equipo=e.codigo_tipo_equipo and r.fecha BETWEEN '" & Text4.Text & "' and '" & Text5.Text & "' group by o.apellido_operador asc)"
Set registro = conex.Execute(consulta)

contemp = registro.RecordCount
If contemp = 0 Then
MsgBox ("no existen datos para este criterio de busqueda, verifique las
fechas y seleccione un conductor ")
Else
MSFlexGrid1.Rows = contemp + 2
While Not registro.EOF
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = registro!ruta
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = registro!precio
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) = registro!viajes
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) = registro!total
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
registro.MoveNext
contar = contar + 1
Wend
End If
End Sub
  #2 (permalink)  
Antiguo 06/06/2008, 09:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Problema Al Llenar Msflexgrid Muestra Caracteres Raros En Vez De La Inform

Ejecuta paso a paso y coloca en la ventana inmediato los valores que estás colocando en el FlexGrid para ver qué valores está extrayendo de la base de datos.

P.S.: ¿Por qué no utilizas el DBGrid?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 08:55.