Visual Basic.NET - Tengo Un IF para decidir entre dos opciones y no se ejecuta

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Miguel (281 intervenciones) el 03/10/2023 17:22:36
Este es el código cuando el cursor se posiciona en el campo txtFechaFactura ejecuta la función contrlFecha(TipoFecha).

Cuando se ejecuta la función CotrolFecha verifica el valor TipoFecha se posiciona en el IF correspondiente. Pues los IF en vez de ejecutarse lo que hacen es retornan el cursor a txtFechaFactura.text sin ejecutar el contenido.

Pues no entiendo porque actua de esa forma si asi trabajo en todo el proyecto sin ningún problema. Por esa razón se me hace incopresible el funcionamiento te tiene ahora.

Puede alguien el darme una explicación del porque ocurre.


Private Sub txtFechaFactura_GotFocus(sender As Object, e As EventArgs) Handles txtFechaFactura.GotFocus
TipoFecha = "FechaFactura"
controlFecha(TipoFecha)
End Sub

Private Sub controlFecha(ByVal TipoFecha As String)
Select Case TipoFecha
Case "FechaFactura"
If (MessageBox.Show("¿Desea modificar la fecha asignada para la facturación?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
txtCalendario.Visible = True
txtCalendario.Focus()
End If
Case "FechaInicial"
If (MessageBox.Show("¿Desea modificar la fecha asignada para inicio de obra?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
txtCalendario.Visible = True
txtCalendario.Focus()
End If
End Select
End Sub

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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Phil Rob (1554 intervenciones) el 03/10/2023 18:05:31
Hola Miguel,

No este parece posible !

Debes poner un punto de interrupción (F9) sobre la línea Select Case TipoFecha y después, ejecutar paso a paso (F10) mirando el valor de la variable TipoFecha. Entonces, quizá podrás comprender.

Bon travail ...
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
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Miguel (281 intervenciones) el 03/10/2023 23:11:32
Hola Phil. Hacia tiempo que no coincidiamos aunque la verdad es que en esat último año y medio apenas he entrado. Lo que dices de la variable está bien pues a la funcion de ControlFecha se la paso como parámetro y el error como puedes observar está ya en el If de la propia pregunta.
Lo que me llama la atención enormente es que este tipo de IF pregunta para validar la respuesta yo lo tengo usado en todo el proyecto posiblemente en unos 50 ó 60 lugares dentro de los 17 formularios que componen el proyecto. Así que estoy desconcertado.
Me gustaría pasarte todo el código completo para que quizas puedas observar algo que a mi se me escapa. Pero para eso necesitaría un correo.

Un saludo
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Phil Rob (1554 intervenciones) el 04/10/2023 08:02:19
Hola Miguel,

Has olvida mi dirección de correo ? No puedo la escribir aquí pero te envió mensaje por el sistema de correo de este sitio.
También he intentado te enviar mensaje sobre tu vieja dirección a [email protected].

Sobre tu problema, veo que utilizas las herramientas "focus". Hace mucho que no las utilizo.
Reemplazo los eventos :
GotFocus por Enter
LostFocus por Leave
y reemplazo el método Focus por Select.

Todo va mejor.

Por ejemplo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub txtFechaFactura_Enter(sender As Object, e As EventArgs) Handles txtFechaFactura.Enter
TipoFecha = "FechaFactura"
controlFecha(TipoFecha)
End Sub
 
Private Sub controlFecha(ByVal TipoFecha As String)
Select Case TipoFecha
Case "FechaFactura"
If (MessageBox.Show("¿Desea modificar la fecha asignada para la facturación?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
txtCalendario.Visible = True
txtCalendario.Select()
End If
Case "FechaInicial"
If (MessageBox.Show("¿Desea modificar la fecha asignada para inicio de obra?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
txtCalendario.Visible = True
txtCalendario.Select()
End If
End Select
End Sub

Espero recibir tu dirección de correo o tu numero para WhatsApp.
...
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
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Miguel (281 intervenciones) el 06/10/2023 07:00:35
Hola Phil ya he dado con el problema. El error mio ha sido por hacer la llamada a ControlFecha desde el GotFocus. Haciéndolo con LostFocus funciona correctamente.

Tu correo no es que lo olvidara lo que ha ocurrido es que yo lcomo correo para recuperación de claves tenía en de mi esposa pero desgraciadamente mi esposa falleció el 30 de Mayo del año pasado. Al mes di de baja su teléfono móvil dado que no estaba para pensar y al hacerlo me quede sin su correo y había olvidado la password del mio y durante todo un año he intentado con Google a través de correos para poder generar una clave pero sin el correo de mi esposa no he conseguido nada y es por lo que he perdido todos los correos de los contactos que no había dejado guardadas las claves.

Un saludo
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Phil Rob (1554 intervenciones) el 06/10/2023 07:59:51
Hola Miguel,

Lo siento con el fallecimiento de tu esposa, condolencias.

Cuando, no mas acceso a tus cuentas Gmail, probamente pierdes también todas informaciones de tus contactos.
Si tienes mi dirección de coreo, envias me un mensaje. De este manera, tendré tu nueva dirección de correo.
Si no la encuentras, miras tu correo privado en este sitio (clic la flecha a la derecha de tu nombre, parte superior de esta pagina), te envié las informaciones.

Por tu problema, LostFocus no es el mismo momento que GotFocus. Si necesario el momento de GotFocus, utilizas Enter y este funcionara.

...
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Tengo Un IF para decidir entre dos opciones y no se ejecuta

Publicado por Phil Rob (1554 intervenciones) el 06/10/2023 08:25:12
Miguel,

No puedo, escribir mi dirección de correo importante aquí, en publico.
Pero, si prefieres, envias mensaje al dirección : [email protected].

De esta manera, tendremos de nuevo un medio privado de comunicación.

...
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