Foros del Web » Soporte técnico » Ofimática »

Relacionar dos campos access

Estas en el tema de Relacionar dos campos access en el foro de Ofimática en Foros del Web. Buenas tardes. Tengo una duda respecto al funcionamiento de las condicionantes en access, ya que no tengo mayor experiencia. He logrado desarrollar la tabla y ...
  #1 (permalink)  
Antiguo 28/07/2010, 13:03
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Relacionar dos campos access

Buenas tardes.

Tengo una duda respecto al funcionamiento de las condicionantes en access, ya que no tengo mayor experiencia.

He logrado desarrollar la tabla y sus respectivos formularios, pero no logro relacionar los datos de dos campos.

Es decir quiero que al introducir datos en el campo denominado odt automaticaticamente me arroje los valores del campo mes

si el campo odt=22810-001 campo mes=enero
si el campo odt=22810-002 campo mes=febrero
si el campo odt=22810-003 campo mes= marzo....... Y sucesivamente hasta el mes de diciembre.

Alguien podria ayudarme por favor.
  #2 (permalink)  
Antiguo 04/08/2010, 11:03
Avatar de ViccoLizcano  
Fecha de Ingreso: enero-2008
Ubicación: Working...
Mensajes: 100
Antigüedad: 16 años, 9 meses
Puntos: 1
Información Respuesta: Relacionar dos campos access

Sí se puede, pero tendrías que meterle código VBA, déjame ver como te explico...

1.- Crea un cuadro te texto en el formulario donde lo desees, en sus propiedades pongámosle el nombre txtodt (o como quieras, pero es importante recordar que nombre le pusiste).

2.- Aún en Propiedades, selecciona la pestaña Eventos. Seleccionamos la opción "Después de Actualizar". Es el botón con los tres puntos suspensivos (...).

3.- Nos pedirá seleccionar Generador, seleccionamos Generador de Código y nos habrá creado lo siguiente en una nueva ventana.

Código:
Private Sub txtodt_AfterUpdate()

End Sub
4.- No cierrres la ventana de código y regresa al formulario, coloca otro campo de texto y en sus propiedades ponle el nombre txtMes. (alternativamente podrías tener una lista desplegable con los meses, pero supongo que sólo quieres mostrar el mes y no vas a intercatuar con él).

5.- Regresamos a la ventana de código y copia y pega el siguiente código entre lo que se había creado automáticamente, debe quedar así:

Código:
Private Sub txtodt_AfterUpdate()
    Select Case (Right(txtodt, 3))
    'Seleccionamos los 3 últimos caracteres de la derecha
    'y los comparamos contra los 12 posibles meses.
        Case "001"
            txtmes = "Enero"
        Case "002"
            txtmes = "Febrero"
        Case "003"
            txtmes = "Marzo"
        Case "004"
            txtmes = "Abril"
        Case "005"
            txtmes = "Mayo"
        Case "006"
            txtmes = "Junio"
        Case "007"
            txtmes = "Julio"
        Case "008"
            txtmes = "Agosto"
        Case "009"
            txtmes = "Septiembre"
        Case "010"
            txtmes = "Octubre"
        Case "011"
            txtmes = "Noviembre"
        Case "012"
            txtmes = "Diciembre"
        Case Else
            txtmes = "" 'En caso de que no se haya capturado bien, no muestra mes alguno.
    End Select
End Sub
6.- Ahora guarda, y regresa a tu formulario e intenta meter algún valor válido en odt. Estoy considerando que el mes son los 3 últimos caracteres de odt.


Funciona en Access 2007, espero te sirva... saludos y suerte.
__________________
KNOWLEDGE is Power
  #3 (permalink)  
Antiguo 11/09/2010, 13:12
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Relacionar dos campos access

Cita:
Iniciado por viccolizcano Ver Mensaje
sí se puede, pero tendrías que meterle código vba, déjame ver como te explico...

1.- crea un cuadro te texto en el formulario donde lo desees, en sus propiedades pongámosle el nombre txtodt (o como quieras, pero es importante recordar que nombre le pusiste).

2.- aún en propiedades, selecciona la pestaña eventos. Seleccionamos la opción "después de actualizar". Es el botón con los tres puntos suspensivos (...).

3.- nos pedirá seleccionar generador, seleccionamos generador de código y nos habrá creado lo siguiente en una nueva ventana.

Código:
private sub txtodt_afterupdate()

end sub
4.- no cierrres la ventana de código y regresa al formulario, coloca otro campo de texto y en sus propiedades ponle el nombre txtmes. (alternativamente podrías tener una lista desplegable con los meses, pero supongo que sólo quieres mostrar el mes y no vas a intercatuar con él).

5.- regresamos a la ventana de código y copia y pega el siguiente código entre lo que se había creado automáticamente, debe quedar así:

Código:
private sub txtodt_afterupdate()
    select case (right(txtodt, 3))
    'seleccionamos los 3 últimos caracteres de la derecha
    'y los comparamos contra los 12 posibles meses.
        Case "001"
            txtmes = "enero"
        case "002"
            txtmes = "febrero"
        case "003"
            txtmes = "marzo"
        case "004"
            txtmes = "abril"
        case "005"
            txtmes = "mayo"
        case "006"
            txtmes = "junio"
        case "007"
            txtmes = "julio"
        case "008"
            txtmes = "agosto"
        case "009"
            txtmes = "septiembre"
        case "010"
            txtmes = "octubre"
        case "011"
            txtmes = "noviembre"
        case "012"
            txtmes = "diciembre"
        case else
            txtmes = "" 'en caso de que no se haya capturado bien, no muestra mes alguno.
    End select
end sub
6.- ahora guarda, y regresa a tu formulario e intenta meter algún valor válido en odt. Estoy considerando que el mes son los 3 últimos caracteres de odt.


Funciona en access 2007, espero te sirva... Saludos y suerte.
muchisimas gracias viccolizcano por tu ayuda, fue exactamente lo que buscaba. Disculpa la tardanza en la contestacion pero no habia podido visitar el sitio.

Etiquetas: access, campos, dos, relacionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.