Access - Duda en Acces, rellenar un campo

 
Vista:

Duda en Acces, rellenar un campo

Publicado por David (18 intervenciones) el 01/03/2007 15:35:06
Amigos...necesito rellenar un campo de una tabla access, solo con el año de la fecha corta de otro campo...cómo puedo hacerlo??
Por ejemplo:
Campo 1: 22-12-2003
Necesito que en el Campo 2 aparezca automaticamente 2003 o el año que el usuario ingrese.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda en Acces, rellenar un campo

Publicado por antperlop (33 intervenciones) el 01/03/2007 17:53:46
En el evento Después de actualizar del campo1 pones
me.campo2=year(me.campo1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Soy nuevo en esto, mas detallado por favor!!!

Publicado por David (18 intervenciones) el 01/03/2007 18:38:44
Donde hago eso del evento en la tabla, en un formulario....donde??
soy nuevo por favor expliquenme con mas detalle...
muchas gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Soy nuevo en esto, mas detallado por favor!!!

Publicado por antperlop (33 intervenciones) el 01/03/2007 20:06:06
David, no me importa explicarte alguna que otra cuestión pero te doy un consejo, antes de empezar con esto deberias leerte algun que otro manual (www.aulaclic.com) tiene un curso de access bastante bueno y gratis.
Cualquier cosa que te explique te sonará a chino y en cuanto a tu pregunta, no se donde quieres actualizar ese campo ¿En una consulta? ¿En un formulario ?.
Si estas en un formulario cada campo tiene sus propiedades y eventos y es ahi donde debes mirar lo que te he dicho.
Saludos desde Cádiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en Acces, rellenar un campo

Publicado por Enrique (1299 intervenciones) el 01/03/2007 21:24:38
Otra forma de hacerlo:
Abres las propiedades del Campo2 y en Origen del Control pones:

=Formato([Campo1];"aaaa")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

me lanza un error de sintaxis

Publicado por David (18 intervenciones) el 02/03/2007 13:48:04
Haciendo lo del origen de control aparece el siguiente mensaje:

"La expresion que introdujo tiene una sintaxis no válida
Omitió un operando o un operador, introdujo un carácter o coma no válidos o introdujo texto sin encerrarlo en comillas"

Puse exactamenten esto:
=Formato([Campo1];"aaaa")

¿Qué puede ser?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:me lanza un error de sintaxis

Publicado por Enrique (1299 intervenciones) el 02/03/2007 15:35:41
Puede que tu Access no esté en Español, prueba con:
=Format(Campo2; "yyyy")
y si no te funciona prueba como te han dicho antes con
=Year(campo1)
Si tu Access estuviera en español, te debería traducir automáticamente Year por Año. A mi me funciona de ambas formas incluso aunque Campo1 no tenga formato fecha.

De todas formas sería conveniente que lo hagas por código en el Procedimiento de Evento Después de actualizar del Campo1, porque de esta forma que te indico, conviertes a Campo2 en un campo calculado (con su origen del control ocupado) y luego no podrás grabarlo en la tabla si necesitas hacerlo.

Private Sub_Campo1_AfterUpdate()
Campo2 = Format(Campo1, "yyyy") o Campo2 = Year(Campo1)
End Sub

Un saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:me lanza un error de sintaxis

Publicado por David (18 intervenciones) el 02/03/2007 16:59:04
Esto es lo que tengo en el evento del campo 1:

Option Compare Database
Private Sub campo1_BeforeUpdate(Cancel As Integer)

Private Sub_campo2_AfterUpdate()
campo2 = Year(campo1)

End Sub

Está bien??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:me lanza un error de sintaxis

Publicado por David (18 intervenciones) el 02/03/2007 17:08:07
lo logreeeeeeeeeeeeeeeee
Así:
Private Sub campo3_AfterUpdate()
campo6 = Format(campo3, "yyyy")
End Sub

muchas gracias por la ayuda y la orientación!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

lo logreeeeeeeeeeeeeeee!!!!

Publicado por David (18 intervenciones) el 02/03/2007 17:14:03
Así

Private Sub campo3_AfterUpdate()
campo6 = Format(campo3, "yyyy")
End Sub

Gracias por la ayuda amigos
Saludos desde Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar