Access - Funcion if dejo de funcionar

 
Vista:
sin imagen de perfil

Funcion if dejo de funcionar

Publicado por Luis (32 intervenciones) el 27/10/2022 01:57:58
Tengo un formulario que funcionaba perfectamente, si dejaba un texto en blanco me daba un mensaje, ahora no me funciona, este es el código:

Private Sub cmbProcesar_Click()
If Me.txtbultos_in.Value = Null Or Me.txtbultos_in.Value = "" Then
MsgBox "DEBE COLOCAR EL NUMERO DE BULTOS", vbCritical, "AVISO"
Me.txtbultos_in.SetFocus
Else
If Me.txtunidades_in.Value = Null Or Me.txtunidades_in.Value = "" Then
MsgBox "DEBE COLOCAR EL NUMERO DE UNIDADES", vbCritical, "AVISO"
Me.txtunidades_in.SetFocus
Else
Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_Stock WHERE Codigo= '" & [Forms]![frm_lista_productos]![txtcodigo] & "'", dbOpenDynaset)
With Rs
.Edit
!Cantidad_Bultos = !Cantidad_Bultos - Me.txtbultos_in.Value
!Cantidad_Unidades = !Cantidad_Unidades - Me.txtunidades_in
Me.txtcantidad_bultos = Rs!Cantidad_Bultos
Me.txtcantidad_unidades = Rs!Cantidad_Unidades
Forms!frm_lista_productos.txtbultos.Requery
Forms!frm_lista_productos.txtunidades.Requery
Forms!frm_stock_detalle.txtbultos = Rs!Cantidad_Bultos
Forms!frm_stock_detalle.txtunidades = Rs!Cantidad_Unidades
.Update
End With
Rs.Close
Set Rs = Nothing
MsgBox "EL STOCK DE MODIFICO CORRECTAMENTE", vbInformation, "AVISO"
Me.txtbultos_in.Value = ""
Me.txtbultos_in.Value = Null
Me.txtunidades_in.Value = ""
Me.txtunidades_in.Value = Null
Me.txtbultos_in.SetFocus
End If
End If
End Sub
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

Funcion if dejo de funcionar

Publicado por Anonimo (3316 intervenciones) el 27/10/2022 02:44:36
He efectuado unas ligeras variaciones en el formulario 'IN' que si te convencen las puedes aplicar en el 'Out'.

El problema parecía estar en esta línea:
Set Me.Recordset = Rs

(No aparece la definición del objeto 'Recordset')

Las variaciones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Option Compare Database
Option Explicit
Private Rs As DAO.Recordset
 
Private Sub Form_Load()
   Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_Stock WHERE Codigo= '" & [Forms]![frm_lista_productos]![txtcodigo] & "'", dbOpenDynaset)
    Me.txtcantidad_bultos = Rs!Cantidad_Bultos
    Me.txtcantidad_unidades = Rs!Cantidad_Unidades
    Rs.Close
End Sub
 
Private Sub cmbProcesar_Click()
   If Not IsNumeric(Me.txtbultos_in) Then
      MsgBox "DEBE COLOCAR EL NUMERO DE BULTOS", vbCritical, "AVISO"
      Me.txtbultos_in.SetFocus
      Exit Sub
      End If
   If Not IsNumeric(Me.txtunidades_in) Then
         MsgBox "DEBE COLOCAR EL NUMERO DE UNIDADES", vbCritical, "AVISO"
         Me.txtunidades_in.SetFocus
         Exit Sub
         End If
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_Stock WHERE Codigo= '" & [Forms]![frm_lista_productos]![txtcodigo] & "'", dbOpenDynaset)
        With Rs
            .Edit
            !Cantidad_Bultos = !Cantidad_Bultos + Me.txtbultos_in
            !Cantidad_Unidades = !Cantidad_Unidades + Me.txtunidades_in
            .Update
            Me.txtcantidad_bultos = !Cantidad_Bultos
            Me.txtcantidad_unidades = !Cantidad_Unidades
            Forms!frm_lista_productos.txtbultos.Requery
            Forms!frm_lista_productos.txtunidades.Requery
            Forms!frm_stock_detalle.txtbultos = !Cantidad_Bultos
            Forms!frm_stock_detalle.txtunidades = !Cantidad_Unidades
            .Close
            End With
    MsgBox "EL STOCK DE MODIFICO CORRECTAMENTE", vbInformation, "AVISO"
    Me.txtbultos_in.Value = ""
    Me.txtbultos_in.Value = Null
    Me.txtunidades_in.Value = ""
    Me.txtunidades_in.Value = Null
    Me.txtbultos_in.SetFocus
    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
Imágen de perfil de Eduardo

Funcion if dejo de funcionar

Publicado por Eduardo (317 intervenciones) el 27/10/2022 21:26:07
Tenga precaución en utilizar Not IsNumeric() porque los bultos y unidades no pueden ser igual a cero, si anota cero lo valida como numérico y el código sigue. Le dejo este código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub cmbProcesa_Click()
 
 Dim rs As Recordset
 
If Nz(txtbultos_in) = 0 Then
 MsgBox "DEBE COLOCAR EL NUMERO DE BULTOS", vbCritical, "AVISO"
 Me.txtbultos_in.SetFocus
 Exit Sub
End If
If Nz(txtunidades_in) = 0 Then
 MsgBox "DEBE COLOCAR EL NUMERO DE UNIDADES", vbCritical, "AVISO"
 Me.txtunidades_in.SetFocus
 Exit Sub
End If
 
Set rs = CurrentDb.OpenRecordset("SELECT * FROM T_Stock WHERE Codigo= '" & [Forms]![frm_lista_productos]![txtcodigo] & "'", dbOpenDynaset)
With rs
    .Edit
    !Cantidad_Bultos = !Cantidad_Bultos - Me.txtbultos_in.Value
    !Cantidad_Unidades = !Cantidad_Unidades - Me.txtunidades_in
    Me.txtcantidad_bultos = rs!Cantidad_Bultos
    Me.txtcantidad_unidades = rs!Cantidad_Unidades
    Forms!frm_lista_productos.txtbultos.Requery
    Forms!frm_lista_productos.txtunidades.Requery
    Forms!frm_stock_detalle.txtbultos = rs!Cantidad_Bultos
    Forms!frm_stock_detalle.txtunidades = rs!Cantidad_Unidades
    .Update
End With
rs.Close
Set rs = Nothing
 
 
MsgBox "EL STOCK DE MODIFICO CORRECTAMENTE", vbInformation, "AVISO"
Me.txtbultos_in = Null
Me.txtunidades_in.Value = Null
Me.txtbultos_in.SetFocus
 
 
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

Funcion if dejo de funcionar

Publicado por Anonimo (3316 intervenciones) el 28/10/2022 02:56:50
¿Lo vas a utilizar en tus próximas respuestas?

Como el autor es 'Anónimo' no necesitaras quitarle los títulos de crédito :- ))))

Por cierto: el cero (mal que te pese) es un valor (también lo seria 0,001) otra cosa es que en esa aplicación (cero OR cero = operador haciendo el tonto) sea un parte de trabajo apropiado.
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 Eduardo

Funcion if dejo de funcionar

Publicado por Eduardo (317 intervenciones) el 28/10/2022 03:58:15
Perdón autor de qué?
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

Funcion if dejo de funcionar

Publicado por Anonimo (3316 intervenciones) el 28/10/2022 11:20:40
Venga hombre a estas alturas con esas tonterías de copy & Paste :-))))

Hubiera aplicado las actualizaciones con SQL, pero me pareció adecuado seguir su metodología (que parece que conoce o al menos utiliza).

Por lo menos haz bien las cosas (pensando en los entornos compartidos en los que un ciclo de reloj es importante)
No es extraño que necesites recurrir a entornos en la nube que palian la mala programación (otros automatizan lo que no sabes controlar).

Has cambiado de personaje (antes era uno que quería comparaciones entre Access y otros entornos), ahora parece que utilizas otro personaje para darte jabón (piensa y responde como tu).
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 Eduardo

Funcion if dejo de funcionar

Publicado por Eduardo (317 intervenciones) el 28/10/2022 13:29:56
Deje de ser infantil madure si se considera "programador" . No llegará muy lejos porque sencillamente no sabe a donde ir
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

Funcion if dejo de funcionar

Publicado por Anonimo (3316 intervenciones) el 28/10/2022 17:31:22
Tu y tus fantasmas .....
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

Funcion if dejo de funcionar

Publicado por Luis (32 intervenciones) el 28/10/2022 14:35:24
Excelente muchas gracias Sr. Eduardo, asi lo hice y me funciono perfectamente
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 Eduardo

Funcion if dejo de funcionar

Publicado por Eduardo (317 intervenciones) el 28/10/2022 17:43:11
Gracias y me alegro.Esto es para Anonimo Alias Enrique han seguido la respuesta del fantasma. Acepte y respete las respuestas de otros. Me disculpa Luis pero es que este señor me ataca en todos los foros se cree el rey del Access y esta lejos.
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