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
Val: 78
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

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

Publicado por Antoni Masana (32 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