Access - No responde la ejecución de un programa vb con dim (30)

   
Vista:

No responde la ejecución de un programa vb con dim (30)

Publicado por Juan (5 intervenciones) el 30/09/2013 23:01:36
Tengo el siguiente programa. No responde a la ejecución desde la ventana inmediato de vb. He hecho pruebas, y cuando le quitó la matriz, si se ejecuta. Sabe alguien cual puede ser el problemas?..

Muchas 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Sub CalcEstrellas()
'Calcula las estrellas en cada hoyo en función de los handicaps del jugador y del hoyo
 
    Dim HcpJ As Integer  'para las pruebas
    HcpJ = InputBox("Introduce el Handicap de juego") 'despues se saca de la pantalla
 
    Dim Caso As Integer
    Dim HcpH(1 To 18) As Integer
    Dim i As Integer
    Dim Puntos(1 To 18) As Integer
    HcpH(1) = 4
     HcpH(2) = 14
        HcpH(3) = 2
          HcpH(4) = 11
            HcpH(5) = 18
             HcpH(6) = 7
              HcpH(7) = 15
                HcpH(8) = 5
                  HcpH(9) = 9
                    HcpH(10) = 3
                      HcpH(11) = 13
                        HcpH(12) = 1
                          HcpH(13) = 12
                            HcpH(14) = 17
                              HcpH(15) = 8
                                HcpH(16) = 16
                                  HcpH(17) = 6
                                    HcpH(18) = 10
 
 
 
 
 
    If HcpJ < 0 Then
          Caso = 1
    Else
    If HcpJ = 0 Then
          Caso = 2
    Else
    If HcpJ > 18 Then
          Caso = 3
    Else
          Caso = 4
    End If
 
 
    Select Case Caso
      Case 1                            ' Handicap jgo < 0
        For i = 1 To 18
           If HcpJ >= HcpH(1) Then
              Puntos(i) = -1
           Else
              Puntos(i) = 0
           End If
        Next i
 
      Case 2                             ' Handicap de jgo = 0
        For i = 1 To 18
            Puntos(i) = 0
        Next i
 
 
      Case 3                              ' Handicap jgo > 18
         For i = 1 To 18
             Puntos(i) = 1
         Next i
         HcpJ = (HcpJ - 18)
         For i = 1 To 18
            If HcpJ >= HcpH(i) Then
                  Puntos(i) = (Puntos(i) + 1)
            End If
 
      Case Else                         ' Handicap jgo del 1 al 18
        For i = 1 To 18
          If HcpJ >= HcpH(i) Then
          Puntos(i) = 1
        Next i
 
       MsgBox "Handicap de juego = " & HcpJ
 
    For i = 1 To 18
      MsgBox "Hoyo " & i & " " & Estrellas(i)
    Next i
 
 
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
Imágen de perfil de Antoni Masana

No responde la ejecución de un programa vb con dim (30)

Publicado por Antoni Masana (2 intervenciones) el 01/10/2013 12:46:30
He corregido algunos errores que he detectado en el codigo marcados con sub-rayado

Funciona mejor si escribes TODO el codigo, sobre todo NEXT, END IF y END SELECT correspondientes.

Y por cierto donde esta el dim (30)

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Sub CalcEstrellas()
'Calcula las estrellas en cada hoyo en función de los handicaps del jugador y del hoyo
 
    Dim HcpJ As Integer  'para las pruebas
    Dim Caso As Integer
    Dim HcpH(1 To 18) As Integer
    Dim i As Integer
    Dim Puntos(1 To 18) As Integer
 
    HcpJ = InputBox("Introduce el Handicap de juego") 'despues se saca de la pantalla
 
    HcpH(1) = 4
    HcpH(2) = 14
    HcpH(3) = 2
    HcpH(4) = 11
    HcpH(5) = 18
    HcpH(6) = 7
    HcpH(7) = 15
    HcpH(8) = 5
    HcpH(9) = 9
    HcpH(10) = 3
    HcpH(11) = 13
    HcpH(12) = 1
    HcpH(13) = 12
    HcpH(14) = 17
    HcpH(15) = 8
    HcpH(16) = 16
    HcpH(17) = 6
    HcpH(18) = 10
 
    If HcpJ < 0 Then
       Caso = 1
    Else
       If HcpJ = 0 Then
          Caso = 2
       Else
          If HcpJ > 18 Then
             Caso = 3
          Else
             Caso = 4
          End If
       End If
    End If
 
    Select Case Caso
       Case 1                            ' Handicap jgo < 0
           For i = 1 To 18
              If HcpJ >= HcpH(1) Then
                 Puntos(i) = -1
              Else
                 Puntos(i) = 0
              End If
           Next i
 
      Case 2                             ' Handicap de jgo = 0
          For i = 1 To 18
              Puntos(i) = 0
          Next i
 
      Case 3                              ' Handicap jgo > 18
          For i = 1 To 18
              Puntos(i) = 1
          Next i
 
          HcpJ = (HcpJ - 18)
 
          For i = 1 To 18
              If HcpJ >= HcpH(i) Then
                 Puntos(i) = (Puntos(i) + 1)
              End If
          Next  i
 
      Case Else                         ' Handicap jgo del 1 al 18
          For i = 1 To 18
              If HcpJ >= HcpH(i) Then
                 Puntos(i) = 1
              End If
          Next i
    End Select
 
    MsgBox "Handicap de juego = " & HcpJ
 
    For i = 1 To 18
        MsgBox "Hoyo " & i & " " & Puntos(i)
    Next i
End Sub


Una pregunta más: ¿Que tiene esto que ver con ACCESS?
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

No responde la ejecución de un programa vb con dim (30)

Publicado por Juan (5 intervenciones) el 01/10/2013 17:05:08
Muchas gracias Antoni,
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 responde la ejecución de un programa vb con dim (30)

Publicado por Juan (5 intervenciones) el 01/10/2013 17:05:09
Muchas gracias Antoni,
Voy a modificar el código con tus sugerencias y te cuento los resultados.
Respecto a Dim (30), fue por ponerle un valor, pero realmente es 18. En cuanto a lo que tiene que ver con Access, pues es que estoy programándolo con Access y completándolo con código.

De nuevo muchas 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

No responde la ejecución de un programa vb con dim (30)

Publicado por Juan (5 intervenciones) el 01/10/2013 17:24:46
Muchas gracias Antoni,
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 responde la ejecución de un programa vb con dim (30)

Publicado por Juan (5 intervenciones) el 01/10/2013 20:36:17
Todo funciona perfectamente.
Gracias Antoni.
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