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

#1 Búho
03/07/2003 - 13:16 | Informe spam
Ando un poco rapido, que me tengo que ir.
Si la comprobacion la tienes que hacer una sola vez, pon al final
TimerInterval = 0
con lo cual el Timer del Frm deja de actuar.
Si no es eso, ya hablaremos.
Me pirooooooo


Saludos desde Valladolid
Francisco Javier García Aguado
http://www.clikear.com/webs/accessbhuo/
http://groups.msn.com/Access2000VisualBasic/



"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
Respuesta Responder a este mensaje
#2 E. Feijoo
03/07/2003 - 16:12 | Informe spam
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
Respuesta Responder a este mensaje
#3 JK
03/07/2003 - 19:00 | Informe spam
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
Respuesta Responder a este mensaje
#4 E. Feijoo
03/07/2003 - 23:25 | Informe spam
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
Respuesta Responder a este mensaje
#5 JK
04/07/2003 - 11:13 | Informe spam
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
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida