Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Generar expresiones en access

Estas en el tema de Generar expresiones en access en el foro de Bases de Datos General en Foros del Web. Alguien sabe como utilizar el generador de expresiones las reglas básicas, por ejemplo: En un Formulario ¿Se podría hacer que un campo (previamente desactivado en ...
  #1 (permalink)  
Antiguo 29/05/2003, 05:05
 
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de La Palma
Mensajes: 17
Antigüedad: 21 años, 7 meses
Puntos: 0
Exclamación Generar expresiones en access

Alguien sabe como utilizar el generador de expresiones las reglas básicas, por ejemplo: En un Formulario ¿Se podría hacer que un campo (previamente desactivado en propiedades) se active si se introduce una determinada palabra en un campo anterior. ( Mi programación está un poco oxidada por lo que no quiero meterme todavía con Visual Basic, ya no me acuerdo de lo poco que estudié , a ver si resucito la memoria .Estoy empezando a odiar el access :-p )

campo 1 = pepe

campo 2= (se activaría permitiendote introducir datos en el caso de que en el campo 1 introdujeras "pepe")

Muchas gracias por todo. Hasta pronto
  #2 (permalink)  
Antiguo 29/05/2003, 09:35
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 22 años
Puntos: 5
Hola panketa,

Necesitas una condicion para que Ms Access pueda dicernir entre lo que se está añadiendo o actualizando en el campo 1.
Si no es con macro o con VB, no sé. Hay algunas alternativas en las propiedades como lo de 'Enabled' y 'Locked'.
Yo personalmente usaria un macro para la forma y añadiria eventos en VB (Code builder en el campo donde quieres la condicion) y le diria que hiciera o no 'Visible' el otro campo.

Supongamos que tenemos un campo1 y campo2 en la tabla campitos.

En campo1 es que escribiras lo de "pepe" para saber si te aparece o desaparece el campo2 en el formulario.
Puse campo1 y campo2 como cajitas de texto.

En las propiedades de campo1, ve al evento On Change y ahi escribiras el codigo. O sea al clickear sobre el espacio vacio en la propiedad de onchange te aparecera la flechita y los puntitos. Elige los puntitos y ahi elige Code Builder.
O igual lo puedes escribir desde View/Code.
Escribe algo como esto:
Código:
Private Sub nombredelcampo1_Change()
If nombredelcampo1.Text = "pepe" Then
nombredelcampo2.Visible = True
Else
nombredelcampo2.Visible = False
End If
End Sub

Private Sub nombredelcampo1_Enter()
If nombredelcampo1.Text = "pepe" Then
nombredelcampo2.Visible = True
Else
nombredelcampo2.Visible = False
End If
End Sub
Nota: Puedes intentar utilizar lo de enable o locked en vez de visible. Eso es a tu juicio. :)

El problema aqui es que por ejemplo si ya entraste algun dato con campo1 = "pepe" y quieres actualizarlo, lo podras hacer sin problemas pero si existen mas registros y quieres verlos, estos no te esconderan el campo2 porque el foco (focus) esta ahora en el campo2 y no en el campo1.

Asi que puedes hacer en el codigo que el foco se redirija al campo1 para el proximo record y en el que estas.
Puedes hacerlo tanto en el codigo como en un macro. Un ejemplo de macro sencillo es el siguiente.

Dale click con el boton derecho a cualquier parte de la pantalla que este fuera de tu formulario para que se te presenten
las propiedades del formulario. Revisa que estes en las propiedades del Form y no de alguna seccion como header o alguno de los controles.

En el evento After Update, dale click al espacio en blanco y a los puntitos. Elige el de Crear un macro o igual podias ir a la seccion de Macro, crearlo y luego seleccionarlo de la lista que te aparecera ahi.

Pero sigamos. Al seleccionar lo de Crear macro, dale a las Acciones. Elige el de GotoControl y escribe en el cuadro abajo el nombre de tu control de campo1. Recuerda..el del campo1. Asi cuando se actualice el record y vayas a un nuevo record, siempre el cursor estara en el campo 1. Igual podias hacerlo en el codigo de Visual basic, pero queria mostrar solo un ejemplito para usar macro y eso...

Si tienes alguna duda, avisame.

Espero te fncione. Recuerda que despues de añadir el codigo y macro...debes guardarlo y darle save tambien a la forma, no solamente al macro o codigo. Asi se te podra ejecutar.

Suerte
__________________
Yanira
  #3 (permalink)  
Antiguo 02/06/2003, 05:58
 
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de La Palma
Mensajes: 17
Antigüedad: 21 años, 7 meses
Puntos: 0
Si funciona, muchas gracias.

Hay que tener mucho cuidado con los nombres que se le ponen a los campos porque, Cod_Obra no es igual a Cod_ Obra jeje (tres días para darme cuenta de que habia metido un espacio donde no era )
  #4 (permalink)  
Antiguo 02/07/2003, 06:43
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 22 años
Puntos: 5
Me alegra que funcionara!
Cierto! A veces pasa con los nombres
__________________
Yanira
  #5 (permalink)  
Antiguo 04/02/2010, 16:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Generar expresiones en access

hola io tengo un problemilla alguien k me ayude pliss

bien comenzare hice una tabla en access 2007 el programa es portable bien el problema es que hice expresiones para que me ayudacen a realizar calculos de una cierta cantidad bueno pues el formulario me funciona a mil pero pues el hecho es que los valores que me dan como resultado de la formula no se escriben el la tabla es to me trae como consecuancia un mal pero mal dia ya mela pase buscando que estoy haciendo mal y pos no le hayo alguien k me ayude plisssss

mi correo [email protected]
  #6 (permalink)  
Antiguo 09/09/2010, 12:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Generar expresiones en access

Hola a todos, soy nuevo por aqui.
Estoy buscando una respuesta sobre expresiones en access.
Si creo un "cuadro de texto" en un formulario y hago referencia a un objeto de otro formulario, subformulario o consulta tengo el mensaje de error #¿Nombre?
Solamente funciona si hago referencia al mismo formulario.
Gracias
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 23:36.