Cambiar color del texto al cambiar de registro

Quisiera saber si hay algún modo de hacer lo siguiente con un código. En una base de datos tengo parte de un listado numérico. Cada número identifica una pieza. Cada pieza tiene su registro en la BD. Las piezas forman parte de un articulo, hay artículos que pueden tener hasta 24 piezas. Parte de ese listado numérico esta hecho en excel y lo tengo incrustado como objeto ole. En el listado Excel, cambio manualmente los colores de los números, de modo que de un simple vistazo puedo saber que piezas tengo y que piezas faltan. Las que tengo las pongo en verde, las que no en rojo, y la pieza objeto de consulta en el correspondiente formulario, se identifica en negro.
Es decir, en un registro de un formulario, aparece una fotogarafía de una pieza. Hay un campo con un número que identifica la pieza y hay un listado incrustado como objeto ole. En la lista el número del registro activo aparece en negro, las piezas que hay en verde y las que no en rojo.
Lo que quiero es eliminar el objeto ole, ya que me ocupa mucho espacio en la Bd, y crear campos para cada número de la lista, de modo que al camiar de registro cambien de color.
Hay algún modo de que un código detecte el número del campo que identifica las piezas y los cambie de color, si hay coincidencias los ponga en verde y si no en rojo. Y si es posible el del registro activo en negro.
He probado con el formato condicionado y no he podido hacerlo.

1 Respuesta

Respuesta
1
Jose Antonio.
Access, con un objeto OLE lo único que puede hacer, que yo sepa es abrirlo, en su aplicación correspondiente. Por otra parte, tener objetos OLE en una BD no es recomendable por lo que aumenta su tamaño, por tanto, sino es imprescindible mejor no usarlos.
Por eso para empezar, si lo que quieres es mantener los datos que tienes en Excel, en Excel, lo que tienes que hacer es vincular el archivo. Esto se hace igual que cuando vinculas una tabla de otro BD. Con lo cuál podrás modificar los "datos" tanto desde la BD como desde Access. Lo que no puedes es que respete el formato del texto en access, porque las tablas no lo contemplan.
Una vez hecho esto hablamos. Aunque creo que lo que necesitas es un campo en esa tabla que viene de Excel, (por lo tanto tendrías que crearlo en el archivo excel" que te indique cuando una pieza existe o no.
Luego crear la relación necesaria para que en el formulario principal que tienes, insertar un subformulario basado en esta tabla, en el cual no sería complicado que mediante colores te indicase que piezas hay o no.
Hola Kepasada, es un placer estar nuevamente "tecleando" contigo.
Me parece buena idea la que me planteas, voy a ver si puedo, o mejor dicho, si se vincular el archivo de Excel, y ya te comento algo.
Muchas gracias.
Un saludo,
Jose Antonio.
Vincularlo no tiene ningún secreto. En la Bd te vas a obtener datos externos, vincular y cuando te sale el dialogo para buscar el archivo, en la parte de abajo, escoges archivos de excel, lógicamente por defecto te sale archivos con extensión mdb, mde.. Luego sólo es seguir los pasos con lógica. Eso sí, la tabla excel, tendrá que tener una estructura más o menos lógica:
Columnas como campos, y filas como registros.
Hola, ok. Archivo excel vinculado.
Efectivamente se ha creado una tabla de BD con los datos de la tabla Excel.
Hola, me quedé sin señal de internet y no pude terminar el anterior comentario.
Decía, que el archivo se ha vinculado... ¿y cuál es el siguiente paso?
Saludos
Jose Antonio.
Bueno parto de la base de que no se como tienes exactamente montado el "tinglao".
Entiendo que la "tabla excel" que acabas de vincular, contiene las piezas, así como la cantidad de ellas que hay.
En el formulario "principal" deberías relacionar los artículos con las piezas de las que constan. Es decir, relacionar la tabla "articulos" con la tabla "piezas".
Luego sólo seria cuestión de en un formulario, al escoger un determinado articulo, te debería aparecer las piezas de las que esta compuesto, (lo más fácil y lógico) en un subformulario.
Después, bien con código, bien con "formato condicional" hacer que cambie de color la pieza en el subformulario cuando su campo cantidad < 1.
Un saludo.
Hola, ok, entendido.
Primero voy a relacionar las tablas, después haré lo del subformulario y ya te comentaré
Gracias.
Un Saludo
Jose Antonio.
Jose Antonio. Intentalo y con los resultado me comentas.
Hola, buenas noches. Perdona el retraso pero he estado algo liado y no he tenido tiempo de ponerme con esto. Bien, subformulario creado. He tenido que consultar un libro titulado Guía Práctica para usuarios de access 2003 de Daniel García Martos, lo compré hace unos días.
¿Ahora introducimos algún código, para que los números cambien de color?
Saludos
Jose Antonio.
Jose Antonio. Falta por saber como le dices a Access que falta la pieza, ¿tienes un campo cantidad o algo similar?. Necesitas "algo" para que access sepa que la pieza falta.
Hola, perdón por el retraso, estuve algo liado con el trabajo y he tenido fallos en la señal de internet.
Efectivamente, hay un campo donde pongo la cantidad de piezas que hay.
¿Ahora hay que poner algún código?
Saludos
Jose Antonio.
No voy a volver a disculparme porque es inútil. Ahora puedo contestarte y lo hago.
Se puede hacer con código o no. Creo que para lo que necesitas es mejor y más fácil usar el formato condicional sobre el campo.
Para ello en el campo que quieres que cambie de color, entras en el formato condicional y seleccionas. "la expresión es". Luego pones:
[cantidad] = 0
Suponiendo que "cantidad" es el nombre del campo que contiene la cantidad de producto. Y le cambias el color de la letra del fondo...
A partir de esto, aclopalo como necesites. (Ten en cuenta que sólo te permite 3 condiciones).
Un saludo y con lo que tengas problemas, no dudes en preguntar.
Hola Alfredo, ya sabes que no necesitas disculparte, al menos no conmigo.
Una vez más me ha sido de gran utilidad tus soluciones, ha sido una fantástica solución.
Un cordial saludo y muchísimas gracias por tu ayuda.
Jose Antonio.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas