Problema con variable global.

Ana.
28 de Abril del 2005
Hola, tengo esta variable creada en un módulo:
Global sw As Integer

Quiero utilizarla como switch para controlar que en un formulario se me incremente el número de factura o no dependiendo de lo que quiera hacer, ya que cuando entro por la opción modificar, no quiero que esto ocurra, asi que en el form_principal (es donde elijo si modifico, elimino o agrego), en modificar_btn_click(), pongo el sw=1, y en el resto de casos (agregar, eliminar) lo pongo a 0. Bien, pues ya en el form_facturas, en el load, puse esto:

If (sw = 0) Then

Numfact_txt.Text = consulta.Fields("num_factura") + 1

End If

No sé si es que lo he puesto mal o qué pasa, pero sigue estando igual que antes y se me incrementa la factura de todas formas.
Podeis ayudarme por favor?. Muchísimas gracias!! :).

Kasi
28 de Abril del 2005
Al cargar el form_facturas siempre se te va a inicializar sw con el valor 0 asi que siempre que lo cargues te incrementará el numero de factura. Para que no te inicialice a 0 y coga el valor que tenga asignado (por ejemplo sw=1) tendrás que dimensionar la variable sw como Static

Ana.
28 de Abril del 2005
Perdona mi ignorancia pero...cómo se hace eso? jaja, y dónde? en el módulo lo hago?. Gracias por todo! :).

kasi
28 de Abril del 2005
A la respuesta anterior que te he dado ¡¡ ni caso !!. Me he liado de mala manera.

Ana.
28 de Abril del 2005
Vale, vale, no te preocupes. No sabes entonces cómo es, no?. Bueno, venga, gracias de todas formas por tu ayuda :).

valentinbasel
28 de Abril del 2005
sw esta en un modulo bas??
y si usas una clase para eso??.
acuerdate que en una clase, los datos son autovalidantes, puedes hacer una propiedad de solo lectura, y otro para modificar la variable sw.
La verdad es que yo pienso que tendria que estar en un modulo bas (donde no podras ponerlo a static por cierto al igual que en una clase).
suerte y espero que te sirva,