Programación General > Visual Basic 6.0 e inferiores
Procedimiento Demasiado Largo?
DiabloRojo:
A ver, te hago el mismo comentario que hace Sagutxo, intenta utilizando una estructura de decisión Select Case... End Case en tu procedimiento. Además, no creo que el uso de esta línea de código sea el correcto:
--- Citar --- If Text13(0).Text = adcArticulos.Recordset.Fields("Talla1") Then
--- Fin de la cita ---
Me explico, adcArticulos.Recordset.Fields("Talla1") le indica a VB, por decirlo de alguna manera, que tome en cuenta un campo determinado ya sea para leer de él algún dato o para escribir en el mismo. En el caso de que desees leer un valor de ese campo tienes que indicarlo mediante alguna instrucción (creo que me hice un lío tratando de expresar la idea. Lo que quiero decir es que dicha instrucción no dice sobre qué registro específico deseas hacer la lectura del valor).
Tu código podría ser algo como esto:
--- Código: Text --- Select Case Text13(0).Text Case "Talla1" Case "Talla2" . . . Case "TallaN" End Select
Espero que sea de alguna utilidad.
DiabloRojo
_vgt_:
Muxas gracias DiabloRojo... tomo buena nota :lol:
desarrollo:
Hola vgt :lol: ,
la verdad esta un poco extenso el codigo pero lo que quieres es algo en comun.... (como las tallas y sus unidades) lo que pienso que haces en barrerte toda la tabla y solo comparar el campo "talla" y modificar sus "unidades"
Mira lo que yo hize al observar tu codigo es resolver de cierta manera el control adodc (si es que lo utilizas... :unsure: )
For y = 1 To 20 'determino que tienes 20 tallas
x = "Talla" & y
xx = "Unidades" & y
If Text13(1).Text = adcArticulos.Recordset.Fields(x) Then
adcArticulos.Recordset.Edit
adcArticulos.Recordset.Fields(xx) = adcArticulos.Recordset.Fields(xx) - Val(Text14(1).Text)
adcArticulos.Recordset.Update
End If
Next y
observar que lo tienes que hacer para cada control del arreglo (osea 2 veces)... ojala te salga - yo no lo probe tal vez sea esa la solucion...
PD: otra manera de llamar a un campo de "adcArticulos.Recordset.Fields(nombrecampo)" puede ser "adcArticulos.Recordset!nombrecampo" (gracias claudia x ayuda...)
suerte desarrollo :comp:
_vgt_:
Muxisimas gracias Desarrollo... voy a ver si me kito esas salvajadas de codigo xD
Muchas gracias a todos :lol:
jhonilson:
:comp: Yo tuve ese problema y por desgracia mi codigo no se podia resumir y lo hice fue lo siguiente: pique el codigo en dos uno mas grande que el otro lo suficiente como para que no me arrojase el error:Procedimiento demasiado largo(este error se debe a que dentro de un control el codigo no debe exceder de los 64 kb), luego agregue otro command2 con la propiedad visible=false y el trozo que le quite a mi codigo se lo agregue a este. Despues solo te queda llamar a este asi: call command2_click y este ejecutara el codigo.
Observa que para esto debes saber muy bien donde vas a picar tu codigo, por ejemplo: si tienes un pocoton de condicional, entonces en algunos condicionales(en los que esten sobrando y dandote errores por ocupar tanto espacio) coloca el evento Call command2_click(). Yo no he leido tu codigo porque me da flojera, pero ten por seguro te esto te va a funcionar a la perfeccion, ya que conmigo funciono, alguna preguntaal respecto no dudes en preguntarme.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa