NO SE QUE PASA CON LAS FECHAS

rubencho5413
09 de Octubre del 2008
HOLA AMIGOS TENGO UN PROBLEMA CON UN PROGRAMITA Y ES EL SIGUIENTE:
ESTOY UTILIZANDO UN MSCHART PARA SACAR GRAFICOCOS DE MI BASE DE DATOS ACCESS, MI PROGRAMA ME SACA LOS GRAFICOS PERFECTAMENTE PERO SI EL MES ES MENOR QUE 10, 11, 12, ES DECIR SI QUIERO SACAR UN GRAFICO CON EL SIGUINTE RANGO: 06/10/2008 Y 06/10/2008 NO ME SACA NADA Y SI LE DOY UN RANGO MAS ALTO: 06/10/2008 Y 11/06/2008 ME SACA EL GRAFICO CON TODOS LOS DATOS DEL LOS MESES PASADOS Y NO ME ACEPTA EL RANGO QUE LE DOY, ADJUNTO CODIGO Y SI HAY OTRA FORMA DE GENERAR LOS GRAFICOS ME GUSTARIA SABERLA. GRACIAS POR SU AYUDA:



Private Sub Command1_Click()
'IGUALAMOS LOS TEXT PARA QUE TOMEN EL VALOR DE LOS MASKEDBOX
Text1 = MaskEdBox1
Text2 = MaskEdBox2
MaskEdBox1 = DTPicker1
MaskEdBox2 = DTPicker2
Text3 = DatePart("ww", DTPicker1 And DTPicker2)
MSChart1.FootnoteText = "Grafico de rendimiento:" & "..." & "Desde" & "..." & Text1 & "..." & "Hasta" & "..." & Text2 & "..." & "Semana:" & "..." & Text3

If IsDate(MaskEdBox1.FormattedText) = False Then
'Opcional: podemos mostrar un mensaje
MsgBox " La Fecha no es válida ", vbCritical, " Error al ingresar la fecha "

Else
'abrimos una conexion a datos con el uso de un proveedor OLEDB
'cuidado con la ruta donde esta la base de datos.

Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset

Dim strProveedor As String
Dim strOrigenDatos As String
Dim strSQL As String

'ASIGNAMOS VALORES A LAS VARIABLES
strProveedor = "Microsoft.Jet.OLEDB.4.0"
strOrigenDatos = App.Path & "baseapli.mdb"


strSQL = "SELECT NOMBRE,NOMBREC, sum(numtallos)/sum(totalhoras) as Promedio from poscosecha WHERE (fecha BETWEEN #" & Format(DTPicker1.Value, "dd/mm/yyyy") & "# And #" & Format(DTPicker2.Value, "dd/mm/yyyy") & "#) GROUP BY nombre, NOMBREC"

cnn.Open "provider=" & strProveedor & "; Data Source=" & strOrigenDatos
rst.Open strSQL, cnn, adOpenStatic
If (rst.EOF And rst.BOF) Then
MsgBox "No se puede mostrar el grafico porque los parametros de la fecha no coinciden con los de la base de datos"
Else
rst.MoveLast
rst.MoveFirst
With MSChart1
.ShowLegend = True
.ChartType = VtChChartType2dBar
'esta linea carga los datos
Set .DataSource = rst
End With

End If
End If
End Sub

Private Sub Command2_Click()
Unload Me

End Sub

Private Sub Form_Load()
With MaskEdBox1
'Indicamos al MaskEdBox la máscara a utilizar y el formato
.Format = "dd/mm/yyyy"
.Mask = "##/##/####"
End With
With MaskEdBox2
'Indicamos al MaskEdBox la máscara a utilizar y el formato
.Format = "dd/mm/yyyy"
.Mask = "##/##/####"
End With
MaskEdBox1 = Format("01/01/2008", "dd/mm/yyyy")
MaskEdBox2 = Format("31/12/2008", "dd/mm/yyyy")
End Sub

Private Sub menucopiar_Click()
MSChart1.EditCopy

MsgBox "El gráfico se copiado a la memoria.", vbInformation, "Copia de gráfico"

End Sub

Private Sub menuguardar_Click()
Dim strArchivoGuardar As String

strArchivoGuardar = App.Path & "" & "Graficos" & ".bmp"
MSChart1.EditCopy
SavePicture Clipboard.GetData, strArchivoGuardar
MsgBox "El gráfico ha sido guardado en " & strArchivoGuardar, vbInformation, "Guardar Gráfico"

End Sub

Private Sub menuimprimir_Click()
MSChart1.EditCopy

Printer.PaintPicture Clipboard.GetData, 0, 0
Printer.NewPage
Printer.EndDoc

MsgBox "El gráfico ha sido enviado para su impresión.", vbInformation, "Imprimir gráfico"

End Sub

Private Sub menusalir_Click()
Unload Me
End Sub