Como evitar un goto

10/08/2006 - 14:06 por Emilio | Informe spam
Hola a tod@s

estoy empezando a a hacer mis pinitos en VB 2005 y mas perdido que un pulpo
en un garaje :S

Trato de migrar un proceso VB6 y me quedaría algo así
If FFH_A_020.IsGood And FFH_A_020.IsTrigger Then

datEvento = FFH_A_020.PrevEvent(Now).LocalDate

sngValor = FFH_A_020.Value

strTag = FFH_A_020.GetAttribute("Tag")

GoTo Guardar

End If

este proceso muchas veces y como supondréis la etiqueta Guardar al final de
todo, puesto que se supone que goto está requete-obsoleto, ¿de que manera
puedo evitarlo?. El proceso se dispara y cada vez habrá de ejecutarse uno y
solo uno de los muchos if, de ese modo intento que al menos no recorra todos
los if restantes tras la primera y unica coincidencia.

¿Alguna alternativa?

Gracias anticipadas

Saludos a tod@s
Emilio [MVP Access 2005]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua [mvp vb]
10/08/2006 - 15:17 | Informe spam
"Emilio" <miliuco56 ARROBA hotmail.com> escribió en el mensaje
news:%
Hola a

estoy empezando a a hacer mis pinitos en VB 2005 y mas perdido que un
pulpo
en un garaje :S

Trato de migrar un proceso VB6 y me quedaría algo así
If FFH_A_020.IsGood And FFH_A_020.IsTrigger Then

datEvento = FFH_A_020.PrevEvent(Now).LocalDate

sngValor = FFH_A_020.Value

strTag = FFH_A_020.GetAttribute("Tag")

GoTo Guardar

End If

este proceso muchas veces y como supondréis la etiqueta Guardar al final
de
todo, puesto que se supone que goto está requete-obsoleto, ¿de que manera
puedo evitarlo?. El proceso se dispara y cada vez habrá de ejecutarse uno
y
solo uno de los muchos if, de ese modo intento que al menos no recorra
todos
los if restantes tras la primera y unica coincidencia.

¿Alguna alternativa?



Hola

Para sugerirte una solución habria que ver un poco mas del procedimiento.

Hasta donde entiendo, dependiendo de ciertas condiciones asignas a las
variables datEvento, sngValor y strTag diferentes valores, y luego los
guardas.

Una estructura posible seria esta:

If C1 Then
AsignarConjunto1
ElseIf C2 Then
AsignarConjunto2
...
Else
AsignarConjuntoN
End If
SecuenciaGuardar

Salud!
Respuesta Responder a este mensaje
#2 Emilio
11/08/2006 - 09:53 | Informe spam
Gracias Leonardo, ¿en que estaría pensando yo? :$ en mi descargo decir que
como en algunos casos son mas de 50 las veces que se repite ese tipo de
calculo, que facil si pudiera recorrer una colección :S.

El proceso es ese mismo que ves repetido muuuuuchas veces con distintas
variables de entrada y una instrucción final que guarda el dato en una común
a todos los datos, en resumen trato de refundir muchas variables,
estructuras, en una unica.

Muchas gracias de nuevo, tema resuelto.

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio


"Leonardo Azpurua [mvp vb]" <l e o n a r d o (arroba) m v p s (punto) o r g>
escribió en el mensaje news:%

"Emilio" <miliuco56 ARROBA hotmail.com> escribió en el mensaje
news:%
> Hola a
>
> estoy empezando a a hacer mis pinitos en VB 2005 y mas perdido que un
> pulpo
> en un garaje :S
>
> Trato de migrar un proceso VB6 y me quedaría algo así
> If FFH_A_020.IsGood And FFH_A_020.IsTrigger Then
>
> datEvento = FFH_A_020.PrevEvent(Now).LocalDate
>
> sngValor = FFH_A_020.Value
>
> strTag = FFH_A_020.GetAttribute("Tag")
>
> GoTo Guardar
>
> End If
>
> este proceso muchas veces y como supondréis la etiqueta Guardar al final
> de
> todo, puesto que se supone que goto está requete-obsoleto, ¿de que


manera
> puedo evitarlo?. El proceso se dispara y cada vez habrá de ejecutarse


uno
> y
> solo uno de los muchos if, de ese modo intento que al menos no recorra
> todos
> los if restantes tras la primera y unica coincidencia.
>
> ¿Alguna alternativa?

Hola

Para sugerirte una solución habria que ver un poco mas del procedimiento.

Hasta donde entiendo, dependiendo de ciertas condiciones asignas a las
variables datEvento, sngValor y strTag diferentes valores, y luego los
guardas.

Una estructura posible seria esta:

If C1 Then
AsignarConjunto1
ElseIf C2 Then
AsignarConjunto2
...
Else
AsignarConjuntoN
End If
SecuenciaGuardar

Salud!


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida