Visual Basic - Buscar dos dias de cada mes

Life is soft - evento anual de software empresarial
 
Vista:

Buscar dos dias de cada mes

Publicado por EMANUEL (45 intervenciones) el 22/03/2007 18:32:54
Hola amigos, manejando las operaciones con fechas se me ocurreo si habara alguna forma para buscar dos dias de cada mes a partir de una fecha dada, es decir, tengo la primera fecha por ejemplo 02/04/2005 y a partir de esta fecha necesito sumarle o realizarle la operacion que sea necesaria para que me de como resultado la fecha 17/04/2005. Despues a partir de la fecha que obtuve (17/04/2005), tener la fecha siguiente que debieria de ser 02/05/2005 y asi en el rango de fechas, las fechas que encesito saber son los dias 2 y 17 de cada mes, el resultado que espero es el siguiente:

17/04/2005
02/05/2005
17/05/2005
02/06/2005
17/07/2005


si alguien me pudiera ayudarme u orientarme de que manera puedo obtener estas fechas lo agradecere desde siempre y ahora.
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:Buscar dos dias de cada mes

Publicado por celso (5 intervenciones) el 22/03/2007 18:39:37
estas utilizando alguna base de datos? si es asi mejor utiliza las funciones de la base para realizar lo que quieres.
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:Buscar dos dias de cada mes

Publicado por EMANUEL (45 intervenciones) el 22/03/2007 19:02:14
si utilizo uan base de datos, pero las fechas no estan guardadas en ella, las fechas las tengo que generar a partir de una fecha dada, por ejemplo 02/04/2005, entondes la fecha que se deberia de seguir es 17/04/2005 y asi consecutivamente como en el ejemplo,


02/04/2005
17/04/2005
02/05/2005
17/05/2005 y asi consecutivamente

gracias por ayudarme .....
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:Buscar dos dias de cada mes

Publicado por Rodrigo (83 intervenciones) el 22/03/2007 22:20:07
Hola, es un poco larga y engorrosa, pero funciona...

Tienes que crear un formulario con 3 textbox y 1 boton

text1 --> Name: Text1 (Multiline)
text2 --> Name: txtFechaIni
text3 --> Name: txtFechaFin
boton1 --> Name: btnGenFechas

Y en el evento Click del boton pegar el siguiente codigo:

Dim diasNec(2) As Integer
Dim DiaIni As Integer
Dim MesIni As Integer
Dim AgoIni As Integer
Dim DiaFin As Integer
Dim MesFin As Integer
Dim AgoFin As Integer
Dim FechaTemp As Long

'Cargar arreglo con los días necesitados, si se necesitan mas dias
'agrandar el arreglo y agregar los dias
diasNec(0) = 2
diasNec(1) = 17

'******Aqui validar que fecha ini sea menor que fecha fin y
'******que ambas sean fechas validas

'Particionar Fecha Inicio y Fecha Fin
DiaIni = DatePart("d", txtFechaIni.Text)
MesIni = DatePart("m", txtFechaIni.Text)
AgoIni = DatePart("yyyy", txtFechaIni.Text)
DiaFin = DatePart("d", txtFechaFin.Text)
MesFin = DatePart("m", txtFechaFin.Text)
AgoFin = DatePart("yyyy", txtFechaFin.Text)

'Ciclo para generar fechas
fechatemp1 = CLng(CLng(AgoIni) * 100 + MesIni) * 100 + DiaIni
FechaTemp2 = CLng(CLng(AgoFin) * 100 + MesFin) * 100 + DiaFin
Do While fechatemp1 <= FechaTemp2
For x = 0 To UBound(diasNec) - 1
If diasNec(x) = (fechatemp1 - (Int(fechatemp1 / 100) * 100)) Then
Text1.Text = Text1.Text + CStr(fechatemp1) + Chr(13) + Chr(10)
End If
Next x
UltimoDia = DateSerial((Int(fechatemp1 / 10000)), (Int(fechatemp1 / 100) - (Int(fechatemp1 / 10000) * 100)) + 1, 0)
If fechatemp1 = (CLng(CLng(DatePart("yyyy", UltimoDia)) * 100 + DatePart("m", UltimoDia)) * 100 + DatePart("d", UltimoDia)) Then
If (Int(fechatemp1 / 100) - (Int(fechatemp1 / 10000) * 100)) = 12 Then
fechatemp1 = (((Int(fechatemp1 / 10000)) + 1) * 100 + 1) * 100 + 1
Else
fechatemp1 = (Int(fechatemp1 / 100) + 1) * 100 + 1
End If
Else
fechatemp1 = Int(fechatemp1 + 1)
End If
Loop


Eso seria, ojala te sirva.
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:Buscar dos dias de cada mes

Publicado por EMANUEL (45 intervenciones) el 23/03/2007 00:03:18
gracias amigo, lo intentare aplicar pero la ayuda es bien recibida de verdad mil gracias...
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

Sin tanto "rollo"

Publicado por Alex (53 intervenciones) el 23/03/2007 11:00:14
Dim Fecha As Date, Fecha1 As Date, Fecha2 As Date
Fecha = "02/04/2005"
Fecha1 = DateAdd("d", 15, Fecha)
Fecha2 = DateAdd("m", 1, Fecha)

Eso es todo.
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:Sin tanto

Publicado por Rodrigo (83 intervenciones) el 23/03/2007 15:16:54
Alex: sorry si encontraste mucho rollo en el codigo, pero la solucion que le presente a EMANUEL es para aplicar a cualquier mes y fecha, no para una especifica como el codigo que tu das, ya que si entiendo bien, se desea mostrar todas las fechas 2 y 17 de cada mes en un rango de fechas indicado por el usuario.

Saludos.
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