Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Como crear un sistema de inventario en vb



  1. Introducción
  2. Inicio
    del Proyecto
  3. Creación de la base de
    datos
  4. Creación de las tablas de la base de
    datos
  5. Creando los formularios
  6. Creando la conexión con la base de datos
    y la tabla

Introducción

El propósito 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 cuántas 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 valiosísima
colección de discos, libros, música,
películas, etc.

Para este ejercicio crearemos una base de
datos llamada Inventario y dentro de ella tendremos tres
tablas llamadas: Productos, Entradas y
Salidas. Con los tipos de datos que se muestran a
continuación.

Monografias.com

En el tutorial "Cómo crear una base
de datos en Access con Visual Basic" publicado en la
página: www.abcdatos.com/tutoriales/tutorial/z6124.html se
las hallan instrucciones detalladas sobre cómo crear las
tablas, sin embargo haremos un repaso breve.

Inicio del
Proyecto

  • a) Crea una carpeta que
    será exclusiva para el ejercicio que se
    llamará: "inventario" para guardar todos
    los componentes del proyecto.

Inicio de Visual Basic

  • a) Haz clic en el botón
    Inicio, señala Todos los
    programas
    .

  • b) Señala Microsoft
    Visual Studio 6.0
    , y haz clic en Microsoft Visual
    Basic 6.0
    .

  • c) Crea un proyecto EXE
    estándar y guárdalo como inventario en
    la carpeta del mismo nombre.

  • d) Por el momento no haremos nada
    con el formulario inicial.

Creación
de la base de datos

  • a) Haz clic en el botón
    Complementos de la barra de herramientas.

  • b) Haz clic en Administrador
    visual de datos

Monografias.com

  • c) Y se abrirá el
    Administrador visual de datos (VisData (Visual Data
    Manager)).

  • d) Haz clic en Archivo,
    Nuevo…, Microsoft Access, MDB de la
    versión 7.0

Monografias.com

  • e) En la caja Seleccione la
    base de datos de Microsoft Access que desea crear
    , en
    Guardar en, busca y selecciona la misma carpeta
    -creada anteriormente- en donde se guardará el
    proyecto, en Nombre: escribe un nombre que identifique
    la base de datos (usualmente el mismo nombre de la carpeta) y
    haz clic en el botón Guardar.

Monografias.com

f) Ahora aparece nuevamente el
Administrador visual de datos listo para empezar a
trabajar.

Monografias.com

Creación
de las tablas de la base de datos

  • a) Para este ejercicio crearemos
    tres tablas (ver página 1). Haz clic con el
    botón derecho del ratón dentro de la Ventana
    de base de datos
    y haz clic en Nueva tabla. En la
    caja Estructura de tabla, Nombre de la tabla:
    escribe el nombre de la tabla, para el ejercicio la tabla se
    llamará productos, y haz clic en el
    botón Agregar campo.

Monografias.com

  • b) En la caja Agregar
    campo
    , Nombre: escribe el nombre del primer campo
    de la tabla que estamos creando, para el ejercicio
    agregaremos cuatro campos, a saber: nodeparte,
    descripción, costo y
    cantidadminima.

Monografias.com

  • c) En Tipo: selecciona el
    tipo de datos que contendrá el campo, en nuestro caso
    serán:- campo: nodeparte, tipo de datos:
    Long, tamaño: 4- campo: descripcion,
    tipo de datos: Text, tamaño: 50- campo:
    costo, tipo de datos: Currency, tamaño:
    8- campo: cantidadminima, tipo de datos: Long,
    tamaño: 4

  • d) En Tamaño:
    selecciona la cantidad de caracteres (incluyendo espacios)
    que tendrá el campo (ver arriba) y haz clic en
    Aceptar.

  • e) Para agregar los otros campos
    de la tabla, nuevamente haz clic en el botón
    Agregar campo y repite los pasos desde el punto "c)"
    (Nombre, Tipo y Tamaño) para cada campo que
    tendrá la tabla.

  • f) Al terminar de crear los
    campos, hacemos clic en el botón Agregar
    Índice
    y en la ventana Agregar índice to
    productos
    agregaremos como índice el campo
    nodeparte haciéndole doble clic en la caja
    Campos disponibles y escribiendo en la caja de texto
    Nombre: nodeparteindice. Y haz clic en Aceptar.
    Como se ve abajo.

  • g) Cuando hayas agregado los
    campos de la tabla haz clic en el botón Generar la
    tabla
    .

Monografias.com

  • h) Y la tabla la podrás ver
    en el Administrador visual de datos
    (VisData
    ).

  • Monografias.com

  • i) Repite los pasos -desde el
    punto "a)" para crear dos tablas más con los
    siguientes campos:

Monografias.com

Haz doble clic en la tabla que acabas de
crear (productos) para mostrar la ventana Dynaset:
productos
, haz clic en el botón Agregar para
introducir el siguiente registro: Número de parte:
10, Descripción pluma, Costo 12.50,
Mínimo 20 y haz clic en Actualizar para
agregarlo a la tabla productos de la base de datos
inventario.

Monografias.com

Introduce ahora los registros:

No de parte

Descripción

Costo

Mínimo

20

LAPIZ

5.75

40

30

BORRADOR

10.15

60

Creando los
formularios

Formulario de Inicio

Crearemos un formulario que nos
servirá de pantalla de inicio y contendrá el
menú principal.

Monografias.com

Así que entonces crea el formulario
de inicio, que para iniciar en el centro de la pantalla debes
modificar su propiedad StartUpPosition a
2-CenterScreen, modifica su propiedad Caption a
Sistema de Inventario, crea el menú con las opciones
Productos, Entradas, Salidas,
Inventario y Salir.

Obviamente crearemos cinco formularios en
total que llamaremos modificando su propiedad (Nombre):
frminicio, frmproductos, frmentradas,
frmsalidas y frminventario.

El código del menú que
nos permitirá ir de un formulario a otro y salir del
programa es:Private Sub productos_Click()

frminicio.Hide

frmproductos.Show

End Sub

Formulario Los Productos

En el formulario coloca cuatro etiquetas,
cuatro cajas de texto, dos controles Data, un MSFlexGrid y cuatro
botones como se ve a continuación.

Monografias.com

Creando la
conexión con la base de datos y la tabla

1. Conectando los controles Data

  • a) Selecciona cada uno de los
    controles Data y modifica sus propiedades como
    sigue:

  • b) DatabaseName: localiza
    la carpeta del proyecto y selecciona la base de datos
    (inventario) en donde se halla la tabla que vamos a
    conectar.

  • c) RecordSource: selecciona
    el nombre de la tabla (productos) cuyos campos se
    mostrarán en el formulario.

2. Conectando las cajas de texto

  • a) Selecciona una de las cajas
    de texto
    y modifica sus propiedades como
    sigue:

  • b) DataSource: selecciona
    Data1.

  • c) DataField: selecciona
    el nombre del campo de la tabla -que corresponda con
    la etiqueta – que se mostrará en la caja de
    texto.

  • d) Repite los pasos con cada
    caja de texto
    del formulario.

3. Conectando el MSFlexGrid.

a) Selecciona el objeto MSFlexGrid,
en su propiedad DataSource selecciona Data1,
modifica su propiedad Cols a 5, cambia su propiedad
Rows a 3.

Corre el programa para comprobar que las
conexiones se realizaron correctamente y que se pueden ver los
registros en las cajas de texto correspondientes y en el
MSFlexGrid.

Codificando

Códigos del formulario
Productos:

Private Sub Form_Load()

Me.Data1.Refresh

For t = 0 To MSFlexGrid1.Cols –
1

MSFlexGrid1.FixedAlignment(t) =
4

Next t

MSFlexGrid1.ForeColor =
&H40C0&

MSFlexGrid1.ColWidth(0) = 350

MSFlexGrid1.ColWidth(1) = 1100

MSFlexGrid1.ColWidth(2) = 1500

MSFlexGrid1.ColWidth(3) = 900

MSFlexGrid1.ColWidth(4) = 1500

Me.Text1.Enabled = False

End Sub

Para centrar el encabezado de las columnas,
determinar la anchura de las columnas y usar texto café en
el MSFlexGrid, deshabilitar la caja de texto1 ya que este campo
no será capturado ni editable por el usuario.

Private Sub Form_Activate()

If Data1.Recordset.BOF And
Data1.Recordset.EOF Then

If MsgBox("No hay Registros en la Base de
Datos" + Chr(13) + "Vamos a Introducir el Primer Registro",
vbExclamation + vbOKOnly, "Aviso Importante") = vbOK
Then

Data2.RecordSource = "select max(nodeparte)
as losproductos from productos"

Data2.Refresh

Data1.Recordset.AddNew

If IsNull(Data2.Recordset!losproductos)
Then

Text1 = 1

Text1.Enabled = False

Text2.SetFocus

Text3 = ""

Text4 = ""

Else

Text1 = Data2.Recordset!losproductos +
1

Text1.Enabled = False

Text2.SetFocus

Text3 = ""

Text4 = ""

MSFlexGrid1.Row = 1

End If

End If

End If

Dim w As Integer

MSFlexGrid1.Row = 0

For w = MSFlexGrid1.FixedCols To
MSFlexGrid1.Cols – 1

MSFlexGrid1.Col = w

MSFlexGrid1.CellFontBold = True

MSFlexGrid1.CellForeColor =
vbBlue

Next w

MSFlexGrid1.Row = 0

MSFlexGrid1.Col = 0

End Sub

Para poner en negritas y color azul el
título de las columnas del MSFlexGrid.

Código del menú
Archivo, Volver al Menú:

Private Sub volveralmenu_Click()

frmproductos.Hide

frminicio.Show

End Sub

Para volver al menú
principal

Código del botón Agregar
Producto
:

Private Sub
cmdagregarreg_Click()

On Error GoTo
Err_cmdagregarreg_Click

Me.Data1.Refresh

Me.Data2.RecordSource = "select
max(nodeparte) as losproductos from productos"

Me.Data2.Refresh

Me.Data1.Recordset.AddNew

Me.MSFlexGrid1.Row = 0

If IsNull(Data2.Recordset!losproductos)
Then

Me.Text1 = 1

Me.Text1.Enabled = False

Me.Text2.SetFocus

Else

Me.Text1 = Data2.Recordset!losproductos +
1

Me.Text1.Enabled = False

Me.Text2.SetFocus

End If

Exit_cmdagregarreg_Click:

Exit Sub

Err_cmdagregarreg_Click:

MsgBox "Err.Description"

Resume Exit_cmdagregarreg_Click

End Sub

Para mediante que el data2 obtener el
número de registro o producto más alto y agregarle
una unidad, de manera que este número de producto no se
repita y se mostrará automáticamente, el usuario
iniciará su captura de datos en la caja de
texto2.

Código del botón Guardar
Producto
:

Private Sub
cmdguardarreg_Click()

If Text2 = "" Then

MsgBox "Por favor Introduce la
Descripción", vbOKOnly, "Alta de Productos"

Text2.SetFocus

Exit Sub

End If

If Text3 = "" Then

MsgBox "Por favor Introduce el Costo",
vbOKOnly, "Alta de Productos"

Text3.SetFocus

Exit Sub

End If

If Text4 = "" Then

MsgBox "Por favor Introduce la Cantidad
Mínima", vbOKOnly, "Alta de Productos"

Text4.SetFocus

Exit Sub

End If

Dim z As Long

z = Text1

Data1.UpdateRecord

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "El Producto Número: " &
z & Chr(13) + "Se Guardó en la Base de Datos" +
Chr(13) + "Con Todos los Datos Completos", vbInformation, "Alta
de Productos"

End Sub

Para guardar el registro en la base de
datos y notificar al usuario en caso de no completar un
campo.

Código del botón Buscar
Producto
:

Private Sub cmdbuscarreg_Click()

Dim g As Integer

g = Val(InputBox("Introduce el
Número del Producto que Buscas", "Búsqueda de
Productos"))

Data1.Recordset.FindFirst "nodeparte=" & g

If Data1.Recordset.NoMatch Then

MsgBox "El Producto Número: " &
g & " No está en la Base de Datos", vbExclamation,
"Búsqueda de Productos"

End If

End Sub

Para realizar búsquedas de registros
y notificar al usuario si no se halla en la base de
datos.

Código del botón Eliminar
Producto
:

Private Sub
cmdeliminarreg_Click()

If Data1.Recordset.EOF = False And
Data1.Recordset.BOF = False Then

If MsgBox("¿Estás Seguro de
Eliminar el Producto Número: " & Text1 & "?",
vbCritical + vbYesNo, "Eliminación de Productos") = vbYes
Then

Data1.Recordset.Delete

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "Muy Bien, Eliminaste el Producto",
vbExclamation, "Eliminación de Productos"

Else

MsgBox "No se Eliminó el Producto
Número: " & Text1, vbExclamation, "Eliminación
de Productos"

Text1 = ""

Text2 = "'"

Text3 = "'"

Text4 = ""

End If

End If

End Sub

Para eliminar registros y notificar al
usuario.

Código de la caja de texto1
(Número de parte):

Private Sub Text1_KeyPress(KeyAscii As
Integer)

If KeyAscii = 13 Then

Text2.SetFocus

End If

End Sub

Para avanzar con Enter a la siguiente caja
de texto

Código de la caja de texto2
(Descripción):

Private Sub Text2_KeyPress(KeyAscii As
Integer)

KeyAscii =
Asc(UCase(Chr(KeyAscii)))

If KeyAscii = 13 Then

Text3.SetFocus

End If

End Sub

Para introducir sólo
mayúsculas y avanzar a la siguiente caja de texto con
Enter.

Código de la caja de texto3
(Costo):

Private Sub Text3_KeyPress(KeyAscii As
Integer)

If KeyAscii = 13 Then

Text4.SetFocus

End If

End Sub

Para avanzar con Enter a la siguiente caja
de texto

Código de la caja de texto4
(Cantidad Mínima):

Private Sub Text4_KeyPress(KeyAscii As
Integer)

If KeyAscii = 13 Then

Me.cmdguardarreg.SetFocus

End If

End Sub

Para avanzar con Enter al botón
Guardar Producto.

Formulario Entradas de los
Productos

En el formulario coloca seis etiquetas,
seis cajas de texto, dos controles Data, un MSFlexGrid y cuatro
botones como se ve a continuación.

Monografias.com

1. Conectando los controles Data

  • a) Selecciona cada uno de los
    controles Data y modifica sus propiedades como
    sigue:

  • b) DatabaseName: localiza
    la carpeta del proyecto y selecciona la base de datos
    (inventario) en donde se halla la tabla que vamos a
    conectar.

  • c) RecordSource: selecciona
    el nombre de la tabla (entradas) cuyos campos se
    mostrarán en el formulario.

2. Conectando las cajas de texto

  • a) Selecciona una de las cajas
    de texto
    y modifica sus propiedades como
    sigue:

  • b) DataSource: selecciona
    Data1.

  • c) DataField: selecciona
    el nombre del campo de la tabla -que corresponda con
    la etiqueta – que se mostrará en la caja de
    texto.

  • d) Repite los pasos con cada
    caja de texto
    del formulario.

3. Conectando el MSFlexGrid.

a) Selecciona el objeto MSFlexGrid,
en su propiedad DataSource selecciona Data1,
modifica su propiedad Cols a 7, cambia su propiedad
Rows a 3.

Codificando

Código del formulario
Entradas:

Private Sub Form_Load()

MSFlexGrid1.ColWidth(0) = 350

MSFlexGrid1.ColWidth(1) = 1000

MSFlexGrid1.ColWidth(2) = 1100

MSFlexGrid1.ColWidth(3) = 1000

MSFlexGrid1.ColWidth(4) = 1550

MSFlexGrid1.ColWidth(5) = 800

MSFlexGrid1.ColWidth(6) = 800

Text1.Enabled = False

End Sub

Para determinar la anchura de las columnas
del MSFlexGrid y deshabilitar la caja de texto1 ya que este campo
no será capturado ni editable por el usuario.

Código del menú
Archivo, Volver al Menú:

Private Sub volveralmenu_Click()

frmentradas.Hide

frminicio.Show

End Sub

Para volver al menú
principal

Código del botón Agregar
Entrada
:

Private Sub Command1_Click()

Data2.RecordSource = "select
max(nodeentrada) as lasentradas from entradas"

Data2.Refresh

Data1.Recordset.AddNew

If IsNull(Data2.Recordset!lasentradas)
Then

Text1 = 1

Else

Text1 = Data2.Recordset!lasentradas +
1

End If

Text1.Enabled = False

Text2.SetFocus

Text3 = ""

Text4 = ""

Text5 = ""

Text6 = ""

End Sub

Para mediante el data2 obtener el
número de registro o producto más alto y agregarle
una unidad, de manera que este número se mostrará
automáticamente, el usuario iniciará su captura de
datos en la caja de texto2.

Código del botón Guardar
Entrada
:

Private Sub Command2_Click()

If Text2 = "" Then

MsgBox "Por Favor Introduce la Fecha", ,
"Aviso Importante"

Text2.SetFocus

Exit Sub

End If

If Text3 = "" Then

MsgBox "Por Favor Introduce el
Número de Parte", , "Aviso Importante"

Text3.SetFocus

Exit Sub

End If

If Text4 = "" Then

MsgBox "Por Favor Introduce la
Descripción", , "Aviso Importante"

Text4.SetFocus

Exit Sub

End If

If Text5 = "" Then

MsgBox "Por Favor Introduce la Cantidad", ,
"Aviso Importante"

Text5.SetFocus

Exit Sub

End If

If Text6 = "" Then

MsgBox "Por Favor Introduce el Costo", ,
"Aviso Importante"

Text6.SetFocus

Exit Sub

End If

Dim x As Integer

x = Val(Text3)

frmproductos.Data1.Recordset.FindFirst
"nodeparte=" & x

If frmproductos.Data1.Recordset.NoMatch
Then

MsgBox "El Producto Número: " &
x & " No está en la Base de Datos", vbCritical,
"Agregando Entradas"

Text3.SetFocus

Exit Sub

End If

Dim e As Long

e = Val(Text1)

Data1.UpdateRecord

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "La Entrada Número: " & e
& " se Guardó en la Base de Datos", vbExclamation,
"Agregando Entradas"

End Sub

Para guardar el registro en la base de
datos y notificar al usuario cuando un número de parte no
se halle en la base de datos y cuando campo no sea
llenado.

Código del botón Buscar
Entrada
:

Private Sub Command3_Click()

Dim j As Integer

j = Val(InputBox("Introduce el
Número de la Entrada que Buscas", "Búsqueda de
Entradas"))

Data1.Recordset.FindFirst "nodeentrada=" & j

If Data1.Recordset.NoMatch Then

MsgBox "La Entrada Número: " & j
& " No está en la Base de Datos", vbExclamation,
"Búsqueda de Entradas"

End If

End Sub

Para realizar búsquedas de registros
y notificar al usuario si no se halla en la base de
datos.

Código del botón Eliminar
Entrada
:

Private Sub Command4_Click()

If MsgBox("¿Estás Seguro de
Eliminar la Entrada Número: " & Text1 & "?",
vbCritical + vbYesNo, "Eliminación de Entradas") = vbYes
Then

Data1.Recordset.Delete

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "Muy Bien, Eliminaste la Entrada",
vbExclamation, "Eliminación de Entradas"

Else

MsgBox "No se Eliminó la Entrada
Número: " & Text1, vbExclamation, "Eliminación
de Entradas"

End If

End Sub

Para eliminar registros y notificar al
usuario.

Código de la caja de texto4
(Descripción
):

Private Sub Text4_KeyPress(KeyAscii As
Integer)

KeyAscii =
Asc(UCase(Chr(KeyAscii)))

If KeyAscii = 13 Then

Text5.SetFocus

End If

End Sub

Para introducir sólo
mayúsculas y avanzar a la siguiente caja de texto con
Enter.

Formulario Salidas de los
Productos

En el formulario coloca seis etiquetas,
seis cajas de texto, dos controles Data, un MSFlexGrid y cuatro
botones como se ve a continuación.

Monografias.com

1. Conectando los controles Data

  • a) Selecciona cada uno de los
    controles Data y modifica sus propiedades como
    sigue:

  • b) DatabaseName: localiza
    la carpeta del proyecto y selecciona la base de datos
    (inventario) en donde se halla la tabla que vamos a
    conectar.

  • c) RecordSource: selecciona
    el nombre de la tabla (salidas) cuyos campos se
    mostrarán en el formulario.

2. Conectando las cajas de texto

  • a) Selecciona una de las cajas
    de texto
    y modifica sus propiedades como
    sigue:

  • b) DataSource: selecciona
    Data1.

  • c) DataField: selecciona
    el nombre del campo de la tabla -que corresponda con
    la etiqueta – que se mostrará en la caja de
    texto.

  • d) Repite los pasos con cada
    caja de texto
    del formulario.

3. Conectando el MSFlexGrid.

a) Selecciona el objeto MSFlexGrid,
en su propiedad DataSource selecciona Data1,
modifica su propiedad Cols a 7, cambia su propiedad
Rows a 3.

Codificando

Código del formulario
Salidas:

Private Sub Form_Load()

MSFlexGrid1.ColWidth(0) = 350

MSFlexGrid1.ColWidth(1) = 1000

MSFlexGrid1.ColWidth(2) = 1100

MSFlexGrid1.ColWidth(3) = 1000

MSFlexGrid1.ColWidth(4) = 1550

MSFlexGrid1.ColWidth(5) = 800

MSFlexGrid1.ColWidth(6) = 800

Text1.Enabled = False

End Sub

Para determinar la anchura de las columnas
del MSFlexGrid y deshabilitar la caja de texto1 ya que este campo
no será capturado ni editable por el usuario.

Código del menú
Archivo, Volver al Menú:

Private Sub volveralmenu_Click()

frmsalidas.Hide

frminicio.Show

End Sub

Para volver al menú
principal

Código del botón Agregar
Salida
:

Private Sub Command1_Click()

Data2.RecordSource = "select
max(nodesalida) as lassalidas from salidas"

Data2.Refresh

Data1.Recordset.AddNew

If IsNull(Data2.Recordset!lassalidas)
Then

Text1 = 1

Else

Text1 = Data2.Recordset!lassalidas +
1

End If

Text1.Enabled = False

Text2.SetFocus

Text3 = ""

Text4 = ""

Text5 = ""

Text6 = ""End Sub

Para mediante el data2 obtener el
número de registro o producto más alto y agregarle
una unidad, de manera que este número se mostrará
automáticamente, el usuario iniciará su captura de
datos en la caja de texto2.

Código del botón Guardar
Salida
:

Private Sub Command2_Click()

If Text2 = "" Then

MsgBox "Por Favor Introduce la Fecha", ,
"Aviso Importante"

Text2.SetFocus

Exit Sub

End If

If Text3 = "" Then

MsgBox "Por Favor Introduce el
Número de Parte", , "Aviso Importante"

Text3.SetFocus

Exit Sub

End If

If Text4 = "" Then

MsgBox "Por Favor Introduce la
Descripción", , "Aviso Importante"

Text4.SetFocus

Exit Sub

End If

If Text5 = "" Then

MsgBox "Por Favor Introduce la Cantidad", ,
"Aviso Importante"

Text5.SetFocus

Exit Sub

End If

If Text6 = "" Then

MsgBox "Por Favor Introduce el Costo", ,
"Aviso Importante"

Text6.SetFocus

Exit Sub

End If

Dim w As Long

w = Val(Text1)

Data1.UpdateRecord

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "La Salida Número: " & w
& " se Guardó en la Base de Datos", vbExclamation,
"Agregando Salidas"

End Sub

Para guardar el registro en la base de
datos y notificar al usuario cuando un campo no sea
llenado.

Código del botón Buscar
Salida
:

Private Sub Command3_Click()

Dim c As Integer

c = Val(InputBox("Introduce el
Número de la Salida que Buscas", "Búsqueda de
Salidas"))

Data1.Recordset.FindFirst "nodesalida=" & c

If Data1.Recordset.NoMatch Then

MsgBox "La Salida Número: " & c
& " No está en la Base de Datos", vbExclamation,
"Búsqueda de Salidas"

End If

End Sub

Para realizar búsquedas de registros
y notificar al usuario si no se halla en la base de
datos.

Código del botón Eliminar
Salida
:

Private Sub Command4_Click()

If MsgBox("¿Estás Seguro de
Eliminar la Salida Número: " & Text1 & "?",
vbCritical + vbYesNo, "Eliminación de Salidas") = vbYes
Then

Data1.Recordset.Delete

Data1.Refresh

MSFlexGrid1.Refresh

MsgBox "Muy Bien, Eliminaste la Salida",
vbExclamation, "Eliminación de Salidas"

Else

MsgBox "No se Eliminó la Salida
Número: " & Text1, vbExclamation, "Eliminación
de Salidas"

End If

End Sub

Para eliminar registros y notificar al
usuario.

Código de la caja de texto4
(Descripción
):

Private Sub Text4_KeyPress(KeyAscii As
Integer)

KeyAscii =
Asc(UCase(Chr(KeyAscii)))

If KeyAscii = 13 Then

Text5.SetFocus

End If

End Sub

Para introducir sólo
mayúsculas y avanzar a la siguiente caja de texto con
Enter.

Formulario Inventario de los
Productos

En el formulario coloca seis etiquetas,
seis cajas de texto, tres controles Data y un botón como
se ve a continuación.

Monografias.com

1. Conectando los controles Data

  • a) Selecciona cada uno de los
    controles Data y modifica sus propiedades como
    sigue:

  • b) DatabaseName: localiza
    la carpeta del proyecto y selecciona la base de datos
    (inventario) en donde se halla la tabla que vamos a
    conectar.

  • c) RecordSource: cada
    control data se conectará a una tabla
    diferente
    , selecciona el nombre de la tabla
    (productos, entradas y salidas).

  • d) Modifica la propiedad
    Visible de los controles data a
    False.

2. Conectando las cajas de texto

  • a) Selecciona una de las cajas
    de texto
    y modifica sus propiedades como
    sigue:

  • b) DataSource: selecciona
    Data1.

  • c) DataField: selecciona
    el nombre del campo de la tabla -que corresponda con
    la etiqueta – que se mostrará en la caja de
    texto.

  • d) Únicamente se
    conectarán las tres primeras cajas de texto al control
    Data1
    .

Codificando

Código del formulario Inventario
de los Productos
:

Private Sub Form_Load()

Text1.Enabled = False

Text2.Enabled = False

Text3.Enabled = False

Text4.Enabled = False

Text5.Enabled = False

Text6.Enabled = False

End Sub

Para deshabilitar las cajas de texto ya que
los campos serán sólo para consulta.

Código del menú
Archivo, Volver al Menú:

Private Sub volveralmenu_Click()

frminventario.Hide

frminicio.Show

End Sub

Para volver al menú
principal

Código del botón Buscar
Producto
:

Private Sub Command1_Click()

Dim t As Integer

t = Val(InputBox("Introduce el
Número del Producto que Buscas", "Búsqueda de
Productos"))

Data1.Recordset.FindFirst "nodeparte=" & t

Data2.RecordSource = "select sum(cantidad)
as totalentradas from entradas where nodeparte=" &
Text1

Data2.Refresh

If IsNull(Data2.Recordset!totalentradas)
Then

MsgBox "El Producto Número: " &
t & " No Tiene Entradas", vbCritical, "Aviso
Importante"

Text4 = ""

Exit Sub

Else

Text4 =
Data2.Recordset!totalentradas

End If

Data3.RecordSource = "select sum(cantidad)
as totalsalidas from salidas where nodeparte=" &
Text1

Data3.Refresh

If IsNull(Data3.Recordset!totalsalidas)
Then

MsgBox "El Producto Número: " &
t & " No Tiene Salidas", vbCritical, "Aviso
Importante"

Text5 = ""

Exit Sub

Else

Text5 =
Data3.Recordset!totalsalidas

End If

Text6 = Text4 – Text5

If Data1.Recordset.NoMatch Then

MsgBox "El Producto Número: " &
t & " No está en la Base de Datos", vbExclamation,
"Búsqueda de Productos"

End IfEnd Sub

El control data1 mostrará los datos del registro
en las cajas de texto uno a tres, el control data2
mostrará la suma de las entradas en la caja de texto
cuatro, el control data3 mostrará la suma de las salidas
en la caja de texto cinco y la caja de texto 6 mostrará el
inventario.

En el tutorial "Cómo crear una base
de datos en Access con Visual Basic" publicado en la
página: www.abcdatos.com/tutoriales/tutorial/z6124.html se
hallan instrucciones detalladas sobre cómo crear los
reportes que sean necesarios. Espero que este tutorial sea de
interés y ayuda para muchos.

Tutorial creado por: Lic. Jorge Alvarez
S.

Jkasa2003@yahoo.com.mx

 

Enviado por:

Rafael Freites Gonzalez

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter