Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Módulo de Ricardo Hernández Sáez

27 views
Skip to first unread message

Salsita

unread,
Nov 26, 2004, 12:30:44 PM11/26/04
to
Hola a todos.

En un hilo de hace unos días, Ricardo Hernández me enviaba una MDB como
respuesta a una cuestión que plantee, acerca de si se podía representar
gráficamente la ocupación de una serie de personas sabiendo la hora de
entrada y salida de su tarea. En fin el caso es que adapté ese código a mi
proyecto de access (ADP) y como sabeis, el código DAO que el escribió tuve
que pasarlo a ADO. El caso es que no conseguí que funcionase y ayer plantee
la duda en el foro de VB y tampoco saco nada en limpio.

Os pego el código ADO para ver si me podeis decir donde está el fallo:
(Ahora mismo el error que da es: "Se requiere un objeto")

Gracias a todos por vuestra ayuda.


Public Function ActualizarTabla() As Boolean
Dim bResult As Boolean
Dim cnn As New ADODB.Connection
Dim rstareas As New ADODB.Recordset
Dim rscuadro As New ADODB.Recordset
Dim hRef As Date, hFinal As Date
Dim strNombreCampo As String

On Error GoTo HandleErr

bResult = False

Set cnn = CurrentProject.Connection
Set cmd.ActiveConnection = cnn
rstareas.Open "Tareas", cnn, adOpenKeyset, adLockOptimistic, adCmdTable
rscuadro.Open "Tareas_Cuadro", cnn, adOpenKeyset, adLockOptimistic,
adCmdTable

hFinal = CVDate("21:00")
cmd.Execute "Delete from Tareas_Cuadro"
Do Until rstareas.EOF
rscuadro.Find "Persona = '" & rstareas!Persona & "'"
If rscuadro.EOF Then
rscuadro.AddNew
rscuadro!Persona = rstareas!Persona
End If
hRef = CVDate("08:00")
Do While DateDiff("n", hRef, hFinal) > 0
strNombreCampo = Format(hRef, "hhnn")
If DateDiff("n", rstareas!HINICIO, hRef) >= 0 And DateDiff("n",
hRef, rstareas!hFin) > 0 Then
'If rscuadro.EditMode = dbEditNone Then
'rscuadro.Edit
'End If
rscuadro.Fields(strNombreCampo).Value = True
End If
hRef = DateAdd("n", 15, hRef)
Loop
If rscuadro.EditMode <> dbEditNone Then
rscuadro.Update
End If
rstareas.MoveNext
Loop

bResult = True

ExitHere:
On Error Resume Next
ActualizarTabla = bResult
Exit Function
HandleErr:
MsgBox Err.Description, vbExclamation
bResult = False
Resume ExitHere
Resume

End Function


Juan M Afan de Ribera

unread,
Nov 26, 2004, 12:50:50 PM11/26/04
to
-----------------------------------------------------------------------
Por favor, responde a este mensaje y dinos si te funcionó o no. Gracias
-----------------------------------------------------------------------

Antes de mirarme el código, veo que tienes puesto un control de errores en
On Error GoTo HandleErr. Ponle una comilla simple a esa línea para
desactivarla. Cuando salte el error te saldrá el cuadro de diálogo de
errores. Pulsa el botón Depurar y verás que se posiciona en una línea de
código. Hazlo y dinos que línea es esa.

Igualmente, cuando salta ese error, suele ser que no reconoce algún objeto
que está expuesto en el código y que seguramente está utilizando un método o
una propiedad.

A ver...

Saludos,
Juan M Afan de Ribera
[MVP Access]
http://www.mvp-access.com/juanmafan


"Salsita" <pik...@terra.es> escribió en el mensaje
news:egDfq290...@TK2MSFTNGP10.phx.gbl...

Búho

unread,
Nov 26, 2004, 12:58:33 PM11/26/04
to
Otra cosilla...haces doble asignacion a CurrentProject. conection
Con esto, sirve y basta. Sobra Set cmd.ActiveConnection = cnn
Set cnn = CurrentProject.Connection
y a partir de ahi actua ya con el objeto Cnn no con el Cmd.
A parte de eso, la verdad que no he ido mas alla de tu codigo....pero entre
todos....seguro que algo pillamos mas
--

Saludos desde Valladolid
Francisco Javier García Aguado
http://www.mvp-access.com/foro
---
Muchas pequeñas personas
en muchos pequeños lugares
haciendo muchas pequeñas cosas
...estan cambiando este mundo
---


Juan M Afan de Ribera

unread,
Nov 26, 2004, 1:07:26 PM11/26/04
to
-----------------------------------------------------------------------
Por favor, responde a este mensaje y dinos si te funcionó o no. Gracias
-----------------------------------------------------------------------

Ahora que lo miro mejor, "cmd" no está definido. Mira que el error no venga
de esta línea:

Set cmd.ActiveConnection = cnn

y después, la línea

cmd.Execute "Delete from Tareas_Cuadro"

te volvería a dar error.

Yo creo que puedes ejecutar esa línea utilizado el objeto
connection,olvidándote del objeto cmd (supongo que debería ser un objeto
Command). Es decir

cnn.Execute "Delete from Tareas_Cuadro"

Saludos,
Juan M Afan de Ribera
[MVP Access]
http://www.mvp-access.com/juanmafan


"Salsita" <pik...@terra.es> escribió en el mensaje
news:egDfq290...@TK2MSFTNGP10.phx.gbl...

Sashka

unread,
Nov 26, 2004, 1:45:18 PM11/26/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Está dificil siguiendo el código imaginariamente.....pero, tienes un campo
que se llame "0800" ??

hRef = CVDate("08:00")

strNombreCampo = Format(hRef, "hhnn")

...
rscuadro.Fields(strNombreCampo).Value = True

Por otro lado, comenta el On Error GoTo..... y fíjate exactamente en donde
te dá el error y cuales son los valores de las variables en ese momento....

Sashka
MS MVP Access
MCP ASP.Net

"Salsita" <pik...@terra.es> escribió en el mensaje
news:egDfq290...@TK2MSFTNGP10.phx.gbl...

Salsita

unread,
Nov 29, 2004, 4:12:52 AM11/29/04
to
Hola a todos. Antes de nada, 10000 gracias por vuestra ayuda y perdonar por
no responderos antes, es que los fines de semana no tengo forma de
conectarme y tengo que esperar al lunes a hacerlo en el trabajo. Os cuento:
El fin de semana cacharreando con el código conseguí (no se como) hacer que
funcionase lo de la conexión, pero ahora me da otro error. Después de
haceros caso y desactivar el control de errores, .
El error es en la línea: "rscuadro.Find "[Persona] = " & rsTareas!Persona"
y dice: "Argumentos incorrectos, fuera del intervalo permitido o en
conflicto con otros."

Para que no os sea tan dificil imaginaros el código, comentaros por si ayuda
que la bd consta de 2 tablas:

TAREAS
id
persona
hinicio
hfin

y la otra:
TAREAS_CUADRO
id
persona
0800
0815
0830
........
y así hasta [2045]
es decir, un campo por cada cuarto de horas desde las 8 hasta las 20:45


El código está así:

Public Function ActualizarTabla() As Boolean

Dim bResult As Integer
Dim cmd As New ADODB.Command
Dim rsTareas As New ADODB.Recordset


Dim rscuadro As New ADODB.Recordset

Dim hFinal, hRef As Date
Dim strNombreCampo As String

' On Error GoTo HandleErr

bResult = 0

Set cnn = CurrentProject.Connection

rsTareas.Open "select * from Tareas", cnn, adOpenKeyset,
adLockOptimistic
rscuadro.Open "select * from tareas_cuadro", cnn, adOpenKeyset,
adLockOptimistic

hFinal = CVDate("20:45")

cnn.Execute "Delete from Tareas_Cuadro"
rsTareas.MoveFirst

Do Until rsTareas.EOF
rscuadro.Find "[Persona] = " & rsTareas!Persona
If rscuadro.EOF Then
rscuadro.AddNew
rscuadro!Persona = rsTareas!Persona


End If
hRef = CVDate("08:00")
Do While DateDiff("n", hRef, hFinal) > 0
strNombreCampo = Format(hRef, "hhnn")

If DateDiff("n", rsTareas!HINICIO, hRef) >= 0 And DateDiff("n",
hRef, rsTareas!hFin) > 0 Then


'If rscuadro.EditMode = dbEditNone Then
' rscuadro.Edit
'End If
rscuadro.Fields(strNombreCampo).Value = True
End If
hRef = DateAdd("n", 15, hRef)
Loop
If rscuadro.EditMode <> dbEditNone Then
rscuadro.Update
End If

rsTareas.MoveNext
Loop

bResult = True

ExitHere:
On Error Resume Next
ActualizarTabla = bResult
Exit Function
HandleErr:
MsgBox Err.Description, vbExclamation
bResult = False
Resume ExitHere
Resume
End Function


"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje
news:uMy%23Wg%230EH...@TK2MSFTNGP12.phx.gbl...

Salsita

unread,
Nov 29, 2004, 11:41:59 AM11/29/04
to
Hola de nuevo Sashka, me acabas de dar una idea con lo de las comillas y
cambié el código de la siguiente manera:

rscuadro.Find "Persona = '" & rstareas!Persona & "'"
Ahora ya no da error (Alelujaaahhh!!!) pero el muy mamón no funciona.
Creo que ya se porque es. En un minuto os cuento.


"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje

news:OlV9Ooi1...@TK2MSFTNGP15.phx.gbl...


> --------------------------------------------------------------------------
> ¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
> sirvió o no la respuesta dada. Muchas gracias
> --------------------------------------------------------------------------

> Ese error puede deberse a que está más escrito el nombre del campo (cosa
> que dudo) pero también suele ocurrir si en el valor que se pasa hay alguna
> comilla simple.... por ejemplo O'Connor... es tu caso???

Ricardo Hernández Sáez

unread,
Nov 29, 2004, 11:45:10 AM11/29/04
to
Ahí lo tienes

Public Function ActualizarTabla() As Boolean
Dim bResult As Boolean

Dim cn As ADODB.Connection
Dim rsTareas As ADODB.Recordset
Dim rsCuadro As ADODB.Recordset
Dim fld As ADODB.Field


Dim hRef As Date, hFinal As Date
Dim strNombreCampo As String

Dim strSQL As String
On Error GoTo HandleErr

bResult = False

Set cn = CurrentProject.Connection
Set rsTareas = New ADODB.Recordset
rsTareas.Open "Tareas", cn, adOpenForwardOnly

hFinal = CVDate("21:00")

cn.Execute "Delete from Tareas_Cuadro", Options:=adExecuteNoRecords
Do Until rsTareas.EOF
Set rsCuadro = New ADODB.Recordset
rsCuadro.Open "Select * From Tareas_Cuadro Where Persona = '" &
rsTareas!Persona & "'", cn, adOpenKeyset, adLockOptimistic
If rsCuadro.RecordCount = 0 Then
rsCuadro.AddNew
rsCuadro!Persona = rsTareas!Persona
For Each fld In rsCuadro.Fields
If fld.Name = "Persona" Then
rsCuadro!Persona = rsTareas!Persona
ElseIf Not fld.Properties("IsAutoIncrement") Then
fld.Value = 0
End If
Next fld
rsCuadro.Update


End If
hRef = CVDate("08:00")
Do While DateDiff("n", hRef, hFinal) > 0
strNombreCampo = Format(hRef, "hhnn")

If DateDiff("n", rsTareas!HINICIO, hRef) >= 0 And DateDiff("n",
hRef, rsTareas!hFin) > 0 Then
strSQL = "Update Tareas_Cuadro" _
& " Set [" & strNombreCampo & "] = 1" _
& " Where Persona = '" & rsTareas!Persona & "'"
cn.Execute strSQL, Options:=adExecuteNoRecords

End If
hRef = DateAdd("n", 15, hRef)
Loop

rsTareas.MoveNext

Sashka

unread,
Nov 29, 2004, 10:44:00 AM11/29/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Esto es lo que buscaba y no encontraba.... :))
http://support.microsoft.com/kb/245408/es

Sashka
MS MVP Access
MCP ASP.Net

"Salsita" <pik...@terra.es> escribió en el mensaje

news:OPHHYOf1...@TK2MSFTNGP10.phx.gbl...

Salsita

unread,
Nov 29, 2004, 11:16:37 AM11/29/04
to
No es el caso.
Sigo probando

"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje

news:OlV9Ooi1...@TK2MSFTNGP15.phx.gbl...


> --------------------------------------------------------------------------
> ¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
> sirvió o no la respuesta dada. Muchas gracias
> --------------------------------------------------------------------------

> Ese error puede deberse a que está más escrito el nombre del campo (cosa
> que dudo) pero también suele ocurrir si en el valor que se pasa hay alguna
> comilla simple.... por ejemplo O'Connor... es tu caso???
>

Sashka

unread,
Nov 29, 2004, 10:42:37 AM11/29/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Ese error puede deberse a que está más escrito el nombre del campo (cosa que
dudo) pero también suele ocurrir si en el valor que se pasa hay alguna
comilla simple.... por ejemplo O'Connor... es tu caso???

Sashka

Salsita

unread,
Nov 29, 2004, 11:31:40 AM11/29/04
to
Hola Sashka!! Para quien tiene mi nivel en vb (cero patatero), leer esto es
como quien lee ruso. No se si me vale para algo.
En mi caso el método Find (que en el código original DAO es FindFirst) el
módulo lo usa para lo siguiente:

En la tabla Tareas existe la posibilidad de que una persona aparezca varias
veces. Se recorre dicha tabla y se va comprobando (Find) si ese nombre ya se
ha añadido ya a la tabla Tareas_Cuadro, si no es así se añade y se activan
tantos campos (verdadero) como corresponda en función de su hora de inicio y
de fin para luego representar gráficamente (en un formulario) los resultados
de su ocupación diaria.

Sigo probando.
1000000 de gracias por vuestra ayuda.


"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje

news:O87GApi1...@tk2msftngp13.phx.gbl...

Salsita

unread,
Nov 29, 2004, 12:03:43 PM11/29/04
to
Hola de nuevo Ricardo.

No se como voy a agradeceros todo el tiempo que perdeis conmigo.

Verás efectivamente tu código ya no da error. El que tenía yo, como le acabo
de comentar a Sashka tampoco lo daba ahora al final, pero ni el mio ni el
tuyo funcionan correctamente. Es decir, agrupan correctamente a las
personas, pero no cambian a "verdadero" los campos correspondientes y creo
saber porqué. A ver que os parece a vosotros.

Le pongo un punto de interrupción en el último loop y cuando situo el ratón
encima de rsTareas!HINICIO le valor que aparece es: "01/01/1900 15:30:00"
lo mismo ocurre con rsTareas!HFIN (con su hora correspondiente) ¿Será por
eso que no calcula correctamente la diferencia y nunca se cumple la
condición?

Un saludo.


"Ricardo Hernández Sáez" <ricardohz...@hotmail.com> escribió en el
mensaje news:%233QveLj...@TK2MSFTNGP15.phx.gbl...

Salsita

unread,
Nov 29, 2004, 12:47:53 PM11/29/04
to
Lo se, lo seee!!! ya se que soy un pesao, pero aunque no te lo creas,
solamente os pregunto un 1% de las dudas que me van surgiendo, es decir, las
absolutamente desesperadas, después de haber probado mil cosas, y haberme
tirado por lo menos un par de horas buscando en google, foros etc, que es
como resuelvo el 99% restante.

Que por cierto, mucha gente debería tomar nota de esto porque, a veces me
sorprende ver preguntas en el foro que han sido respondidas unos cuantos
hilos más atrás o preguntas que buscas en google y te salen 50000
soluciones.

En fin, en mi caso particular, no tengo más que agradecimientos para
vosotros, que siempre estais ahí dispuestos a echar un cable a los que menos
sabemos.

Un abrazo a todos.

"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje
news:Otc%238oj1E...@TK2MSFTNGP10.phx.gbl...


> --------------------------------------------------------------------------
> ¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
> sirvió o no la respuesta dada. Muchas gracias
> --------------------------------------------------------------------------

> :)))) Y lo hiciste solo!!!!!! no sabes lo que me alegra eso :))))


>
> Sashka
> MS MVP Access
> MCP ASP.Net
>

> "Salsita" <pik...@terra.es> escribió en el mensaje
> news:Ow2mXej1...@tk2msftngp13.phx.gbl...
>> Ya está: Sustituimos rsTareas!HINICIO por
>> FormatDateTime(rsTareas!HINICIO, vbShortTime) y lissssto.
>> De verdad, no se que haría yo sin vosotros.
>> 1000000000000000 de miles de gracias!!!
>> Un saludo
>>
>>
>> "Salsita" <pik...@terra.es> escribió en el mensaje
>> news:OJ1bjVj1...@TK2MSFTNGP10.phx.gbl...

Salsita

unread,
Nov 29, 2004, 12:19:29 PM11/29/04
to
Ya está: Sustituimos rsTareas!HINICIO por FormatDateTime(rsTareas!HINICIO,
vbShortTime) y lissssto.
De verdad, no se que haría yo sin vosotros.
1000000000000000 de miles de gracias!!!
Un saludo


"Salsita" <pik...@terra.es> escribió en el mensaje
news:OJ1bjVj1...@TK2MSFTNGP10.phx.gbl...

Ricardo Hernández Sáez

unread,
Nov 29, 2004, 1:21:23 PM11/29/04
to
En realidad no hay problema alguno. En nuestro ejemplo los campos 0800,
0815, ... son campos Si/No. Eso sólo nos permite guardar si trabaja o no. Si
en lugar de definir esos campos como booleanos los definimos como enteros
largos, podríamos almacenar el color de fondo en la propia tabla.

Imagina que tienes almacenados los colores de fondo en algún sítio. En
cada ciclo del bucle Do until rsTareas.EOF puedes usar un valor distinto:

idxColor = 1
Do until rstareas.eof
...
Do until rsCuadro.EOF


strSQL = "Update Tareas_Cuadro" _

& " Set [" & strNombreCampo & "] = " & idxColor _


& " Where Persona = '" & rsTareas!Persona & "'"
cn.Execute strSQL, Options:=adExecuteNoRecords

rsCuadro.Movenext
loop

idxColor = idxColor + 1
rstareas.movenext
Loop

En el formato condicional podrías tener una expresión [0915]=1, [0915]=2,
...

La interfaz de access sólo te permite 3 formatos condicionales. No sé si
mediante programación te dejará meter más. Si te deja poner los suficientes,
puta madre. Si no, pues a partir de uno dado no cambias el color. Otra
alternativa es visitar la página de Stephen Lebans http://www.lebans.com/ y
pelearte con el ejemplo que pone distintos colores de fondo en formularios
continuos e intentar adaptarlo a lo que tu tienes.

"Salsita" <pik...@terra.es> escribió en el mensaje
news:O4boinj...@TK2MSFTNGP14.phx.gbl...
> Ahora que todo funciona, se me ocurre una maravillosa idea. Que no se si
> sería posible. Bueno supongo que posible sí será, otra cosa es que sea más
o
> menos fácil. Eso ya lo dirás tú que eres el gurú.
>
> Verás. Imaginate que la tabla Tareas tuviese:
> id
> Persona
> Hora inicio
> Hora fin
> Tarea
>
> De forma que cuando agrupamos a todas las personas los cuadraditos nos van
> mostrando de que hora a que hora están ocupados. Pero el problema está en
> que como todos los cuadraditos son iguales, no sabemos si esa ocupación
> pertenece a la misma tarea o a tareas distintas.
>
> Entonces...... Podríamos diferenciar con colores (con 2 colores bastaría,
pq
> no sabemos el número de tareas que podría llegar a haber) de forma que si
> tenemos ocupado de 10 a 11 con una tarea y de 11 a 12 con otra, el color
de
> 10 a 11 sea distinto que el de 11 a 12?
>
> No se si me he explicado correctamente.


>
>
> "Ricardo Hernández Sáez" <ricardohz...@hotmail.com> escribió en el

> mensaje news:%23aKyAfj...@TK2MSFTNGP11.phx.gbl...
> > Es que los campo hora son unos ioputas ...
> >
> > Haz esta prueba:
> > 1.- Añade una tarea 'Una Persona' desde las 8:30 hasta las 10
escribiendo
> > las horas en la tabla desde el ADP.
> > 2.- Ejecuta una sentencia "Insert into Tareas (Persona, HInicio, HFin)
> > Values (Otra persona', '08:30', '10:00')
> >
> > Observa que el primer caso el valor que almacena es '18991230 08:30', y
en
> > el segundo '1990101 08:30'. El segundo valor es que encontrarás en la
> > documentación de Sql Server en lo que a fechas se refiere. Pero , ...
¿el
> > primero?
> >
> > Me parece que esto es cosa del Visual Basic para Aplicaciones. Haz otra
> > prueba:
> > Debug.Print Format(CvDate("08:30"),"dd-mm-yyyy hh:nn")
> > 30-12-1899 08:30
> >
> > La conclusión que saco es que Access almacena las horas de esa forma
para
> > que los valores de la base de datos sean consistentes con los de VBA.
> >
> > La función que te he enviado funciona perfectamente. En mi caso puede
que
> > sea porque he metido los datos de la tabla "tareas" abriendo la tabla en
> > el
> > ADP y escribiendo valores sin más. De acuerdo a lo que te he comentado,
en
> > mi caso almacena las horas con la parte de fecha puesta al 30 de
Diciembre
> > del 1899.
> >
> > No sé si te he aclarado o confundido todavía más.
> >
> > Un saludo
> >
> >
>
>


Ricardo Hernández Sáez

unread,
Nov 29, 2004, 12:20:07 PM11/29/04
to

Sashka

unread,
Nov 29, 2004, 12:38:26 PM11/29/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
:)))) Y lo hiciste solo!!!!!! no sabes lo que me alegra eso :))))

Sashka
MS MVP Access
MCP ASP.Net

"Salsita" <pik...@terra.es> escribió en el mensaje
news:Ow2mXej1...@tk2msftngp13.phx.gbl...

Sashka

unread,
Nov 29, 2004, 1:06:23 PM11/29/04
to
-------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
No me malinterpretes... no es que molesten las preguntas!!!! uno está aca y
contesta porque quiere.... la alegría es porque uno se da cuenta que no
pierde el tiempo.... que los que preguntan no es quieran que les hagan el
trabajo... sino que aprenden.... y eso da una gran satisfacción!!! :)

Sashka
MS MVP Access
MCP ASP.Net

"Salsita" <pik...@terra.es> escribió en el mensaje

news:udsPPuj1...@TK2MSFTNGP15.phx.gbl...

Salsita

unread,
Nov 29, 2004, 12:35:54 PM11/29/04
to
Ahora que todo funciona, se me ocurre una maravillosa idea. Que no se si
sería posible. Bueno supongo que posible sí será, otra cosa es que sea más o
menos fácil. Eso ya lo dirás tú que eres el gurú.

Verás. Imaginate que la tabla Tareas tuviese:
id
Persona
Hora inicio
Hora fin
Tarea

De forma que cuando agrupamos a todas las personas los cuadraditos nos van
mostrando de que hora a que hora están ocupados. Pero el problema está en
que como todos los cuadraditos son iguales, no sabemos si esa ocupación
pertenece a la misma tarea o a tareas distintas.

Entonces...... Podríamos diferenciar con colores (con 2 colores bastaría, pq
no sabemos el número de tareas que podría llegar a haber) de forma que si
tenemos ocupado de 10 a 11 con una tarea y de 11 a 12 con otra, el color de
10 a 11 sea distinto que el de 11 a 12?

No se si me he explicado correctamente.

"Ricardo Hernández Sáez" <ricardohz...@hotmail.com> escribió en el

mensaje news:%23aKyAfj...@TK2MSFTNGP11.phx.gbl...

0 new messages