Ayuda con fechas

Hola soy novato, mi pregunta es la siguiente necesito comparar unas fechas de bd de access con visual basic 5.0 tengo una fecha de inicio y de termino que ingreso por combobox la idea es contar todas las fechas que están entre medio de las fechas de inicio y de termino que se encuentran en la base de datos de access pero ¿cómo las comparo?

2 Respuestas

Respuesta
1
La instrucción datediff() hace las comparaciones que necesitas
Disculpa mi ignorancia pero No se como se ocupa, por ej: ingreso combo1 "1", combo2 "1", combo3 "2008" y de termino ingreso combo4 "3", combo5 "7", como6 "2009" y quiero que cuente estas fechas de intermedio que se encuentran en la base de datos access
01/01/2008
09/09/2008
03/07/2009
Por que pueden haber fechas diferentes del rango y necesito que cuente solo las requeridas
Gracias
No te preocupes, pero seria bueno que utilizaras la ayuda de visual, es muy buena..
diferencia=datediff(d,fechainicial,fechafinal)
Tiene algún ejemplo que pudiera prestar para comparar
No. Solo debes crear un formulario con dos text (uno para la fecha inicio y otro para la final), un label(para colocar el resultado) y un botón para realizar el proceso
Luego colocas en el evento clic del botón
label=datediff(d,fechaini,fechafin)
Y eso es todo
Gracias pero ya solucione el problema
Pero tengo otro
Como hago para imprimir desde visual basic los datos de la base de dato(access)
Por ejemplo busco por apellidos
Y imprimo nombre apellido etc
Ya puedo imprimir
¿Pero me faltan los parámetros de impresión
donde en pieza a imprimir me queda en la esquina arriba junto a la hoja
y quisiera que imprimiera una poco más abajo y un poco más a la derecha
como lo hago? Esto tengo hasta el momento
Printer.FontName = "arial"
Printer.FontSize = 12
Printer.Print "nombre: ", Text4.Text
Printer.Print "apellidos: ", Text6.Text
Printer.Print "e-mail: ", Text8.Text
Printer.Print "ocupacion: ", Text9.Text
Printer.Print "fono: ", Text5.Text
Printer.EndDoc
Saludos
Prueba con printer. CurrentX o el printer. CurrentY
Me funciono
Pero el segundo me sale abajo del otro pero apegado a la izquierda
Pero funciona
Otra consulta el exe que hago del visual para llevarlo a otro pc (el pec no tiene el visual) como lo ejecuto por que me sale un error 429
Que sabe usted de eso
Atentamente novato
Saludos
Lo que pasa que cuando haces el ejeutable debes incluir todos los ocx, dll y archivos adjunto.
Yo realizo los .exe con installshield, es un software muy bueno.
En cuanto al erro 429 que más dice, me puedes mandar un mail con el error para saber un poco más a que se refiere [email protected]
Respuesta
1
¿Cuándo dices "contar" las fechas es contar el numero de días?
Si es así, existe una función datediff, que devuelve la diferencia en días entre dos fechas.
Sauldos.
No es contar las fechas que se encuentran entre medio de las 2 que ingreso la que están en la base de datos
Yo tengo algo así pero tiene errores me la podría corregir
Tabla.MoveFirst
Do While Not tablaa.EOF
If (tablaa.Fields("apellidos").Value = Text2.Text) Then
If ((Year(tablaa.Fields("fecha").Value)) = Combo3.Text) Or ((Year(tablaa.Fields("fecha").Value)) > Combo3.Text) And (((Year(tablaa.Fields("fecha").Value)) = Combo6.Text Or (Year(tablaa.Fields("fecha").Value)) Combo2.Text) And (((Month(tablaa.Fields("fecha").Value)) = Combo5.Text Or (Month(tablaa.Fields("fecha").Value)) Combo1.Text) And (((Day(tablaa.Fields("fecha").Value)) = Combo4.Text Or (Day(tablaa.Fields("fecha").Value)) Combo3.Text) And (((Year(tablaa.Fields("fecha").Value)) = Combo6.Text Or (Year(tablaa.Fields("fecha").Value)) Combo2.Text) And (((Month(tablaa.Fields("fecha").Value)) = Combo5.Text Or (Month(tablaa.Fields("fecha").Value)) Combo3.Text) And (((Year(tablaa.Fields("fecha").Value)) = Combo6.Text Or (Year(tablaa.Fields("fecha").Value)) < Combo6.Text)) Then
con = con + 1
End If
End If
End If
End If
End If
End If
End If
tablaa.MoveNext
Loop
En el SELECT que esta sutilizando para tarer los datos de la Tabla coloca un where de esta manera:
"Select * from TuTabla WHERE fecha >= #" & txtfechaInicial.text & "# AND fecha <= #" & txtFechaFinal.Text & "# "
En donde: txtfechaInicial.text y txtFechaFinal.Text son los valores de las fechas que tienes como inicial y final, o en su defecto alguna variable en dodne tengas estas fechas.
Como me dijiste que estas utilizando Access por eso debes colocar los valores de las fechas entre signos # para que funcione la condición.
me sale error de compilacion me dice k se esperaba un : case
con el select que me dio
En la fecha inicial y final las tengo haci
Fecha inicial
fec_pas = Combo1.Text + "-" + Combo2.Text + "-" + Combo3.Text
fecha final
fec_pas1 = Combo4.Text + "-" + Combo5.Text + "-" + Combo6.Text
y la tabla haci con la ruta
ruta = App.Path
Set base = OpenDatabase(ruta + "\bdfavy.mdb")
Set tablaa = base.OpenRecordset("asistencia")
Saludos
Gracias ya solucione el problema
Pero tengo otro ahora: como mando la orden a la impresora para imprimir los datos
¿Por ejemplo busco a una persona por el apellido lo encuentro y como hago para que me imprima el apellido y el nombre y la edad de esa persona?
Ya puedo imprimir
¿Pero me faltan los parámetros de impresión
donde en pieza a imprimir me queda en la esquina arriba junto a la hoja
y quisiera que imprimiera una poco más abajo y un poco más a la derecha
como lo hago? Esto tengo hasta el momento
Printer.FontName = "arial"
Printer.FontSize = 12
Printer.Print "nombre: ", Text4.Text
Printer.Print "apellidos: ", Text6.Text
Printer.Print "e-mail: ", Text8.Text
Printer.Print "ocupacion: ", Text9.Text
Printer.Print "fono: ", Text5.Text
Printer.EndDoc
Saludos
Agrega espacios en blanco y lineas en blanco a la impresión para tartar de cuadrar el informe como quieres.
Otra cosa la letra ARAIl y la gran mayoría no son de espacios fijos, eso quiere decir que la "I" ocupa menos espacio que la "O", debes tener en cuenta esto o utilizar una fuente de espacio fijo como la Courrier.
Gacias me sirvio arto pero tengo un detalle al ejecutar el exe en otro pc
Es un error dice:
run-time error '429':
Activex component
can't create object
Eso es
Pero yo creo que es porque no carga el dao puede ser
Espero su respuesta
Atentamente novato
Saludos
Eso es porque al hacer el instalador no estas asociando un activex de los que estas utilizando.
Debes revisar los controles que estas utilizando en tu aplicación y verificar al momento de la creación del instalador si estas incluyendo ese ocx o esa dll.
Hola
Disculpa mi ignorancia
Pero no se como se hace eso incluir o ver si esta
Me podría enseñar
Atentamente novato
Saludos
Cuando estas creando el instalador, hay una panatalal en la cual aparecen seleccionados los ocx y dll que se incluirán en el instalador, en esa pantalla es donde le adicionas o seleccionas de ela lista que aparece, los ocx necesarios de acuerdo a tus controles al instalador.
Hola
Lo que pasa es que yonero el exe
En el visual en archivo/ generar nombre.exe
Así lo hago estará correcto o no yo creo que no
Atentamente novato
Saludos
Si entendí bien, solo estas generando el archivo .exe, si es así una a´plicaicon VB6 no se ejecuta si solo copias el archivo .exe (ejecutable) a otra maquina, necesita una serie de archivos y .ddl para que funcione en otra maquina de allí que necesitas hacer un instalador para poder ejecutar esa aplicación en una maquina diferente a la de desarrollo.
Revisa en [url|http://www.elguille.info/]www.elguille.info[/url] allí hay un curso de vb6 y creo recordar que también explica como hacer un instalador.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas