Una aplicación sencilla, completa, que no resulte aburrida
ni difícil de entender para alguien que maneje los elementos del Visual Basic
es lo que me propuse hacer. Había pensado en un control de inventario
pero era muy trivial y pobre en cuanto a posibilidades de diseño. Bien,
aquí va mi programa.
La cuenta corriente es uno de los esquemas básicos de las
aplicaciones comerciales, de allí salen las contabilidades (que son lo mismo
con reportes especiales) así como varios otros programas. Es importante
comprender la estructura porque puede aplicarse a una multitud de problemas
diferentes. Es común que cuando enfrentamos un diseño especial lo primero que
tratamos de determinar si es del “tipo inventario” o del “tipo cuenta
corriente”.
Una cuenta corriente básica tiene dos archivos, uno con los
nombres de las cuentas que es estable en tamaño y otro con los
“movimientos” que va creciendo día a día. Como no puede
crecer infinitamente, este archivo cada cierto período (mensual, semestral,
anual, etc.) debe “cerrarse” es decir, volver a cero.
Los criterios de diseño
En orden de importancia, los criterios de diseño son:
- Confiabilidad,
el programa debe funcionar absolutamente libre de fallas y debe depender
el mínimo de los recursos o configuración del equipo
- Ergonomía,
debe ser usable con mínimo o ningún adiestramiento previo, también cada
movimiento del operador debe ser mínimo y las respuestas del programa a
acciones del operador deben ser siempre las más intuitivas. Los errores
deben ser todos fácilmente corregibles.
- Sencillez,
un diseño limpio y sencillo resulta en un programa confiable y ergonómico.
Se debe diseñar un mínimo de líneas de código y el uso mínimo de recursos
así como solo las funciones fundamentales.
Soluciones
La producción y formateo de reportes impresos es un proceso
que complica el diseño y causa la mayoría de los problemas cuando la aplicación
se está explotando y hay que cambiar algún formato. Afortunadamente tenemos el
Visual Basic Para Aplicaciones así es que todos los reportes impresos se emiten
desde una plantilla Excel especialmente programada para esos efectos, lo que
permite disponer de gran flexibilidad y simplifica enormemente la programación
como veremos más adelante.
Así, la aplicación tendrá dos partes, una en VB6.0 para
ingresar y corregir los datos con facilidad y otra en Excel VBA para emitir los
informes impresos. Con este enfoque es muy fácil hacer correcciones de último
minuto antes de imprimir.
La maqueta
La disposición del programa VB6.0 para ingreso y corrección
de datos es la siguiente:

Para simplificar coloqué botones en
lugar de un toolbar. A la izquierda está el área de ingreso de datos
y a la derecha 7 botones con los comandos básicos, el botón en
blanco lo dejé para algo que se me ocurra más adelante.
En el área de abajo aparecen dos
ventanas para mostrar por pantalla un listado de las cuentas, un
listado de los movimientos o una cartola como veremos más adelante.
Por ahora esas ventanas están en modo invisible y se activan al
presionar los respectivos botones
Cuando parte el programa el foco está
en el textbox "Nombre de la cuenta" por lo que se encuentra
listo, por defecto para el ingreso de datos. Por ergonomía el ingreso
de datos no hace uso del mouse, el foco se traspasa con la tecla Enter
y cada casilla tiene opciones para guiar y facilitar la tarea del
programador.
Las cuentas se accesan por su nombre de
la siguiente manera: supongamos que queremos ingresar un dato a la
cuenta llamada DEUDA TARJETA DE CREDITO, podemos escribir cualquier porción
del nombre de la cuenta y el programa la buscará en el
archivo de nombres. Si colocamos por ejemplo tarj el programa
encontrará inmediatamente esa cuenta y completará al nombre ya que
es único, si ponemos en cambio deuda hay varias que coinciden con ese
criterio y aparecerán en un listado abajo como muestra la figura. en
este caso hay que escoger con un clic del mouse

Al escoger la cuenta correcta con el
mouse pasa a llenar el textbox "Nombre de la cuenta", el
textbox correspondiente a la fecha se coloca con la fecha actual y el
foco pasa automáticamente al textbox "Detallle"
Si queremos cambiar la fecha la
ingresamos solo como una secuencia de números, por ejemplo 02012001 y
el programa la convierte automáticamente en 02/01/2001.
Al ingresar el detalle y colocar Enter
el foco pasa al combobox "Haber o Debe" y lo que se
escribió en el detalle se pasa a mayúscula. Finalmente se indica si
es H o D con la flecha y al poner Enter se graba el movimiento, se
limpian los textbox y el foco vuelve a "Nombre de Cuenta"
Para ingresar nuevas cuentas se hace
clic en el botón correspondiente y aparecen dos nuevos textbox como
muestra la figura

Se indica la posición en que se graba
la cuenta y luego su nombre. Con Enter se graba la cuenta, se limpian
los textbox y se vuelve a "Posicion" si se ingresa un
número se grabará otra cuenta y si se ingresa solo Enter en
posición estas dos textbox desaparecen y queda el programa en su
estado inicial.
Con el botón "Listar
Movimientos" se puede ver una pantalla ruda con los movimientos
que se han ingresado. si hacemos clic sobre algún movimiento este
pasará al área de ingreso de datos donde podrá ser corregido o bien
borrado según el botón que escojamos. Al borrarse el movimiento este
no es borrado físicamente del archivo sino que se le agrega un
asterisco al principio del campo de Detalle lo que impide que este sea
mostrado (también las cuentas se borran de la misma manera) así
estos pueden ser posteriormente examinados o "desborrados".
La figura muestra un movimiento recuperado de la lista

La cartola de movimientos es la misma
funcionalidad que la lista anterior, solo que selecciona los de una
determinada cuenta.
El Generador de Informes en
Excel
Se trata de una plantilla Excel
programada para generar en tres hojas de cálculo los informes
principales: Listado de Cuentas y Saldos, Libro de Movimientos y
Cartola de una Cuenta. El macro tiene la ventana que se muestra a
continuación

Y los informes que genera son



Una ventaja importante de poder leer
desde el Excel las cuentas y los movimientos es que resulta muy fácil
corregirlos en la hoja de cálculo, por ejemplo insertar un movimiento
es casi trivial aquí y libera muchísimo código del programa VB6.0
ya que los datos leídos y modificados en las hojas Excel pueden ser a
su vez grabados de vuelta al archivo.
También resulta trivial hacer cambios
simples de formatos y opciones de impresión, e incluso para cambios
mayores es bastante sencillo modificar el código incrustado en la
hoja de VBA
Para ver
El Código Fuente Paso a Paso
haz clic en el link