Evitar evento Timer ¿Como?

03/07/2003 - 12:49 por JK | Informe spam
Tengo el siguiente código que hace lo siguiente:
Comprueba si en una tabla hay algun registro con cierto valor en cierto
campo.
Si encuentra algun valor, pongo de determinado color unas cajas de texto.
Todo esto, lo hace en el evento timer, por lo que pienso que la carga de
memoria y trabajo no es buena para la base.
¿Hay alguna alternativa al evento Timer ?
La intencion final de todo esto es poner de diferente color (para avisar)
unos txt, si en una tabla no existen cierto datos.
El código es este:

Private Sub Form_Timer()
Dim MiVariable
MiVariable = DCount("[Campo]", "Tabla", "[Campo] = 5")
If MiVariable = 0 Then
txtMiCuadroDeTexto.BackColor = vbRed
Else
txtMiCuadroDeTexto.BackColor = vbWhite
End If
End Sub

Hasta luego
JK

Preguntas similare

Leer las respuestas

#6 E.Feijoo
04/07/2003 - 13:11 | Informe spam
Pues si te hace falta habrá que crearlo, no faltaría mas ;-))

Veamos ' si lo veo ', ¿ el formulario principal es algo similar a un albaran
y el subformulario son las líneas ?

De todas formas, el evento en te proponía el cambio es el del mismo
formulario, uno solo, no uno por cada control del formulario, así mismo este
evento se produce también en el subformulario (por si te desplazas por los
registros ) y es común a todos, serian en todo caso dos puntos a controlar.
Sin mas datos, no me hago a la idea.

Un saludo E. Feijoo

"JK" escribió en el mensaje
news:be3ggi$is1$
Bueno, vamos a ver ;-)
Voy aclarar dos cosillas.
El formulario al que me referia, es un subformulario en realidad, y los
eventos casi nunca se suceden en este subformulario.
El formulario contenedor debe tener unos 120 controles diferentes y
controlar todos los eventos resulta algo complicado.
Mi conclusion es que no me sirve ningun evento y que el cuadro de texto


debe
mirar ciertos datos sin esperar ninguna intervencion ( ¿acabo de descubrir
que la programacion por eventos esta obsoleta ? je, je..)

Hasta luego
jk








"E. Feijoo" <e.feijoo()retemail.es> escribió en el mensaje
news:#
En el evento 'Al cambiar de registro' o 'Current' del formulario, haces el
test y cambias el color de los campos que precises, no es preciso el


evento
Timer dado que el control lo haces cuando vas al registro concreto.

Un saludo E. Feijoo

"JK" escribió en el mensaje
news:be1nfi$7ua$
| Gracias por las respuestas, voy a intentar explicarme (bien)
| Imaginemos un formulario tabular con varios campos
| "codigo" "nombre" "tipo" etc...
| En el pie del formulario he puesto unos cuadros de texto vacios con el
color
| de fondo en blanco.
| Y el truco que intento hacer es...
| Si en los registros del form tabular, NO hay ningun registro del "tipo"
que
| decido, pues cambio el fondo del cuadro de texto a otro color (es para
| avisarme que ocurre algo que no es normal).
| Imaginemos que estoy haciendo facturas y cada registro del tabular es un
| producto vendido.
| En casi todas las facturas que hago, hay unos articulos que siempre


estan
y
| la intencion es que si no estan, me cambie el color del cuadro de texto
(que
| solo lo utilizo como si fuese un led que me avisa).
|
| Vaya rollazo que he soltao
| Hasta luego
| JK
|
|
|
|
|
|
| "E. Feijoo" <e.feijoo()retemail.es> escribió en el mensaje
| news:#
| Si eso lo evalúas una vez por registro de formulario, ( al cambiar de
| registro o al ir a uno nuevo ) y no es dependiente de que en multipuesto
| otro operador altere los datos, utiliza el evento 'Current' del


formulario
| ( para todos los registros) o bien si el control lo ejecutas al crear


uno
| nuevo utilizas como condicional el 'NewRecord' .
| El evento timer, solo lo utilizaría en el caso de que se trabajase en


modo
| multipuesto y se precisase controlarlo en ' tiempo real' (mas o menos).
|
| Un saludo E. Feijoo
|
| "JK" escribió en el mensaje
| news:be11s6$pcc$
| | Tengo el siguiente código que hace lo siguiente:
| | Comprueba si en una tabla hay algun registro con cierto valor en


cierto
| | campo.
| | Si encuentra algun valor, pongo de determinado color unas cajas de
texto.
| | Todo esto, lo hace en el evento timer, por lo que pienso que la carga


de
| | memoria y trabajo no es buena para la base.
| | ¿Hay alguna alternativa al evento Timer ?
| | La intencion final de todo esto es poner de diferente color (para
avisar)
| | unos txt, si en una tabla no existen cierto datos.
| | El código es este:
| |
| | Private Sub Form_Timer()
| | Dim MiVariable
| | MiVariable = DCount("[Campo]", "Tabla", "[Campo] = 5")
| | If MiVariable = 0 Then
| | txtMiCuadroDeTexto.BackColor = vbRed
| | Else
| | txtMiCuadroDeTexto.BackColor = vbWhite
| | End If
| | End Sub
| |
| | Hasta luego
| | JK
| |
| |
|
|
|
| Outgoing mail is certified Virus Free.
| Checked by AVG anti-virus system (http://www.grisoft.com).
| Version: 6.0.495 / Virus Database: 294 - Release Date: 30/06/2003
|
|



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.495 / Virus Database: 294 - Release Date: 30/06/2003


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida