Cuadro de texto convertible de DATE a STRING

Estoy desarrollando una aplicación en Access con Visual Basic 6.0.
Mi problema es que no se como se puede cambiar, en caso de que sea posible, un cuadro de texto de tipo Date a tipo String, el cual el origen de control esta determinado a un campo fecha de una tabla de la BBDD.
Me explico, tengo una tabla en la BBDD la cual continene campos de tipo date. En caso de que un objetivo relacionado con esa fecha no se pueda aplicar, se escribirá en el cuadro de texto "NA" y al guardarlo en la tabla se guarda como "01/01/1900"; y también al leer de la tabla en otro cuadro de texto del mismo tipo, en lugar de poner la fecha predeterminada debería aparecer "NA".
Es urgente.

1 respuesta

Respuesta
-1
Pregunta: ¿Desde el Visual Basic tienes conectado el control con el campo de la base de datos?
Si es así, el control te presentará lo que contenga en campo dentro de la tabla. No sé si podrías ponerle un formato condicional al control del estilo: dd/mm/aaaa;dd/mm/aaaa;"N/A"
Otra cosa es que tu presentes el dato en ese control y, cuando sea, grabes el valor del control en la tabla. En este caso sí podrías cambiar el texto que presenta el control dependiendo de la fecha.
Comentame más en detalle cómo lo tienes montado y miramos alguna posibilidad.
Gracias por la contestación.
Le explico, tengo una serie de cuadros de texto en los cuales el valor de los mismos viene de la BBDD, es decir que la propiedad "Origen de control" esta relacionada con los datos de un campo de la tabla de la BBDD. Lo que quería hacer es que en el caso de que el dato de la tabla sea predeterminado, "01/01/1900", me aparezca "NA" en el cuadro de texto no la fecha predeterminada y en caso de no ser esa fecha, me aparezca la fecha en cuestión.
Esto también es a la inversa, es decir, en un cuadro de texto poder introducir una fecha o "NA" en caso de que no sea aplicable y luego al guardarlo en la tabla que guarde en los campos que aparezca "NA" guarde "01/01/1900".
Espero haberme explicado bien.
Gracias.
Empecemos por el principio: ¿Estás trabajando con Visual Basic o con formularios de Access?
Si estás con Access, podrías poner en el valor predeterminado de la fecha el 1/1/1800 y en el formato: dd-mm-aaaa;"N/A"
Creo que eso puede ser lo que quieres.
Estoy trabajando con formularios en Access y visual basic.
El valor del cuadro de texto tiene que ser que 'tire' directamente de la tabla ya que en la mayoría de los casos la fecha sera correcta y no habrá que poner "NA", solo para las fechas de los proyectos que no son aplicables(NA) que aparecería en la tabla "01/01/1900" por lo que el formato de los cuadros de texto debería ser tipo fecha, por lo que al controlar el valor de la fecha y querer poner "NA" da error de tipo.
No se si se podrá hacer lo que quiero, sino tendré que buscar otra solución aunque sea un poco más cutre, como por ejemplo poner dos cuadros de texto en lugar de uno, y en caso de ser la fecha correcta oculta el otro y en caso de no ser correcta, oculta el cuadro de fecha y se ve el otro con el texto "NA" pero claro es una solución 1 poco...
Gracias.
Lo que te ponía antes lo he probado. Si pones el valor por defecto del campo como 1/1/1800, en lugar del 1900, puedes controlarlo con el formato del campo.
Pruébalo y me dices.
¿Te refieres al formato del campo en la tabla de la BBDD no? ¿O al del text box?
Estado probando como me dijiste con el formato (dd-mm-aaaa;"NA") pero no me hace ni caso... al final he optado por poner cuadros de texto que permitan un string y leer de la tabla los datos date y al mostrarlos en los cuadros de texto pasar los datos a string... pero claro lo ideal seria que los cuadros de texto sean de tipo fecha, sobre todo a la hora de escribir una fecha por el calendario de ayuda a la hora de introducir una fecha, ya que me interesa tanto a la hora de mostrar los datos de la tabla, como a la hora de introducir datos en la tabla.
Si supieras una forma de poder poner ese calendario a un cuadro de texto, aunque me imagino que no se puede, o explicarme un poco mejor lo del formato, pero la fecha cuando no es aplicable debe ser "01/01/1900" no 1800, no es por capricho mio sino por el de mi jefe! Je
Gracias por todo.
Al final ya he conseguido sacarlo de una forma más o menos decente.
No he utilizado cuadro de texto de tipo fecha sino de texto y con una función convierto la fecha al leerla en String y con otra el caso contrario.
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas