Está en la página 1de 20

Como crear un Punto de Venta en Access 2010 desde Cero

Hola Am
Hola Amigo
igos,
s, me da gus
gusto
to sal
saluda
udarle
rles.
s. En est
esta
a oca
ocacio
cion
n les estoy haciendo
haciendo una
invitacion a un Laboratorio que voy a empezar bajo el nombre " Punto de Venta en
Access" , la finalidad de este curso es desarrollar desde cero una aplicacion que
seguramente le encontraran un uso muy adecuado en alguna oportunidad de negocio.
ara esto quiero tambien definirles...

Aquien va dirigido? En realidad va dirigido a !odos, tanto a los que


se inician, como los ya eperimentados en #$ Access. Esta aplicacion tomara en
cuenta
cuent a los conc
conceptos
eptos de estru
estructura
cturacion,
cion, validacion,
validacion, program
programacion,
acion, optimizacion
optimizacion y
todos los elementos importantes en una base de datos.

El contenido de este programa para este laboratorio se los mostrare a continuacion,


donde ademas pretendo que los interesados en este curso vayan siguiendo las
practicas y asi reafirmar conocimientos en Access a traves del desarrollo de esta
aplicacion.

Punto de Venta en Access 2010 | Usuarios del Sistema |


Entrega 1

En esta ocacion haremos la presentacion de la primera entrega del laboratorio Crear


un Punto de Ven
Ventata con Access 2010, en esta rimera entrega se considera
la creaci%n del modulo de Usuarios para el Sistema, asi que veremos los elementos
que ah& se comprenden. Los siguientes ' elementos seran necesarios para desarrollar 
la v&deo practica de esta primer entrega...

 Aprovecho para hacerles una invitación para que que compartan


compartan este aprendizaje con
sus amigos y colegas que puedan ser beneficiados con este
Laboratorio. Les sugiero se incriban en la lista de seguidores que esta en nuestro
blog, para que no se pierdan ninguna entrega de este interesante laboratorio.

Los 2 elementos de este modulo son los siguientes!

Una ta"la de Usuarios


Un #ormulario de Usuarios

La tabla de usuarios contendr( todos los datos necesarios para que cada
usuario pueda usar el sistema de acuerdo a los permisos otorgados, as& que cada
usuario poseer( permisos seg)n sea requerido. !oda esta configuraci%n sera
importante al momento que un empleado entre al sistema *utilizando una formulario
de
acceso+ ya que el sistema sera capaz de reconocer que acciones si y que acciones
no el usuario podr( desempear de acuerdo a los permisos otorgados *esto sera
a trav-s de un modulo de variables de sesi%n que veremos mas adelante en la 'da
entrega+

ien empezemos por eplicar como esta estructurada nuestra tabla de usuarios.

Esta es la estructura de la tabla de /$/A012$

Estas son las configuraci%n para el 3ormulario de /$/A012$4


V$S%A &E LA 'AC() E* +)%)* CmdAceptar ,-UA(&A( . SAL$(/
Punto de Venta en Access 2010 | Acceso al Sistema | Entrega
2

5a estamos en la entrega 6' del modulo "Acceso al $istema" de nuestro laboratorio


practico, "7rear un punto de venta con access '898" , para llevar a cabo esta
segunda v&deo practica, se hace necesario haber terminado el modulo "usuarios del
sistema" que vimos en la entrega pasada.

En esta entrega 6' se comprende de ' elementos *un formulario de acceso y un


modulo de visual basic para aplicaciones conocido como :A+..

La estructura del formulario de acceso es sumamente simple, contendra ' cajas de


teto y ' botones *uno para solicitar la entrada al sistema y otro para abandonar el
sistema+ que a continuacion les indicare cual sera su configuracion.

*)'+(E &E L)S C)*%()LES!

El tetbo para el ;ombre de /suario se debe nombrar4 %t*)'+(EUSUA($)


El tetbo para la clave de usuario se debe nombrar4 %tCLAVEUSUA($)

El evento del "oton CA*CELA(!


$olo contiene una macro incrustrada con el evento "$alirdeAccess"

<escarga esta Entrega Aqui


