Access - Else without if

   
Vista:

Else without if

Publicado por rosy (12 intervenciones) el 09/03/2016 18:28:21
Hola Buen dia
Tengo este codigo pero al abrir mi formulario me aparece el error de "Else without if", si quito el else de (ElseIf Text48 = Combo30 Then) y solo dejo el If entonces solo me ejecuta la primer accion, me podrian ayudar por favor?

gracias

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
Private Sub ser_afterUpdate()
        If Not Ser.text = "" Then
        Dim serint As Variant
        Dim sqlquery As String
        Dim Response As Integer
 
 
 
       If Text48 <> Combo30 Then
         Response = msgbox("Numero de Parte Incorrecto", vbyesNo, "Atencion")
              If Response = vbYes Then
              DoCmd.OpenForm "Login"
              Else
              DoCmd.CloseDatabase
 
 
    ElseIf Text48 = Combo30 Then
        serint = DLookup("Serial", "SerialesCreados", "Serial='" & Ser.text & "'")
        If Not serint = "" Then
            Ser.BackColor = RGB(255, 0, 0)
            Beep
            msgbox ("El Serial Existe")
            Beep
 
        Else
            sqlquery = "Insert into SerialesCreados(Serial,Fecha) Values('" & Ser.text & "','" & Date & "')"
            DoCmd.SetWarnings False
            DoCmd.RunSQL sqlquery
            DoCmd.SetWarnings True
            Ser.BackColor = RGB(0, 255, 0)
            Ser.SetFocus
 
 
    End If
    End If
    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

Else without if

Publicado por JOSE (741 intervenciones) el 09/03/2016 18:55:49
HOLA ROSY

ESO QUE ESTAS HACIENDO SE TE COMPLICA MUCHO Y NO SE ENTIENDE BIEN

puedes usar la instruccion SELECT - CASE



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
Private Sub ser_afterUpdate()
If Not Ser.text = "" Then
Dim serint As Variant
Dim sqlquery As String
Dim Response As Integer
 
 
SELECT CASE  Text48
 
CASE IS  <> COMBO30
Response = msgbox("Numero de Parte Incorrecto", vbyesNo, "Atencion")
If Response = vbYes Then
DoCmd.OpenForm "Login"
Else
DoCmd.CloseDatabase
 
 
CASE IS  = COMBO30
serint = DLookup("Serial", "SerialesCreados", "Serial='" & Ser.text & "'")
If Not serint = "" Then
Ser.BackColor = RGB(255, 0, 0)
Beep
msgbox ("El Serial Existe")
Beep
 
ELSE
sqlquery = "Insert into SerialesCreados(Serial,Fecha) Values('" & Ser.text & "','" & Date & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL sqlquery
DoCmd.SetWarnings True
Ser.BackColor = RGB(0, 255, 0)
Ser.SetFocus
END IF
END SELECT
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

Else without if

Publicado por rosy (12 intervenciones) el 09/03/2016 19:38:14
Gracias Jose, la verdad yo no se nada de visual basic, entonces lo poco que he hecho ha sido basado en publicaciones y/o tutoriales, ya copie y pegue el codigo que me enviaste pero me aparece el erro: compile error: case without select case. te envio pantalla

gracias

selectcase1
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

Else without if

Publicado por JOSE (741 intervenciones) el 09/03/2016 20:09:57
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
Private Sub ser_afterUpdate()
If Not Ser.text = "" Then
Dim serint As Variant
Dim sqlquery As String
Dim Response As Integer
 
 
SELECT CASE Text48
 
CASE IS <> COMBO30
Response = msgbox("Numero de Parte Incorrecto", vbyesNo, "Atencion")
If Response = vbYes Then
DoCmd.OpenForm "Login"
Else
DoCmd.CloseDatabase
 
'-------------------- YO CREO QUE AQUI TE FALTA
END IF
 
CASE IS = COMBO30
serint = DLookup("Serial", "SerialesCreados", "Serial='" & Ser.text & "'")
If Not serint = "" Then
Ser.BackColor = RGB(255, 0, 0)
Beep
msgbox ("El Serial Existe")
Beep
 
ELSE
sqlquery = "Insert into SerialesCreados(Serial,Fecha) Values('" & Ser.text & "','" & Date & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL sqlquery
DoCmd.SetWarnings True
Ser.BackColor = RGB(0, 255, 0)
Ser.SetFocus
END IF
END SELECT
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

Else without if

Publicado por rosy (12 intervenciones) el 09/03/2016 20:32:18
!!!!!!Eres un buenaso JOSE, mis repetos!!!!!

vas a decir que soy muy fastidiosa pero si quisiera agregar esta sentencia DoCmd.OpenForm "Login" en esta parte del codigo, como seria, es decir si el mensaje "el serial Existe" aparece que me abra la forma login

1
2
3
4
5
6
7
CASE IS = COMBO30
serint = DLookup("Serial", "SerialesCreados", "Serial='" & Ser.text & "'")
If Not serint = "" Then
Ser.BackColor = RGB(255, 0, 0)
Beep
msgbox ("El Serial Existe")
Beep

mil gracias
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

Else without if

Publicado por jose (741 intervenciones) el 09/03/2016 21:17:11
Gracias Rosy,( es un nombre muy bonito y te llamas igual que mi hermana), pero no entiendo que significa " buenaso"

y ahora a lo que estamos


suponiendo que Loguin sea el nombre del formulario que quieres abrir

1
2
3
4
5
6
7
8
CASE IS = COMBO30
serint = DLookup("Serial", "SerialesCreados", "Serial='" & Ser.text & "'")
If Not serint = "" Then
Ser.BackColor = RGB(255, 0, 0)
Beep
msgbox ("El Serial Existe")
DoCmd.OpenForm "Login", acNormal, "", "", , acNormal
Beep
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Else without if

Publicado por rosy (12 intervenciones) el 10/03/2016 01:51:58
Gracias por tu ayuda Jose!!

buenaso, es como decir que eres experto o tener mucho conocimiento sobre el tema, asi lo usamos aqui entre amigos.

saludos y mil gracias!!
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

Else without if

Publicado por rosy (12 intervenciones) el 22/03/2016 02:30:25
Hola Jose, buenas tardes, oye recurro a ti nuevamente haber si puedes ayudarme, me gustaria tener en mi formulario de access un campo que este registrando los ingresos que se hacen a la base de datos yo le llamo algo asi como "contador", que cambiaria constantemente es decir si hago un ingreso en ese campo deberia aparecer 1, si hago otro ingreso incrementaria a 2 y asi sucesivamente, esto lo hice con un query4 y luego lo asinge a una macro3, despues en vb lo ejecuto, sin embargo esto funciona a medias porque cuando hago el primer ingreso no cuenta nada tengo que cerrar el formulario y luego lo vuelvo a abrir y ya el segundo registro si lo empieza a contar y se puede visualizar cuando cambia de 1 a 2 PERO me aparece un mensaje de error 7878, esperando me puedas ayudar te envio tmb las pantallas de mi archivo,
1 es el query
2 es el macro y vb
3 el erro que aparece cuando se actualiza. (el campo donde se cuentan los registros es el "id2"




de antemano muchisimas gracias
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

Else without if

Publicado por rosy (12 intervenciones) el 24/03/2016 16:39:41
Hola JOse, buen dia

te comento que ya pude solucionar el problema pero ahora me surgio otro espero me puedas ayudar, gracias
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