Macro para Botón de Registro
Tengo un formulario donde se cargan datos y seguidamente pasa a un subformulario donde se cargan fecha y costos... Al finalizar dicha carga, tengo que volver con el mouse o con el cursor del teclado al principio y comenzar la acción nuevamente. Mi pregunta especifica es si se puede hacer una macro o acción que al finalizar la carga en el ultimo registro del subformulario y presionando una combinación de telcas (como ALt+i por ej. ) el cursoR vuelta al principio del formulario, ¿Se puede?
Desde ya muy agradecido por la ayuda... Saludos Cordiales...
1 Respuesta
Vamos a ver si consigo explicarme. Si tengo un formulario con un subformulario. En este el campo Subtotal es un campo calculado, que no tendría porque recibir el foco, donde en sus propiedades-Datos le tengo puesto que esté bloqueado. Cuando pongo una Cantidad, le digo que el cursor se vaya a Subtotal.
En el formulario DetalleCompra que hace de subformulario, en sus propiedades-eventos-Tecla de vista previa le tengo puesto que Sí.
(Le he puesto que cuando tenga el foco se ponga en verde, es sólo para que veas que el cursor está ahí). Voy a usar el código que una tecla, en este caso la X. En el evento Al bajar una tecla del cuadro de texto Subtotal le pongo
If KeyCode = 88 Then
Me.Parent!FechaCompra.SetFocus
End If
Es decir, que cuando el cursor esté ahí, si pulso la tecla X se vaya al cuadro de texto Fecha compra del formulario.
Puedes ver, que el cuadro de texto Subtotal ya no tiene el foco y se ha ido al control FechaCompra se ha puesto en amarillo)
Si tengo el formulario con subformulario, y en el subformulario el control Pais es un combinado donde voy a elegir Canadá
Una vez que lo selecciono, el cursor se irá al control Saludo del formulario. Se pondrá amarillo para que puedas comprobar como si va
El código del evento Después de actualizar es simplemente
Private Sub Pais_AfterUpdate()
Me.Parent!Saludo.SetFocus
End Sub
Me da un error en la 1ra línea donde escribo el nombre de subformulario, puse con guion bajo y sin, y lo mismo... ¿qué estaré haciendo mal?
¡Gracias!
No me sale maquina!!
cuando escribo el nombre del campo (Codigo de producto) donde tendría que ir, me tira este error
Te va a servir de enseñanza. Yo siempre llamo a todo, sean campos, tablas, consultas, objetos, controles, etc con el nombre todo junto.
1º Quizá por error le has puesto Nombre Cliente y te puedes volver loco haciendo instrucciones que no caes en que entre Nombre y Cliente hay dos espacios. Si lo pones todo junto no te equivocas.
2º Si pones los nombres separados, en el código de VB tienes que encerrarlo entre corchetes, por ejemplo, [nombre cliente], o entre comillas.
¡Gracias!
No me sale capo...ya no se como mas escribir...todo se prende es rojo....
De todas maneras gracias por la ayuda?
¡Gracias!
No te la puedo creeeeeeeerrrr....ahora funciona al 100% que dolubo que soy.....jajajajajaj
Te agradezco muchísimo la ayuda, esto si que me ahorra muchísimo tiempo...
Y hablando del mismo desplegable donde se puso el código, hay alguna manera de que cambie de color la selección del desplegable, por ejemplo..si selecciono INQUIRY (que lo muestre de un color azul), CONFIRMADO (en color naranja), OUT OF STOCK (rojo), EXPENSE (rojo), ETC.?
Nuevamente, gracias por la ayuda...
En vista diseño del formulario selecciona el combinado y en el ribbon pulsa Formato-Formato condicional-Nueva regla-El valor del campo es igual
Pulsas Aceptar-Nueva regla y te quedará
De forma que cuando elijas Alemania
Si eliges España
Puedes poner 10 reglas.
¡Gracias!
Genial!!!!!!!!!!!!!!, pero no me sale...jajajaj
No se que pasa, probe escribiendo tal cual esta escrito en la base de datos e incluso puse números...
que estoy haciendo mal?
Saludos...
¿Pero has elegido el color de fondo?. Se selecciona en el botón del cubo de pintura. Donde pone la A eliges el color de fuente.
Además lo que estás poniendo a la derecha no es un cuadro combinado es una tabla y éstas no tienen ni código ni formato condicional.
¡Gracias!
SI SI... puse el enfoque en el desplegable y la opción Formato-Formato Condicional creo haber hecho como me dijiste, pero probé en esos 3 que pinte de colores, y nada pasa en la vista de formulario... raro che...
Lo único que puedo hacer es que si quieres, repito, si quieres, mándame un mensaje(solo el mensaje) a [email protected] y te mando un ejemplo.
Si lo haces, en el asunto del mensaje pon tu alias Hugo Quiroga, ya que si no sé quien me escribe ni los abro.
Capos!!!
Siguiendo es este formulario,,,,como hago para que cuando el registro pase a un subformulario, se vaya a un registro especifico?
El comentario en Negro es donde arranca (1)
El comentario en Amarillo es previo a cuando va a pasar el subform (2)
El comentario en Negro al final es donde quisiera que llegue (3)
El comentario en Naranja es nada, ya vuelve al princio solo (4)
Adjunto una imagen de ejemplo mas claro...
Saludos....
Supongo que el cuadro amarillo está en el formulario. Si lo que quieres es que una vez hayas escrito algo en ese cuadro se vaya a un registro nuevo del subformulario, en sus propiedades-eventos-Después de actualizar crea un procedimiento de evento y puedes poner:
Nombredelsubformulario. SetFocus
DoCmd. GoToRecord,, acNewRec
Y si lo que quieres es que después de escribir algo en el cuadro naranja se vaya al primer registro basta con poner, en sus propiedades-eventos-Después de actualizar crea un procedimiento de evento y pon
Docmd. Gotorecord,, acfirst
- Compartir respuesta