Access - No pasar a subformulario

 
Vista:
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 22/02/2023 04:10:43
Hola, necesito saber si hay algo que impida pasar o escribir en un subformulario si dos campos del formulario no estan llenos.

En un campo por ejemplo del formulario tengo esto:


Private Sub TipoCliente_AfterUpdate()
Me.nombre = Me.TipoCliente.Column(2)
DoCmd.GoToControl "[Sub_Detalle_Pedidos]"



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

No pasar a subformulario

Publicado por Anonimo (3316 intervenciones) el 22/02/2023 09:46:47
Al menos hay dos puntos en los que se puede generar ese impedimento, la salida del formulario principal y la entrada al subformulario

La segunda solo tendría sentido si el subformulario solo se puede abrir como subformulario de ese principal (para poder evaluar si los campos AAA y BBB del principal (su Parent) tienen valores adecuados

La primera se aplicará en el formulario principal y su evento 'antes de actualizar' que consistiría en verificar que (cuando menos) los/sus campos AAA y BBB tienen valores adecuados y de no tenerlos abortar la salida.

Para poder desplazarse al subformulario, el principal tiene que salvar sus cambios y para salvarlos (guardar el registro) todos aquellos campos que en diseño tengan activada su propiedad 'Requerido' (independiente de AAA y BBB que por lo solicitado no la tienen activada) han de tener valores correctos.
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 23/02/2023 01:12:11
Hola, y como puedo poner en la primera que aborte la salida, con una macro?
Y en la segunda?

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.TipoCliente.Value <> "" Then
MsgBox "El campo no puede quedar vacio"
Me.TipoCliente.Requery
End If
End Sub

no puedo
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

No pasar a subformulario

Publicado por Anonimo (3316 intervenciones) el 23/02/2023 10:35:42
Partiendo del ejemplo:

1
2
3
4
5
6
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.TipoCliente.Value <> "" Then
MsgBox "El campo no puede quedar vacio"
Me.TipoCliente.Requery
End If
End Sub

Lo correcto seria evaluar TODOS los datos que son indispensables y de no ser correctos: abortar el evento.

1
2
3
4
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.TipoCliente <> "" Then MsgBox "El campo no puede quedar vacio": Me.TipoCliente.SetFocus : Cancel = True: Exit Sub
If Me.xxxxxxx <> "" Then MsgBox "El campo no puede quedar vacio": Me.xxxxxxx.SetFocus : Cancel = True
End Sub

En la ultima línea no se necesita una salida de emergencia (Exit Sub) porque finaliza el evento, si no es la ultima (hay mas verificaciones) añadir la salida de emergencia.
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 23/02/2023 19:19:24
Hola, no me sale. Ya no importa si paso de formulario a subformulario, me explico otra vez, no dejar escribir en subformulario hasta checar si en el formulario dos campos están llenos. TipoCliente, Nombre
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

No pasar a subformulario

Publicado por Anonimo (3316 intervenciones) el 23/02/2023 19:55:23
En mi respuesta he utilizado la condición que has propuesto, pero si el registro es nuevo (o se dan las condiciones) el contenido de los campos a verificar puede ser una cadena vacia o un NULL (y el NULL no se contemplo).


1
2
3
4
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Nz(Me.TipoCliente, "") <> "" Then MsgBox "El campo no puede quedar vacio": Me.TipoCliente.SetFocus : Cancel = True: Exit Sub
If Nz(Me.Nombre, "") <> "" Then MsgBox "El campo no puede quedar vacio": Me.xxxxxxx.SetFocus : Cancel = True
End Sub
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 23/02/2023 20:18:13
No sale, puedo pasar a subformulario y escribir sin los datos requeridos en formulario
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

No pasar a subformulario

Publicado por Anonimo (3316 intervenciones) el 24/02/2023 00:06:59
Eso solo se puede producir si no hay cambios en el formulario pues no se genera el evento.

La solución esta en un campo que se actualice y active la propiedad Dirty, eso forzará el evento y la consiguiente verificación.

Hay una alternativa contemplada en mi primera respuesta:

Al menos hay dos puntos en los que se puede generar ese impedimento, la salida del formulario principal y la entrada al subformulario

La segunda solo tendría sentido si el subformulario solo se puede abrir como subformulario de ese principal (para poder evaluar si los campos AAA y BBB del principal (su Parent) tienen valores adecuados


Si el subformulario solo se utilizase en conjunto con este principal, se puede aplicar la alternativa de evaluar si alguno de los campos no tiene el valor adecuado y desviar el foco al campo erróneo, cuando ambos superen el reto: el subformulario será accesible.

Nota:
Es complicado trabajar con respuestas exiguas e inventando las situaciones (solo se conoce de la aplicación lo que publicas y solo tú sabes como aplicas las respuestas que obtienes).
Facilitara encontrar soluciones el tener información mas amplia (sobre todo: como y cuando se produce el error valores en los campos y lo que hace el usuario en ese momento como por ejemplo: entrar al subformulario desde otra ubicación que no sea el formulario principal).
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 24/02/2023 03:46:31
Estoy agregando los cambos del formulario al subformulario, asi si me reconoce que no estan llenos, lo que quiero hacer es que cuando me diga el mensaje, que no estan llenos, me mande al control del formulario, pero no se como, una vez me dijiste como hacerlo de formulario a subformulario asi:
DoCmd.GoToControl "[Sub_Detalle_Pedidos]"

pero le pongo
DoCmd.GoToControl "[Frm_Pedidos]" y me manda error
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 24/02/2023 04:50:15
Captura-de-pantalla-2023-02-23-214957

asi esta mi formulario y subformulario, me manda error si pongo la clave del producto sin tener el campo lleno de nombre o tipo de cliente, por eso es necesario checar antes que esten llenos en mi formulario, asi que agregue esos campos en mi subformulario ocultos asi:
=[Formularios]![Frm_Pedidos]![Nombre]
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 24/02/2023 05:13:16
Error 2471
pidiéndome el precio, ya que este es de acuerdo al tipo o nombre del formulario
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
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 24/02/2023 07:09:55
y cuando le pongo que vaya al foco nombre o tipo de cliente me manda error 2110 no se puede mover a foco
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

No pasar a subformulario

Publicado por Anonimo (3316 intervenciones) el 24/02/2023 15:08:51
Como plantearía la alternativa (y sin mensajes)

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Sub_Detalle_Pedidos_Enter()
If Nz(Me.TipoCliente, "") = "" Then Me.TipoCliente.SetFocus: Me.TipoCliente.BackColor = 62207: Exit Sub
If Nz(Me.Nombre, "") = "" Then Me.Nombre.SetFocus: Me.Nombre.BackColor = 62207: Exit Sub
End Sub
 
Private Sub Nombre_LostFocus()
Me.Nombre.BackColor = 16777215
End Sub
 
Private Sub TipoCliente_LostFocus()
Me.TipoCliente.BackColor = 16777215
End Sub

El numero de color lo da la mezcla de (RGB) los tres colores basicos (rojo, verde, azul) mas las propiedades: trasparencia ... etc.
(selecionas un cuadro de texto le adjudicas los valores que den el resultado deseado y en las propiedades del objeto esta el color).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

No pasar a subformulario

Publicado por Paulina (91 intervenciones) el 24/02/2023 22:09:21
Hola Anónimo, quedo perfecto, así era como quería, ahora ya no me deja pasar al subformulario hasta que llene los datos, gracias otra vez.
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
sin imagen de perfil

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Do not go

Publicado por pattern (1 intervención) el 23/02/2023 20:00:49
Understanding Trading Strategies
A trading strategy includes a well-considered investing and trading plan that specifies investing objectives, risk tolerance, time horizon, and tax implications. Ideas and best practices need to be researched and adopted then adhered to. Planning for trading includes developing methods that include buying or selling stocks, bonds, ETFs, or other investments and may extend to more complex trades such as options or futures.

Placing trades means working with a broker or broker-dealer and identifying and managing trading costs including spreads, commissions, and fees. Once executed, trading positions are monitored and managed, including adjusting or closing them as needed. Risk and return are measured as well as portfolio impacts of trades and tax implications.
توصيات الذهب


The longer-term tax results of trading are a major factor and may encompass capital gains or tax-loss harvesting strategies to offset gains with losses.
Developing a Trading Strategy
There are many types of trading strategies, but they are based largely on either technicals or fundamentals. The common thread is that both rely on quantifiable information that can be backtested for accuracy. Technical trading strategies rely on technical indicators to generate trading signals. Technical traders believe all information about a given security is contained in its price and that it moves in trends.
توصيات العملات

For example, a simple trading strategy may be a moving average crossover whereby a short-term moving average crosses above or below a long-term moving average.


Fundamental trading strategies take fundamental factors into account. For instance, an investor may have a set of screening criteria to generate a list of opportunities. These criteria are developed by analyzing factors such as revenue growth and profitability.
توصيات الاسهم الامريكية



There is a third type of trading strategy that has gained prominence in recent times. A quantitative trading strategy is similar to technical trading in that it uses information relating to the stock to arrive at a purchase or sale decision. However, the matrix of factors that it takes into account to arrive at a purchase or sale decision is considerably larger compared to technical analysis. A quantitative trader uses several data points—regression analysis of trading ratios, technical data, price—to exploit inefficiencies in the market and conduct quick trades using technology.

Special Considerations
Trading strategies are employed to avoid behavioral finance biases and ensure consistent results. For example, traders following rules governing when to exit a trade would be less likely to succumb to the disposition effect, which causes investors to hold on to stocks that have lost value and sell those that rise in value. Trading strategies can be stress-tested under varying market conditions to measure consistency.

Profitable trading strategies are difficult to develop, however, and there is a risk of becoming over-reliant on a strategy. For instance, a trader may curve fit a trading strategy to specific backtesting data, which may engender false confidence. The strategy may have worked well in theory based on past market data, but past performance does not guarantee future success in real-time market conditions, which may vary significantly from the test period.

Read more on :
Https://www.gold-pattern.com/en
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