Incluir tres campos en un tercero

Tengo una tabla con 15 campos pero lo que no me sale es que al introducir datos quiero que los tres primeros campos se introduzcan en el 4º:
Campos:
   -Tipo(texto-2 dígitos) -Clase(texto-2 dígitos) -Id(autoIncremento-4digitos)
El 4º campo debe contener la suma de todos Ej:
 =[tipo]+[clase] & Formato([id];"0000")
Y el 4º campo debería contener: PE230006
La fórmula de más arriba la introduzco en PROPIEDADES -> ORIGEN DEL CONTROL en un Formulario con todos los campos y me aparece escrito en el 4º campo pero cundo abro la tabla no hay datos en ese 4º campo.
No se si me he explicado bien. Si pueden ayudarme...
Gracias
Patrés

1 Respuesta

Respuesta
1
Es fácil
lo primeto es que no te recomiendo lo que haces , los datos en las tablas no deben estar duplicados
pero si aun asi quieres te explico
al colocarle un controlsource al campo total lo estas despegando de la tabla y no grabara nada
coloca en cada campo separado un aferupdate que acumule todos y deja el que suma con 4tocampo.controlsource = tabla4campo
en cada campo repite
private sub campo1.afterupdate
   campo4=campo1 & campo2 & campo3
end sub
y asi en los demas
tambien puede ser directamente en el evento (generador de expresiones) o con macros aunque yo siempre prefiero codigo (procedimiento de evento)(generador de codigo)
Muchas gracias por tu pronta respuesta.
Al final he podido solucionarlo creando un evento al salir del campo anterior al Campo4.
Pero me ha costado tiempo y ademas no es demasiada buena la solución.
Necesitaría aprender más. Si tu puedes decirme donde puedo conseguir ejemplos de programas con su código te lo agradecería mucho. En la red para encontrar algo bueno hay que soportar los engaños y propagandas que nos invaden y nos hacen perder demasiado tiempo.
Dejo aquí el evento por si le sirve a alguien.
Private Sub Campo2_Exit(Cancel As Integer)
  Dim Vcampo As String
  Vcampo = Str(Me.Id)
  Vcampo = Format(Vcampo, "0000")
  Me.Campo4 = Me.Campo1 + Me.Campo2 + Vcampo
End Sub
En el campo 4 saldría algo así: PE-23-0006. Previamente he creado las mascaras de entrada en los campos claro.
No se si te fijaste que el código de sumar campos con o sin formato
se repite para los 3 campos primeros
así si modificas cualquiera, volverá a sumar todos
esto en todos los eventos beforeUpdate (de campo 1, 2, 3)
Campo4 = Campo1 & Campo2 & format(Vcampo,"000")
¿Cerramos?
Gracias por las respuesta. Me han ayudado bastante pero todavía tengo muchas dudas.
Sigo buscando ejemplos con código para seguir aprendiendo.
Patres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas