Mira, técnicamente
debería ordenártelo bien, porque esta consulta:
Código SQL:
Ver originalSELECT T1.*
FROM ImptosCargo T1
WHERE T1.TipoImptoCred = '" & TipoImpuesto & "'
ORDER BY T1.Mes
así lo indica.
Sin embargo, el ORDER BY en concurrencia con el WHERE, éste tiene prioridad en el ordenamiento, por lo que el resultado puede ser diferente al esperado.
Este tipo de cosas están perfectamente documentadas en los Manual de Referencia, por ejemplo, el de MySQL:
7.2.10. Cómo optimiza MySQL ORDER BY. Otros DBMS tienen situaciones de este tipo (
Oracle))
Una solución temporal sería poner todo esto como subconsulta que luego se ordena:
Código SQL:
Ver originalSELECT *
FROM
(SELECT *
FROM ImptosCargo
WHERE TipoImptoCred = '" & TipoImpuesto & "' ) T1
ORDER BY Mes
Por otro lado, para estar seguros de lo que sucede en tu caso sería buena idea que postearas una captura del resultado de la consulta, sea en texto o en imagen. De ese modo podremos ver bien cómo está quedando la tabla resultado.