(importa estos objetos a tu base de datos como se explica en este ideo !

Este es el codigo del +oton Aceptar


=
1
2
3
4 Private Sub CmdAceptar_Click()
On Error GoTo err:
5
6
'variable local para nombre y clave de uuario
7 !im "O#$S$ A Strin%
8 !im C&E$S$ A Strin%
9
10 'Ai%nar el valor de lo controle a la variable locale
11 "O#$S$  $Cae("(#eT*t"ombre_$uario&alue+ ,,))
C&E$S$  $Cae("(#eT*tC-A&E_$S$A./O&alue+ ,,))
12
13
/0 /Empty("O#$S$) Or /Empty(C&E$S$) T1en
14 #%2o* ,!ato /ncompleto,+ vbO3Only 4 vbCritical+ ,/mpoible /n%rear5
15   Ele
16 '2ucar $uario con lo dato in%reado
17
/0 E*ite$uario("O#$S$+ C&E$S$)  True T1en
#%2o* ,2ienvenido al Sitema,+ vbO3Only 4 vb/n0ormation+ ,Acceo
18 !oCmdCloe 'Cerrar ventana de Acceo
19 'Codi%o para entrar al itema++ eten pendiente con la P.O6/#AS
20 !oCmdOpen7orm ,&E"TAS,+ ac"ormal
21   Ele
"um/ntento  "um/ntento 4 8
22
/0 "um/ntento 9  T1en
23 #%2o* ,$uario o Clave incorrecta,+ vbCritical 4 vbO3Only+
24 #eT*t"ombre_$uario&alue  ,,
25 #eT*tC-A&E_$S$A./O&alue  ,,
26   #eT*t"ombre_$uarioSet7ocu
  Ele
27
#%2o* ,!emaiado /ntento+ el Sitema e cerrara5,+ vbCr
28   !oCmd;uit
29 End /0
30
31 End /0
32
End /0
33
E*it Sub
34
err:
35 #%2o* err!ecription
36 End Sub
37
38
39

Esta es la uncion de EisteUsuario


=
1
2
3
9b<
4
Public 7unction E*ite$uario(tr"om$uario A Strin%+ trCve$uario A Strin%) A 2o
5 On Error GoTo u_err
6
7 !im .t A !AO.ecordet
8 !im =l A Strin%
9
10
=l  ,SE-ECT > 7.O# ?$S$A./OS@ $S BE.E $S?"O#2.E_$S$A./O@',  tr"om$uario  ,
Set .t  Current!bOpen.ecordet(=l)
11
12 /0 .t2O7 And .tEO7 T1en
13 E*ite$uario  7ale
14   Ele
15 E*ite$uario  True
'Se /nicialiar la variable de Seion
16
*"O#2.E_$S$A./O  .t5"O#2.E_$S$A./O
17 *C-A&E_$S$A./O  .t5C-A&E_$S$A./O
18 *"O#2.E  .t5"O#2.E
19 *APE--/!O_PATE."O  .t5APE--/!O_PATE."O
20 *APE--/!O_#ATE."O  .t5APE--/!O_#ATE."O
*&E"TAS  .t5&E"TAS
21
*A!#/"/ST.A.  .t5A!#/"/ST.A.
22 *.EPO.TES  .t5.EPO.TES
23 *CATA-OGOS  .t5CATA-OGOS
24 *CO"S$-TAS  .t5CO"S$-TAS
*CA"CE-A._&E"TA  .t5CA"CE-A._&E"TA
25
End /0
26 .tCloe
27 Set .t  "ot1in%
28
29 E*it 7unction
30 u_err:
#%2o* err!ecription
31
End 7unction
32 9Db<
33
34
35

Estas son las varia"le Pu"licas del Sistema


=
1 Option Compare !atabae
Option E*plicit
2
3
'&A./A2-ES !E SES/O"
4 'SE "O#2.A.A" /G$A- TA- CO#O E" E- !/SEO !E -AS TA2-AS+ PE.O CO" E- P.E7/FO ,*,
5 'PA.A /!E"T/7/CA.-AS CO#O &A./A2-ES !E SES/O"
6
7 ' !ATOS !E $S$A./O
8 Public *"O#2.E_$S$A./O A Strin%
9
10
Public *C-A&E_$S$A./O A Strin%
11 Public *"O#2.E A Strin%
12 Public *APE--/!O_#ATE."O A Strin%
13 Public *APE--/!O_PATE."O A Strin%
14
Public *&E"TAS A 2oolean
Public *A!#/"/ST.A. A 2oolean
15 Public *.EPO.TES A 2oolean
16 Public *CATA-OGOS A 2oolean
17 Public *CO"S$-TAS A 2oolean
18 Public *CA"CE-A._&E"TA A 2oolean
'
19
Public "um/ntento A 2yte
20
21

Punto de Venta en Access 2010 | Pantalla de Productos |


Entrega 3

En esta entrega > se eplicara acerca de la Pantalla de Productos para un unto de


:enta en Access. Esta entrega viene eplicado en ' v&deos, donde se eplican las
funciones de cada uno de los controles de esta pantalla. $e hace necesario no omitir
ninguna parte de la eplicaci%n ya que esto nos accionaria algunos problemas para
hacer funcionar esta pantalla.

En esta antalla de roductos necesitamos solo ' Elementos4

LA %A+LA &E P()&UC%)S


PA*%ALLA &E P()&UC%)S ,L$S%A/

PA*%ALLA &E P()&UC%)S ,&E%ALLES/


=
1
2 ' CO!/GOS !E -A E"T.EGA H
3
4 'Codi%o para el boton btn2ucarProd
5 Private Sub 2tn2ucarProd_Click()
6
  #e-/STA_!E_P.O!$CTOS.e=uery
  #e.e0re1
7
End Sub
8
9
10 'Codi%o para el evento dobleclick de la -ita_Producto
11 Private Sub -/STA_P.O!$CTOS_!blClick(Cancel A /nte%er)
12 /0 "(#e?-/STA_P.O!$CTOS@+ I) 9< I T1en
!oCmdGoToControl ,!ETA--ES,
13
#e7ilter  ,/!_P.O!$CTO ,  #e?-/STA_P.O!$CTOS@
14 #e7ilterOn  True
15 Ele
16 #%2o* ,"O BA SE-ECC/O"A!O "/"G$" P.O!$CTO,+ vbCritical 4 vbO3Only+ ,Error55,
17 End /0
End Sub
18
19

APA(%A&)41 ,A-(E-A( +US5UE&A &E P()&UC%)S P)( C)&$-) &E


+A((AS/

$eguir estos pasos4


9.? En vista de diseo seleccionar el listo e ir la ventana de propiedades, en la ficha
de datos seleccionar 201@E; dar clic en el b oton B...C y luego te mostrara una
consulta

'.? en la parte de arriba de la consulta estaran los campos de la tabla 02</7!2$,


 ahi deberas encontrar el campo 72<1@2DA00A$

>.? haces doble clic en ese campo y se agregara abajo junto con los demas

.? colocar en el criterio *un renglon mas abajo+ esto y guardar.


F.? En la ficha de 3ormato en la propidad cantidad de columnas colocar G *ya que
agregamos una mas, la del codigo de barras+

.? y agregar una anchura mas en la propiedad A;7H2 <E 72L/#;A$


9.9G8"I9.JG9"I9.JG9"I9.JG9"I9.JG9"I9.JG9"I9.JG9"I9.J"

K.? y esto todo 5A <EE 3/;712;A0 LA /$/E<A <E 02</7!2$ por


72<1@2 <E A00A$
Punto de Venta en Access 2010 | Pantallas de $nventarios |
Entrega 6

Esta entrega hasta ahorita "Las Pantallas de $nventarios ", quiz(s vaya a ser una de
las que mas contenido haya que eplicar. or lo que tendr- la necesidad de dividirlo
en ' partes La 3uncional y la L%gica, para cada una de estas he preparado
un v&deo por separado, para as& comprender con mas claridad como funciona
este'odulo de $nventarios .

La Parte U*C$)*AL! Pantalla de $nventarios

Empezare por eplicar que hay ' pantallas y ' !ablas de 1nventarios4

". 1;:E;!A012$ #$sta sera la lista %rincipal de &nventarios# 


'. E;!0A<A$D1;: #Las $ntradas &ndividuales de &nventario# 

!ALA <E 1;:E;!A012$


En esta !abla, ademas de los particular tendremos ' campos calculados, *que ha sido
una de las novedades incluidas en la versi%n '898 de Access+. /no ajo el nombre de
7A;!D<1$2;1LE que almacenara todas cantidades eistentes *7antidad
de Ehibici%n M 7antidad de Localizaci%n 9 M 7antidad de Localizaci%n M 7antidad
de Localizaci%n >+, El segundo campo 7alculado sera AN2D1;:E;!A012 este
campo tiene una condici%n que eval)a si la 7antidad <isponible !otal es #enor a la
7antidad #&nima estipulada para el producto, se colocara un "$1" para indicarnos que
el inventario es bajo para este producto y sera necesario adquirir mas, y un ";2"
cuando nuestra cantidad disponible sea mayor a la cantidad m&nima estipulada para el
roducto.

A;!ALLA <E 1;:E;!A012$

En esta antalla *de formato <ividido+ mostrar la lista principal de 1nventario y


podremos ah& notar todos lo cambios realizados en las
cantidades, as& como tambi-n poder capturar nuevos produ ctos a la lista.

!ALA <E E;!0A<A$ <E 1;:E;!A012


En esta !abla "Entradas de roducto", va a ser la tabla donde quedaran registradas
cada una de las entradas de cada producto en particular, sera como una especie de
Log de Entradas *o lo que es lo mismo <etalles de 0egistros de
Entradas+, Aqu& quedaran registradas las nuevas cantidades que se ingresaran a la
lista principal de inventarios *por ende actualiz(ndolo+

A;!ALLA <E E;!0A<A$ <E 1;:E;!A012


Esta antalla de Entradas de 1nventarios, sera la interfaz donde el
usuario podr( capturar todos los productos , sus cantidades y localizaciones
de asignaci%n para cada producto en particular.

La Parte L7-$CA! Pantallas de $nventarios

• !odos los 7ampos de 7antidades para las !ablas 1;:E;!A012 e


1;:E;!A012DE;! seran de !ipo "<oble" eso para permitir cantidades y fracciones
• La epresion del 7ampo 7alculado 4 7A;!1<A<D<1$2;1LE es la siguiente4

B7A;!DL279CMB7A;!DL27'CMB7A;!DL27>CMB7A;!1<A<DE;DEOH11712;C

• La epresi%n del 7ampo 7alculado4 AN2D1;:E;!A012 es la siguiente4

$i1nm*B7A;!D<1$2;1LECPB7A;!1<A<D#1;1#AC,"$1",";2"+

• EL 72<1@2 <EL 2!2; B@uadar y 7ontinuarC ;ombre del oton


47md@uardar1nv
1nsertar este 7%digo en en evento 7lic

=
1 Private Sub CmdGuardar/nv_Click()
On Error GoTo err:
2
3
'&ariable de eJecucion
4 !im idprod A /nte%er
!im CantEnt A !ouble
5
!im -oc A Strin%
6 !im CantActual/nv A !ouble
7 !im CantE*1ibicion A !ouble
8 !im "vaCantE*1ibicion A !ouble
9 !im Cant-oc8 A !ouble
!im "vaCant-oc8 A !ouble
10
!im Cant-oc A !ouble
11 !im "vaCant-oc A !ouble
12 !im CantlocH A !ouble
13 !im "vaCant-ocH A !ouble
14
15
'Anular valore nulo en la ai%nacion de valore
idprod  "(#e7/!_P.O!$CTO&alue+ I)
16 CantEnt  "(#eCA"T/!A!_E"T.A!A&alue+ I)
17 -oc  "(#eAS/G"A._-OCA-/KAC/O"&alue+ ,,)
18
19 '2ucar dato en -ita de /nventario
20 !im .t A !AO.ecordet
!im =l A Strin%
21
22
=l  ,SE-ECT > 7.O# ?/"&E"TA./OS@ $S BE.E $S?7/!_P.O!$CTO@,  idprod
23 Set .t  Current!bOpen.ecordet(=l)
24
25 /0 .t2O7 And .tEO7 T1en
26 #%2o* ,Producto "o Encontrado en la -ita de /nventario,
27   Ele
'Accion al Encontrar el producto en lita de inventario
28
'Actualiar Cantidad de /nventario e%un la localiacion Seleccoionada
29   Select Cae -oc
30   Cae ,E6B/2/C/O",
31 CantE*1ibicion  .t5?CA"T/!A!_E"_E6B/2/C/O"@
32
"vaCantE*1ibicion  CantE*1ibicion 4 CantEnt
  .tEdit
33 .t5?CA"T/!A!_E"_E6B/2/C/O"@  "vaCantE*1ibicion
34   .t$pdate
35   Cae ,-OCA-/KAC/O"_8,
36 Cant-oc8  .t5?CA"T_-OC8@
"vaCant-oc8  Cant-oc8 4 CantEnt
37
  .tEdit
38 .t5?CA"T_-OC8@  "vaCant-oc8
39   .t$pdate
40   Cae ,-OCA-/KAC/O"_,
41
Cant-oc  .t5?CA"T_-OC@
"vaCant-oc  Cant-oc 4 CantEnt
42
  .tEdit
43 .t5?CA"T_-OC@  "vaCant-oc
44   .t$pdate
45   Cae ,-OCA-/KAC/O"_H,
CantlocH  .t5?CA"T_-OCH@
46
"vaCant-ocH  CantlocH 4 CantEnt
47   .tEdit
48 .t5?CA"T_-OCH@  "vaCant-ocH
49   .t$pdate
50 End Select
51
52
53
54
55
56
57
.tCloe
58
Set .t  "ot1in%
59 End /0
60
61 !oCmdGoTo.ecord + + ac"e*t
62
63 E*it Sub
err:
64
#%2o* err!ecription
65 End Sub
66
67
68
69
70
71

Pantalla de Clientes en Access 2010 | Entrega 8

La pantalla de Clientes es fundamental en un sistema de punto de :enta, en esta


entrega 6F le eplicamos su sencilla elaboraci%n, partiendo de solo una tabla y un
formulario acondionado con botones programados en Access '898.

' Elementos vamos a necesitar4 9 !ALA <E 7L1E;!E$ 5 9 320#/LA012 <E


7L1E;!E$.

En la tabla de 7lientes vamos a colocar  7ampos que listo a continuaci%n4


$&CL$E*%E %ipo Autonumerico 9 con un ormato de tipo :CL$4:;00000
*)'+(E %eto
APEPA% %eto
APE'A% %eto
&$(ECC$)* %eto
%ele#ono %eto con una mascara de Entrada tipo <,===:/4:===<4====

EL 320#/LA012 7L1E;!E$, va a ser de tipo <ialogo #odal y todos sus botones


seran programados en macros auto?contenidos *esto se va a eplicar paso a
paso en los v&deo+

!ambi-n este formulario contendra un H1E0:1;7/L2 cuya funcion es


enlazar y mostrar el historial de las ventas del 7L1E;!E mostrado en pantalla.
*esto lo complementaremos cuando hayamos elaborado nuestra tabla de
ventas junto con su formulario+.

Pantalla de Proveedores en Access 2010 | Punto de


Venta | Entrega >

La Pantalla de Proveedores en un unto de :enta tambi-n es fundamental para


llevar su control y registro, con ello podremos tener al d&a sus datos de
registro as& como tambi-n pretendemos llevar el seguimiento a las compras que les
estaremos realizando.

:amos a ocupar tanto una !abla de roveedores y un


3ormulario de roveedores, que a continuaci%n describo4

En la tabla de roveedores vamos a necesitar K campos como se listan enseguida...


1<D02:EE<20 * tipo Autonumerico+ y con un formato de tipo :P()V4:;00000
;2#0E *tipo teto+
0AQ2;D$271AL *tipo teto+
<10E7712; *tipo teto+
!ELE32;2 *tipo teto+ con una mascara de en trada  <,===:/4:===<4====
037 *tipo teto+

También podría gustarte