Ancho de lista de combobox

20/05/2005 - 23:37 por diegoar | Informe spam
hola a todos,

kl, me podes ayudar a decirme como se achica el ancho de la lista que
despliega un combobox???

saludos..

diego

Preguntas similare

Leer las respuestas

#6 KL
21/05/2005 - 01:28 | Informe spam
Hola Diego,

Usa la funcion DateSerial(), por ejemplo:

Sub test()
Dim Año As Long
Dim Mes As Long
Dim Dia As Long
Dim Fecha As Date

Año = 2005
Mes = 5
Dia = 19
Fecha = DateSerial(Año, Mes, Dia)
MsgBox Fecha < Date
End Sub

Saludos,
KL

"diegoar" wrote in message
news:
kl, haber si me podes ayudar,
tengo d,m,a que son integers com el dia, mes y año de hoy.
asimismo, tengo una fecha elegida a traves de 3 comboboxs
(anio,mes,dia)

como puedo hacer para comparar esas fechas, es decir, que la fecha que
me ingresan sea menor a la actual??
se me ocurre unir los valores de los combos en un dato de tipo fecha y
despues comparar, pero como lo puedo implementar??

saludos kl
Respuesta Responder a este mensaje
#7 diegoar
21/05/2005 - 01:36 | Informe spam
asi lo hice, te parece que es eficiente???

Public Function fecha_valida(form As UserForm, dia As ComboBox, mes As
ComboBox, anio As ComboBox) As Boolean

Dim fechaactual As Date
Dim fechaingresada As Date

With form
fechaactual = Now
fechaingresada = DateSerial(anio.Value, mes.Value,
dia.Value)
fecha_valida = fechaactual > fechaingresada
End With
End Function
Respuesta Responder a este mensaje
#8 KL
21/05/2005 - 02:05 | Informe spam
Hola Diego,

Unas cuantas cosas:

1) La funcion Now devuelve fecha y hora mientras que DateSerial o Date
devuelven solo fecha. En otras palabras: aunque "15/06/2005 00:00" y
"15/06/2005 12:01" correspondan al mismo dia y ademas cambiando el formato a
DD/MM/AAAA ambos se podrian representar como 15/06/2005, seguirian siendo
valores distintos: 38518 y 38518.5006944444. Por lo tanto a no ser que por
casualidad Now devuelva 15/06/2005 00:00, DateSerial dificilmente sera igual
a Now.

2) Tampoco tienen ningun sentido las variables "fechaactual" y
"fechaingresada" - es que no aportan ningun valor, solo ocupan la memoria
(aunque marginalmente)

3) Al usar variables del tipo UserForm, combobox, etc. derrochas la memoria.
No es necesario pasar los objetos a la funcion - bastaria con los
respectivos valores. Si de todas formas vas a llamar la funcion desde un
formulario. Es entonces cuando pasarias los valores, p.ej:

Private Sub OKbutton_Click()
With Me
MsgBox fecha_valida(.Combobox1.Value, .Combobox2.Value, _
.Combobox3.Value)
End With
End Sub

4) Dicho todo lo anterior, creo que es mejor poner la funcion de la
siguiente manera:

Public Function fecha_valida(Dia As Long, _
Mes As Long, Anio As Long) As Boolean
fecha_valida = Date > DateSerial(Anio, Mes, Dia)
End Function

Saludos,
KL


"diegoar" wrote in message
news:
asi lo hice, te parece que es eficiente???

Public Function fecha_valida(form As UserForm, dia As ComboBox, mes As
ComboBox, anio As ComboBox) As Boolean

Dim fechaactual As Date
Dim fechaingresada As Date

With form
fechaactual = Now
fechaingresada = DateSerial(anio.Value, mes.Value,
dia.Value)
fecha_valida = fechaactual > fechaingresada
End With
End Function

Respuesta Responder a este mensaje
#9 diegoar
21/05/2005 - 04:47 | Informe spam
kl, necesito ahora restar dos fechas, es decir, tengo 2 fechas (date) y
necesito saber en dias la diferencia entre ellas. como lo puedo
implementar. Es decir, date1 y date2. tengo que conocer cuantos dias
pasaron (de diferecia) entre date1 y date2.

saludos
diego
Respuesta Responder a este mensaje
#10 KL
21/05/2005 - 09:58 | Informe spam
Hola Digo,

Esto lo consigues mediante simple resta. El valor de fecha es representado
por el numero de dias transcurridos desde 01/01/1900. Por lo tanto a dia de
hoy: Date8493 y, digamos, #01/01/2005#8353. Total que
=Date-#01/01/2005#8493-383530 dias.

Saludos,
KL

"diegoar" wrote in message
news:
kl, necesito ahora restar dos fechas, es decir, tengo 2 fechas (date) y
necesito saber en dias la diferencia entre ellas. como lo puedo
implementar. Es decir, date1 y date2. tengo que conocer cuantos dias
pasaron (de diferecia) entre date1 y date2.

saludos
diego

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida