Está en la página 1de 27

Cmo crear un Sistema de Inventario en Access con Visual Basic

Introduccin
El propsito de este tutorial es el de proveernos de las bases iniciales para elaborar un sencillo sistema de
inventario el cual permitir realizar las transacciones que un sistema de inventario requiere, es decir procesar
las entradas y las salidas de un producto determinado para poder saber en cualquier momento- con certeza
cuntas unidades del producto tenemos en existencia. Este simple modelo podremos adecuarlo a nuestras
necesidades particulares y hacerlo tan completo como sea necesario, de tal manera que podamos administrar
y controlar nuestra valiossima coleccin de discos, libros, msica, pelculas, etc.
ara este e!ercicio crearemos una base de datos llamada Inventario y dentro de ella tendremos tres tablas
llamadas" Productos, Entradas y Salidas. #on los tipos de datos que se muestran a continuacin.
$abla%" Productos
Nombre del campo Tipo de datos
&odeparte 'on(
)escripcion $exto
#osto #urrency
#antidadminima 'on(
En el tutorial *#mo crear una base de datos en +ccess con ,isual -asic. publicado en la p(ina"
///.abcdatos.com0tutoriales0tutorial0z1%23.html se las hallan instrucciones detalladas sobre cmo crear las
tablas, sin embar(o haremos un repaso breve.
Inicio del Proyecto
a4 #rea una carpeta que ser exclusiva para el e!ercicio que se llamar" *inventario. para (uardar todos
los componentes del proyecto.
Inicio de Visual Basic
a4 5az clic en el botn Inicio, se6ala Todos los programas.
b4 7e6ala icroso!t Visual Studio "#$, y haz clic en icroso!t Visual Basic "#$.
% de 28
$abla2" Entradas
Nombre del campo Tipo de datos
&odeentrada 'on(
9echa )ate0$ime
&odeparte 'on(
)escripcion $ext
#antidad 'on(
#osto #urrency
$abla:" Salidas
Nombre del campo Tipo de datos
&odesalida 'on(
9echa )ate0$ime
&odeparte 'on(
)escripcion $ext
#antidad 'on(
#osto #urrency
Cmo crear un Sistema de Inventario en Access con Visual Basic
c4 #rea un proyecto E;E estndar y (urdalo como inventario en la carpeta del mismo nombre.
d4 or el momento no haremos nada con el <ormulario inicial.
Creacin de la base de datos
a4 5az clic en el botn Complementos de la barra de herramientas.
b4 5az clic en Administrador visual de datos=
c4 > se abrir el Administrador visual de datos ?,is)ata ?,isual )ata @ana(er44.
d4 5az clic en Arc%ivo, Nuevo&, icroso!t Access, 'B de la versin (#$=
2 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
e4 En la ca!a Seleccione la base de datos de icroso!t Access )ue desea crear, en *uardar en, busca
y selecciona la misma carpeta creada anteriormente- en donde se (uardar el proyecto, en Nombre"
escribe un nombre que identi<ique la base de datos ?usualmente el mismo nombre de la carpeta4 y haz
clic en el botn *uardar.
: de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
<4 +hora aparece nuevamente el Administrador visual de datos listo para empezar a traba!ar.
3 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
Creacin de las tablas de la base de datos
a4 ara este e!ercicio crearemos tres tablas ?ver p(ina %4. 5az clic con el botn derecho del ratn dentro
de la Ventana de base de datos y haz clic en Nueva tabla.
A de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
b4 En la ca!a Estructura de tabla, Nombre de la tabla" escribe el nombre de la tabla, para el e!ercicio
la tabla se llamar productos, y haz clic en el botn Agregar campo.
1 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
c4 En la ca!a Agregar campo, Nombre" escribe el nombre del primer campo de la tabla que estamos
creando, para el e!ercicio a(re(aremos cuatro campos, a saber" nodeparte, descripcin, costo y
cantidadminima.
d4 En Tipo" selecciona el tipo de datos que contendr el campo, en nuestro caso sern"
- campo" nodeparte, tipo de datos" +ong, tama6o" 3
- campo" descripcion, tipo de datos" Text, tama6o" AB
- campo" costo, tipo de datos" Currency, tama6o" C
- campo" cantidadminima, tipo de datos" +ong, tama6o" 3
e4 En Tama,o" selecciona la cantidad de caracteres ?incluyendo espacios4 que tendr el campo ?ver
arriba4 y haz clic en Aceptar.
<4 ara a(re(ar los otros campos de la tabla, nuevamente haz clic en el botn Agregar campo y repite
los pasos desde el punto *c4. ?&ombre, $ipo y $ama6o4 para cada campo que tendr la tabla.
8 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
(4 +l terminar de crear los campos, hacemos clic en el botn Agregar -ndice y en la ventana Agregar
.ndice to productos a(re(aremos como ndice el campo nodeparte haciDndole doble clic en la ca!a
Campos disponibles y escribiendo en la ca!a de texto Nombre" nodeparteindice. > haz clic en
Aceptar. #omo se ve aba!o.
h4 #uando hayas a(re(ado los campos de la tabla haz clic en el botn *enerar la tabla.

C de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
i4 > la tabla la podrs ver en el Administrador visual de datos /Vis'ata4.
i4 Eepite los pasos desde el punto *a4. para crear dos tablas ms con los si(uientes campos"
$abla2" Entradas
Nombre del campo Tipo de datos
&odeentrada 'on(
9echa )ate0$ime
&odeparte 'on(
)escripcion $ext
#antidad 'on(
#osto #urrency
F de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
5az doble clic en la tabla que acabas de crear ?productos0 para mostrar la ventana 'ynaset1 productos, haz
clic en el botn Agregar para introducir el si(uiente re(istro" &mero de parte" 2$, )escripcin pluma,
#osto 23#4$, @nimo 3$ y haz clic en Actuali5ar para a(re(arlo a la tabla productos de la base de datos
inventario.
Gntroduce ahora los re(istros"
No de parte 'escripcin Costo .nimo
2B '+GH A.8A 3B
:B -IEE+)IE %B.%A 1B
%B de 28
$abla:" Salidas
Nombre del campo Tipo de datos
&odesalida 'on(
9echa )ate0$ime
&odeparte 'on(
)escripcion $ext
#antidad 'on(
#osto #urrency
Cmo crear un Sistema de Inventario en Access con Visual Basic
Creando los !ormularios
6ormulario de Inicio
#rearemos un <ormulario que nos servir de pantalla de inicio y contendr el men principal.
+s que entonces crea el <ormulario de inicio, que para iniciar en el centro de la pantalla debes modi<icar su
propiedad Start7pPosition a 38CenterScreen, modi<ica su propiedad Caption a 7istema de Gnventario, crea
el men con las opciones Productos, Entradas, Salidas, Inventario y Salir.
Ibviamente crearemos cinco <ormularios en total que llamaremos modi<icando su propiedad ?Nombre4"
!rminicio, !rmproductos, !rmentradas, !rmsalidas y !rminventario.
El cdi(o del men9 que nos permitir ir de un <ormulario a otro y salir del pro(rama es"
rivate 7ub productosJ#licK?4
<rminicio.5ide
<rmproductos.7ho/
End 7ub
%% de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
6ormulario +os Productos
En el <ormulario coloca cuatro etiquetas, cuatro ca!as de texto, dos controles )ata, un @79lexLrid y cuatro
botones como se ve a continuacin.
Creando la conexin con la base de datos y la tabla
%. #onectando los controles )ata
a4 7elecciona cada uno de los controles 'ata y modi<ica sus propiedades como si(ue"
b4 'atabaseName" localiza la carpeta del proyecto y selecciona la base de datos ?inventario4 en donde
se halla la tabla que vamos a conectar.
c4 :ecordSource" selecciona el nombre de la tabla ?productos4 cuyos campos se mostrarn en el
<ormulario.
2. #onectando las ca!as de texto
a4 7elecciona una de las ca;as de texto y modi<ica sus propiedades como si(ue"
%2 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
b4 'ataSource" selecciona 'ata2.
c4 'ata6ield" selecciona el nombre del campo de la tabla que corresponda con la etiqueta - que se
mostrar en la ca!a de texto.
d4 Eepite los pasos con cada ca;a de texto del <ormulario.
:. #onectando el @79lexLrid.
a4 7elecciona el ob!eto S6lex*rid, en su propiedad 'ataSource selecciona 'ata2, modi<ica su
propiedad Cols a A, cambia su propiedad :o<s a :.
#orre el pro(rama para comprobar que las conexiones se realizaron correctamente y que se pueden ver los
re(istros en las ca!as de texto correspondientes y en el @79lexLrid.
Codi!icando
#di(os del <ormulario Productos"
rivate 7ub 9ormJ'oad?4
@e.)ata%.Ee<resh
9or t M B $o @79lexLrid%.#ols - %
@79lexLrid%.9ixed+li(nment?t4 M 3
&ext t
@79lexLrid%.9ore#olor M N53B#BN
@79lexLrid%.#olOidth?B4 M :AB
@79lexLrid%.#olOidth?%4 M %%BB
@79lexLrid%.#olOidth?24 M %ABB
@79lexLrid%.#olOidth?:4 M FBB
@79lexLrid%.#olOidth?34 M %ABB
@e.$ext%.Enabled M 9alse
End 7ub
ara centrar el encabezado de las columnas, determinar la anchura de las columnas y usar texto ca<D en el
@79lexLrid, deshabilitar la ca!a de texto% ya que este campo no ser capturado ni editable por el usuario.
rivate 7ub 9ormJ+ctivate?4
G< )ata%.Eecordset.-I9 +nd )ata%.Eecordset.EI9 $hen
G< @s(-ox?P&o hay Ee(istros en la -ase de )atosP Q #hr?%:4 Q P,amos a Gntroducir el rimer Ee(istroP,
vbExclamation Q vbIRInly, P+viso GmportanteP4 M vbIR $hen
)ata2.Eecord7ource M Pselect max?nodeparte4 as losproductos <rom productosP
)ata2.Ee<resh
)ata%.Eecordset.+dd&e/
G< Gs&ull?)ata2.EecordsetSlosproductos4 $hen
$ext% M %
$ext%.Enabled M 9alse
$ext2.7et9ocus
$ext: M PP
$ext3 M PP
Else
$ext% M )ata2.EecordsetSlosproductos Q %
$ext%.Enabled M 9alse
$ext2.7et9ocus
%: de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
$ext: M PP
$ext3 M PP
@79lexLrid%.Eo/ M %
End G<
End G<
End G<
)im / +s Gnte(er
@79lexLrid%.Eo/ M B
9or / M @79lexLrid%.9ixed#ols $o @79lexLrid%.#ols - %
@79lexLrid%.#ol M /
@79lexLrid%.#ell9ont-old M $rue
@79lexLrid%.#ell9ore#olor M vb-lue
&ext /
@79lexLrid%.Eo/ M B
@79lexLrid%.#ol M B
End 7ub
ara poner en ne(ritas y color azul el ttulo de las columnas del @79lexLrid.
#di(o del men Arc%ivo, Volver al en9"
rivate 7ub volveralmenuJ#licK?4
<rmproductos.5ide
<rminicio.7ho/
End 7ub
ara volver al men principal
#di(o del botn Agregar Producto"
rivate 7ub cmda(re(arre(J#licK?4
In Error Lo$o ErrJcmda(re(arre(J#licK
@e.)ata%.Ee<resh
@e.)ata2.Eecord7ource M Pselect max?nodeparte4 as losproductos <rom productosP
@e.)ata2.Ee<resh
@e.)ata%.Eecordset.+dd&e/
@e.@79lexLrid%.Eo/ M B
G< Gs&ull?)ata2.EecordsetSlosproductos4 $hen
@e.$ext% M %
@e.$ext%.Enabled M 9alse
@e.$ext2.7et9ocus
Else
@e.$ext% M )ata2.EecordsetSlosproductos Q %
@e.$ext%.Enabled M 9alse
@e.$ext2.7et9ocus
End G<
ExitJcmda(re(arre(J#licK"
Exit 7ub
ErrJcmda(re(arre(J#licK"
@s(-ox PErr.)escriptionP
Eesume ExitJcmda(re(arre(J#licK
%3 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
End 7ub
ara mediante que el data2 obtener el nmero de re(istro o producto ms alto y a(re(arle una unidad, de
manera que este nmero de producto no se repita y se mostrar automticamente, el usuario iniciar su
captura de datos en la ca!a de texto2.
#di(o del botn *uardar Producto"
rivate 7ub cmd(uardarre(J#licK?4
G< $ext2 M PP $hen
@s(-ox Por <avor Gntroduce la )escripcinP, vbIRInly, P+lta de roductosP
$ext2.7et9ocus
Exit 7ub
End G<
G< $ext: M PP $hen
@s(-ox Por <avor Gntroduce el #ostoP, vbIRInly, P+lta de roductosP
$ext:.7et9ocus
Exit 7ub
End G<
G< $ext3 M PP $hen
@s(-ox Por <avor Gntroduce la #antidad @nimaP, vbIRInly, P+lta de roductosP
$ext3.7et9ocus
Exit 7ub
End G<
)im z +s 'on(
z M $ext%
)ata%.TpdateEecord
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox PEl roducto &mero" P N z N #hr?%:4 Q P7e Luard en la -ase de )atosP Q #hr?%:4 Q P#on $odos
los )atos #ompletosP, vbGn<ormation, P+lta de roductosP
End 7ub
ara (uardar el re(istro en la base de datos y noti<icar al usuario en caso de no completar un campo.
#di(o del botn Buscar Producto"
rivate 7ub cmdbuscarre(J#licK?4
)im ( +s Gnte(er
( M ,al?Gnput-ox?PGntroduce el &mero del roducto que -uscasP, P-squeda de roductosP44
)ata%.Eecordset.9ind9irst PnodeparteMP N (
G< )ata%.Eecordset.&o@atch $hen
@s(-ox PEl roducto &mero" P N ( N P &o est en la -ase de )atosP, vbExclamation, P-squeda de
roductosP
End G<
End 7ub
ara realizar bsquedas de re(istros y noti<icar al usuario si no se halla en la base de datos.
#di(o del botn Eliminar Producto"
%A de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
rivate 7ub cmdeliminarre(J#licK?4
G< )ata%.Eecordset.EI9 M 9alse +nd )ata%.Eecordset.-I9 M 9alse $hen
G< @s(-ox?PUEsts 7e(uro de Eliminar el roducto &mero" P N $ext% N PVP, vb#ritical Q vb>es&o,
PEliminacin de roductosP4 M vb>es $hen
)ata%.Eecordset.)elete
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox P@uy -ien, Eliminaste el roductoP, vbExclamation, PEliminacin de roductosP
Else
@s(-ox P&o se Elimin el roducto &mero" P N $ext%, vbExclamation, PEliminacin de roductosP
$ext% M PP
$ext2 M PWP
$ext: M PWP
$ext3 M PP
End G<
End G<
End 7ub
ara eliminar re(istros y noti<icar al usuario.
#di(o de la ca!a de texto2 ?&mero de parte4"
rivate 7ub $ext%JReyress?Rey+scii +s Gnte(er4
G< Rey+scii M %: $hen
$ext2.7et9ocus
End G<
End 7ub
ara avanzar con Enter a la si(uiente ca!a de texto
#di(o de la ca!a de texto3 ?)escripcin4"
rivate 7ub $ext2JReyress?Rey+scii +s Gnte(er4
Rey+scii M +sc?T#ase?#hr?Rey+scii444
G< Rey+scii M %: $hen
$ext:.7et9ocus
End G<
End 7ub
ara introducir slo maysculas y avanzar a la si(uiente ca!a de texto con Enter.
#di(o de la ca!a de texto= ?#osto4"
rivate 7ub $ext:JReyress?Rey+scii +s Gnte(er4
G< Rey+scii M %: $hen
$ext3.7et9ocus
End G<
End 7ub
ara avanzar con Enter a la si(uiente ca!a de texto
#di(o de la ca!a de texto> ?#antidad @nima4"
%1 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
rivate 7ub $ext3JReyress?Rey+scii +s Gnte(er4
G< Rey+scii M %: $hen
@e.cmd(uardarre(.7et9ocus
End G<
End 7ub
ara avanzar con Enter al botn Luardar roducto.
6ormulario Entradas de los Productos
En el <ormulario coloca seis etiquetas, seis ca!as de texto, dos controles )ata, un @79lexLrid y cuatro
botones como se ve a continuacin.
%. #onectando los controles )ata
a4 7elecciona cada uno de los controles 'ata y modi<ica sus propiedades como si(ue"
b4 'atabaseName" localiza la carpeta del proyecto y selecciona la base de datos ?inventario4 en donde
se halla la tabla que vamos a conectar.
c4 :ecordSource" selecciona el nombre de la tabla ?entradas4 cuyos campos se mostrarn en el
<ormulario.
2. #onectando las ca!as de texto
a4 7elecciona una de las ca;as de texto y modi<ica sus propiedades como si(ue"
b4 'ataSource" selecciona 'ata2.
c4 'ata6ield" selecciona el nombre del campo de la tabla que corresponda con la etiqueta - que se
mostrar en la ca!a de texto.
d4 Eepite los pasos con cada ca;a de texto del <ormulario.
%8 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
:. #onectando el @79lexLrid.
a4 7elecciona el ob!eto S6lex*rid, en su propiedad 'ataSource selecciona 'ata2, modi<ica su
propiedad Cols a 8, cambia su propiedad :o<s a :.
Codi!icando
#di(o del <ormulario Entradas"
rivate 7ub 9ormJ'oad?4
@79lexLrid%.#olOidth?B4 M :AB
@79lexLrid%.#olOidth?%4 M %BBB
@79lexLrid%.#olOidth?24 M %%BB
@79lexLrid%.#olOidth?:4 M %BBB
@79lexLrid%.#olOidth?34 M %AAB
@79lexLrid%.#olOidth?A4 M CBB
@79lexLrid%.#olOidth?14 M CBB
$ext%.Enabled M 9alse
End 7ub
ara determinar la anchura de las columnas del @79lexLrid y deshabilitar la ca!a de texto% ya que este
campo no ser capturado ni editable por el usuario.
#di(o del men Arc%ivo, Volver al en9"
rivate 7ub volveralmenuJ#licK?4
<rmentradas.5ide
<rminicio.7ho/
End 7ub
ara volver al men principal
#di(o del botn Agregar Entrada"
rivate 7ub #ommand%J#licK?4
)ata2.Eecord7ource M Pselect max?nodeentrada4 as lasentradas <rom entradasP
)ata2.Ee<resh
)ata%.Eecordset.+dd&e/
G< Gs&ull?)ata2.EecordsetSlasentradas4 $hen
$ext% M %
Else
$ext% M )ata2.EecordsetSlasentradas Q %
End G<
$ext%.Enabled M 9alse
$ext2.7et9ocus
%C de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
$ext: M PP
$ext3 M PP
$extA M PP
$ext1 M PP
End 7ub
ara mediante el data2 obtener el nmero de re(istro o producto ms alto y a(re(arle una unidad, de manera
que este nmero se mostrar automticamente, el usuario iniciar su captura de datos en la ca!a de texto2.
#di(o del botn *uardar Entrada"
rivate 7ub #ommand2J#licK?4
G< $ext2 M PP $hen
@s(-ox Por 9avor Gntroduce la 9echaP, , P+viso GmportanteP
$ext2.7et9ocus
Exit 7ub
End G<
G< $ext: M PP $hen
@s(-ox Por 9avor Gntroduce el &mero de arteP, , P+viso GmportanteP
$ext:.7et9ocus
Exit 7ub
End G<
G< $ext3 M PP $hen
@s(-ox Por 9avor Gntroduce la )escripcinP, , P+viso GmportanteP
$ext3.7et9ocus
Exit 7ub
End G<
G< $extA M PP $hen
@s(-ox Por 9avor Gntroduce la #antidadP, , P+viso GmportanteP
$extA.7et9ocus
Exit 7ub
End G<
G< $ext1 M PP $hen
@s(-ox Por 9avor Gntroduce el #ostoP, , P+viso GmportanteP
$ext1.7et9ocus
Exit 7ub
End G<
)im x +s Gnte(er
x M ,al?$ext:4
<rmproductos.)ata%.Eecordset.9ind9irst PnodeparteMP N x
G< <rmproductos.)ata%.Eecordset.&o@atch $hen
%F de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
@s(-ox PEl roducto &mero" P N x N P &o est en la -ase de )atosP, vb#ritical, P+(re(ando EntradasP
$ext:.7et9ocus
Exit 7ub
End G<
)im e +s 'on(
e M ,al?$ext%4
)ata%.TpdateEecord
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox P'a Entrada &mero" P N e N P se Luard en la -ase de )atosP, vbExclamation, P+(re(ando
EntradasP
End 7ub
ara (uardar el re(istro en la base de datos y noti<icar al usuario cuando un nmero de parte no se halle en la
base de datos y cuando campo no sea llenado.
#di(o del botn Buscar Entrada"
rivate 7ub #ommand:J#licK?4
)im ! +s Gnte(er
! M ,al?Gnput-ox?PGntroduce el &mero de la Entrada que -uscasP, P-squeda de EntradasP44
)ata%.Eecordset.9ind9irst PnodeentradaMP N !
G< )ata%.Eecordset.&o@atch $hen
@s(-ox P'a Entrada &mero" P N ! N P &o est en la -ase de )atosP, vbExclamation, P-squeda de
EntradasP
End G<
End 7ub
ara realizar bsquedas de re(istros y noti<icar al usuario si no se halla en la base de datos.
#di(o del botn Eliminar Entrada"
rivate 7ub #ommand3J#licK?4
G< @s(-ox?PUEsts 7e(uro de Eliminar la Entrada &mero" P N $ext% N PVP, vb#ritical Q vb>es&o,
PEliminacin de EntradasP4 M vb>es $hen
)ata%.Eecordset.)elete
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox P@uy -ien, Eliminaste la EntradaP, vbExclamation, PEliminacin de EntradasP
Else
@s(-ox P&o se Elimin la Entrada &mero" P N $ext%, vbExclamation, PEliminacin de EntradasP
End G<
2B de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
End 7ub
ara eliminar re(istros y noti<icar al usuario.
#di(o de la ca!a de texto> /'escripcin0"
rivate 7ub $ext3JReyress?Rey+scii +s Gnte(er4
Rey+scii M +sc?T#ase?#hr?Rey+scii444
G< Rey+scii M %: $hen
$extA.7et9ocus
End G<
End 7ub
ara introducir slo maysculas y avanzar a la si(uiente ca!a de texto con Enter.
6ormulario Salidas de los Productos
En el <ormulario coloca seis etiquetas, seis ca!as de texto, dos controles )ata, un @79lexLrid y cuatro
botones como se ve a continuacin.
%. #onectando los controles )ata
a4 7elecciona cada uno de los controles 'ata y modi<ica sus propiedades como si(ue"
b4 'atabaseName" localiza la carpeta del proyecto y selecciona la base de datos ?inventario4 en donde
se halla la tabla que vamos a conectar.
c4 :ecordSource" selecciona el nombre de la tabla ?salidas4 cuyos campos se mostrarn en el
<ormulario.
2. #onectando las ca!as de texto
a4 7elecciona una de las ca;as de texto y modi<ica sus propiedades como si(ue"
b4 'ataSource" selecciona 'ata2.
2% de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
c4 'ata6ield" selecciona el nombre del campo de la tabla que corresponda con la etiqueta - que se
mostrar en la ca!a de texto.
d4 Eepite los pasos con cada ca;a de texto del <ormulario.
:. #onectando el @79lexLrid.
a4 7elecciona el ob!eto S6lex*rid, en su propiedad 'ataSource selecciona 'ata2, modi<ica su
propiedad Cols a 8, cambia su propiedad :o<s a :.
Codi!icando
#di(o del <ormulario Salidas"
rivate 7ub 9ormJ'oad?4
@79lexLrid%.#olOidth?B4 M :AB
@79lexLrid%.#olOidth?%4 M %BBB
@79lexLrid%.#olOidth?24 M %%BB
@79lexLrid%.#olOidth?:4 M %BBB
@79lexLrid%.#olOidth?34 M %AAB
@79lexLrid%.#olOidth?A4 M CBB
@79lexLrid%.#olOidth?14 M CBB
$ext%.Enabled M 9alse
End 7ub
ara determinar la anchura de las columnas del @79lexLrid y deshabilitar la ca!a de texto% ya que este
campo no ser capturado ni editable por el usuario.
#di(o del men Arc%ivo, Volver al en9"
rivate 7ub volveralmenuJ#licK?4
<rmsalidas.5ide
<rminicio.7ho/
End 7ub
ara volver al men principal
#di(o del botn Agregar Salida"
rivate 7ub #ommand%J#licK?4
)ata2.Eecord7ource M Pselect max?nodesalida4 as lassalidas <rom salidasP
)ata2.Ee<resh
)ata%.Eecordset.+dd&e/
G< Gs&ull?)ata2.EecordsetSlassalidas4 $hen
$ext% M %
Else
$ext% M )ata2.EecordsetSlassalidas Q %
End G<
$ext%.Enabled M 9alse
22 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
$ext2.7et9ocus
$ext: M PP
$ext3 M PP
$extA M PP
$ext1 M PPEnd 7ub
ara mediante el data2 obtener el nmero de re(istro o producto ms alto y a(re(arle una unidad, de manera
que este nmero se mostrar automticamente, el usuario iniciar su captura de datos en la ca!a de texto2.
#di(o del botn *uardar Salida"
rivate 7ub #ommand2J#licK?4
G< $ext2 M PP $hen
@s(-ox Por 9avor Gntroduce la 9echaP, , P+viso GmportanteP
$ext2.7et9ocus
Exit 7ub
End G<
G< $ext: M PP $hen
@s(-ox Por 9avor Gntroduce el &mero de arteP, , P+viso GmportanteP
$ext:.7et9ocus
Exit 7ub
End G<
G< $ext3 M PP $hen
@s(-ox Por 9avor Gntroduce la )escripcinP, , P+viso GmportanteP
$ext3.7et9ocus
Exit 7ub
End G<
G< $extA M PP $hen
@s(-ox Por 9avor Gntroduce la #antidadP, , P+viso GmportanteP
$extA.7et9ocus
Exit 7ub
End G<
G< $ext1 M PP $hen
@s(-ox Por 9avor Gntroduce el #ostoP, , P+viso GmportanteP
$ext1.7et9ocus
Exit 7ub
End G<
)im / +s 'on(
/ M ,al?$ext%4
)ata%.TpdateEecord
2: de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox P'a 7alida &mero" P N / N P se Luard en la -ase de )atosP, vbExclamation, P+(re(ando
7alidasP
End 7ub
ara (uardar el re(istro en la base de datos y noti<icar al usuario cuando un campo no sea llenado.
#di(o del botn Buscar Salida"
rivate 7ub #ommand:J#licK?4
)im c +s Gnte(er
c M ,al?Gnput-ox?PGntroduce el &mero de la 7alida que -uscasP, P-squeda de 7alidasP44
)ata%.Eecordset.9ind9irst PnodesalidaMP N c
G< )ata%.Eecordset.&o@atch $hen
@s(-ox P'a 7alida &mero" P N c N P &o est en la -ase de )atosP, vbExclamation, P-squeda de
7alidasP
End G<
End 7ub
ara realizar bsquedas de re(istros y noti<icar al usuario si no se halla en la base de datos.
#di(o del botn Eliminar Salida"
rivate 7ub #ommand3J#licK?4
G< @s(-ox?PUEsts 7e(uro de Eliminar la 7alida &mero" P N $ext% N PVP, vb#ritical Q vb>es&o,
PEliminacin de 7alidasP4 M vb>es $hen
)ata%.Eecordset.)elete
)ata%.Ee<resh
@79lexLrid%.Ee<resh
@s(-ox P@uy -ien, Eliminaste la 7alidaP, vbExclamation, PEliminacin de 7alidasP
Else
@s(-ox P&o se Elimin la 7alida &mero" P N $ext%, vbExclamation, PEliminacin de 7alidasP
End G<
End 7ub
ara eliminar re(istros y noti<icar al usuario.
#di(o de la ca!a de texto> /'escripcin0"
rivate 7ub $ext3JReyress?Rey+scii +s Gnte(er4
Rey+scii M +sc?T#ase?#hr?Rey+scii444
G< Rey+scii M %: $hen
$extA.7et9ocus
End G<
End 7ub
23 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
ara introducir slo maysculas y avanzar a la si(uiente ca!a de texto con Enter.
6ormulario Inventario de los Productos
En el <ormulario coloca seis etiquetas, seis ca!as de texto, tres controles )ata y un botn como se ve a
continuacin.
%. #onectando los controles )ata
a4 7elecciona cada uno de los controles 'ata y modi<ica sus propiedades como si(ue"
b4 'atabaseName" localiza la carpeta del proyecto y selecciona la base de datos ?inventario4 en donde
se halla la tabla que vamos a conectar.
c4 :ecordSource" cada control data se conectar a una tabla di!erente, selecciona el nombre de la
tabla ?productos, entradas y salidas4.
d4 @odi<ica la propiedad Visible de los controles data a 6alse.
2. #onectando las ca!as de texto
a4 7elecciona una de las ca;as de texto y modi<ica sus propiedades como si(ue"
b4 'ataSource" selecciona 'ata2.
c4 'ata6ield" selecciona el nombre del campo de la tabla que corresponda con la etiqueta - que se
mostrar en la ca!a de texto.
d4 ?nicamente se conectar@n las tres primeras ca;as de texto al control 'ata2.
2A de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
Codi!icando
#di(o del <ormulario Inventario de los Productos"
rivate 7ub 9ormJ'oad?4
$ext%.Enabled M 9alse
$ext2.Enabled M 9alse
$ext:.Enabled M 9alse
$ext3.Enabled M 9alse
$extA.Enabled M 9alse
$ext1.Enabled M 9alse
End 7ub
ara deshabilitar las ca!as de texto ya que los campos sern slo para consulta.
#di(o del men Arc%ivo, Volver al en9"
rivate 7ub volveralmenuJ#licK?4
<rminventario.5ide
<rminicio.7ho/
End 7ub
ara volver al men principal
#di(o del botn Buscar Producto"
rivate 7ub #ommand%J#licK?4
)im t +s Gnte(er
t M ,al?Gnput-ox?PGntroduce el &mero del roducto que -uscasP, P-squeda de roductosP44
)ata%.Eecordset.9ind9irst PnodeparteMP N t
)ata2.Eecord7ource M Pselect sum?cantidad4 as totalentradas <rom entradas /here nodeparteMP N $ext%
)ata2.Ee<resh
G< Gs&ull?)ata2.EecordsetStotalentradas4 $hen
@s(-ox PEl roducto &mero" P N t N P &o $iene EntradasP, vb#ritical, P+viso GmportanteP
$ext3 M PP
Exit 7ub
Else
$ext3 M )ata2.EecordsetStotalentradas
End G<
)ata:.Eecord7ource M Pselect sum?cantidad4 as totalsalidas <rom salidas /here nodeparteMP N $ext%
)ata:.Ee<resh
G< Gs&ull?)ata:.EecordsetStotalsalidas4 $hen
@s(-ox PEl roducto &mero" P N t N P &o $iene 7alidasP, vb#ritical, P+viso GmportanteP
$extA M PP
Exit 7ub
Else
$extA M )ata:.EecordsetStotalsalidas
End G<
$ext1 M $ext3 - $extA
G< )ata%.Eecordset.&o@atch $hen
@s(-ox PEl roducto &mero" P N t N P &o est en la -ase de )atosP, vbExclamation, P-squeda de
roductosP
21 de 28
Cmo crear un Sistema de Inventario en Access con Visual Basic
End G<End 7ub
El control data% mostrar los datos del re(istro en las ca!as de texto uno a tres, el control data2 mostrar la
suma de las entradas en la ca!a de texto cuatro, el control data: mostrar la suma de las salidas en la ca!a de
texto cinco y la ca!a de texto 1 mostrar el inventario.
En el tutorial *#mo crear una base de datos en +ccess con ,isual -asic. publicado en la p(ina"
///.abcdatos.com0tutoriales0tutorial0z1%23.html se hallan instrucciones detalladas sobre cmo crear los
reportes que sean necesarios. Espero que este tutorial sea de interDs y ayuda para muchos.
$utorial creado por" 'ic. Xor(e +lvarez 7.
XKasa2BB:Yyahoo.com.mx
28 de 28

También podría gustarte