1.- Creamos tabla productosTab
- Nombre del campo: IdProducto
- Tipo de datos: Autonumeración
- Propiedades del campo:
- Tamaño del campo: Entero largo
- Nuevos valores: Incrementalmente
- Indexado: Sí (Sin duplicados)
- Clave principal
- Nombre del campo: Producto
- Tipo de datos: Texto corto
- Propiedades del campo:
- Nombre del campo: Inventario
- Tipo de datos: Número
- Propiedades del campo:
- Tamaño del campo: Entero largo
- Formato: Estándar
- Lugares decimales: 2
- Nombre del campo: Stop
- Tipo de datos: Número
- Propiedades del campo:
- Tamaño del campo: Entero largo
- Formato: Estándar
- Lugares decimales: 2
2.- Creamos consulta productosCon en Vista SQL:
SELECT productosTab.IdProducto, productosTab.Producto
FROM productosTab
WHERE (((productosTab.Producto) Like "*" & [Formularios]![productosFor]![Buscar] & "*"))
ORDER BY productosTab.Producto;
3.- Creamos formulario productosSubFor
- Propiedades del formulario:
SELECT productosTab.IdProducto, productosTab.Producto, productosTab.Inventario, productosTab.stop
FROM productosTab
WHERE (((productosTab.IdProducto)=[Formularios]![productosFor]![ListaProducto]));
- Ancho: 12cm
- Selectores de registro: No
- Botones de navegación: No
- Barras de desplazamiento: Ninguna
- Al activar registro: [Procedimiento de evento]
Private Sub Form_Current()
'Si el valor del campo stop es igual o menor al campo inventario
If [stop].Value >= [inventario].Value Then
'La propiedad Visible de la etiqueta es igual a True
StopMinimo.Visible = True
'Caso contrario
Else
'Requerimos que la propiedad visible retorne a False,
'para que oculte la etiqueta en los productos que el inventario está bien.
StopMinimo.Visible = False
End If
End Sub
- Propiedades de la Sección Detalle
- Cuadro de texto
- Propiedades de la etiqueta del cuadro de texto
- Título: ID:
- Ancho: 1cm
- Alto: 0,556cm
- Superior: 1cm
- Izquierda: 1cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: IdProducto
- Origen del control: IdProducto
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 1cm
- Izquierda: 2cm
- Cuadro de texto
- Propiedades de la etiqueta del cuadro de texto
- Título: Producto:
- Ancho: 2cm
- Alto: 0,556cm
- Superior: 2cm
- Izquierda: 1cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: IdProducto
- Origen del control: IdProducto
- Ancho: 8cm
- Alto: 0,556cm
- Superior: 2cm
- Izquierda: 3cm
- Cuadro de texto
- Propiedades de la etiqueta del cuadro de texto
- Título: Inventario:
- Ancho: 2cm
- Alto: 0,556cm
- Superior: 3cm
- Izquierda: 1cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Inventario
- Origen del control: Inventario
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 3cm
- Izquierda: 3cm
- Cuadro de texto
- Propiedades de la etiqueta del cuadro de texto
- Título: Stop:
- Ancho: 2cm
- Alto: 0,556cm
- Superior: 4cm
- Izquierda: 1cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Inventario
- Origen del control: Inventario
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 4cm
- Izquierda: 3cm
- Etiqueta:
- Nombre: StopMinimo
- Título: Stop Minimo
- Ancho: 4cm
- Alto: 1cm
- Superior: 3,501cm
- Izquierda: 7cm
- Tamaño de la fuente: 20
- Alineación del texto: Centro
- Espesor de la fuente: Negrita
- Color del texto: #FF0000
4.- Creamos formulario productosNew
- Propiedades del formulario:
- Origen del registro: productosTab
- Título: Nuevo producto
- Emergente: Si
- Modal: Sí
- Ancho: 10cm
- Centrado automático: Si
- Selectores de registro: No
- Botones de navegación: No
- Barras de deplazamiento: Ninguna
- Cuadro de control: No
- Al cerrar: [Procedimiento de evento]
Private Sub Form_Close()
DoCmd.Close acForm, "productosFor"
DoCmd.OpenForm "productosFor"
End Sub
- Propiedades de la Sección Detalle
- Cuadro de texto:
- Propiedades de la etiqueta del cuadro de texto
- Título: ID:
- Ancho: 1,501cm
- Alto: 0,556cm
- Superior: 0,501cm
- Izquierda: 0,501cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: IdProducto
- Origen del control: IdProducto
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 0,501cm
- Izquierda: 2cm
- Habilitado: No
- Bloqueado: Sí
- Cuadro de texto:
- Propiedades de la etiqueta del cuadro de texto
- Título: Producto:
- Ancho: 2,501cm
- Alto: 0,556cm
- Superior: 1,199cm
- Izquierda: 0,501cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Producto
- Origen del control: Producto
- Ancho: 6cm
- Alto: 0,556cm
- Superior: 1,199cm
- Izquierda: 3cm
- Estilo del fondo: Transparente
- Color del fondo: #FCE6D4
- Cuadro de texto:
- Propiedades de la etiqueta del cuadro de texto
- Título: Inventario:
- Ancho: 2,501cm
- Alto: 0,556cm
- Superior: 1,905cm
- Izquierda: 0,501cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Inventario
- Origen del control: Inventario
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 1,905cm
- Izquierda: 3cm
- Estilo del fondo: Transparente
- Color del fondo: #FCE6D4
- Cuadro de texto:
- Propiedades de la etiqueta del cuadro de texto
- Título: Stop:
- Ancho: 2,501cm
- Alto: 0,556cm
- Superior: 2,619cm
- Izquierda: 0,501cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Stop
- Origen del control: Stop
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 2,619cm
- Izquierda: 3cm
- Estilo del fondo: Transparente
- Color del fondo: #FCE6D4
- Botón de comando:
- Nombre: Cerrar
- Título: Cerrar
- Ancho: 4cm
- Alto: 1cm
- Superior: 3,501cm
- Izquierda: 3cm
- Tamaño de la fuente: 18
- Espesor de la fuente: Negrita
- Color del texto: #F00000
- Al hacer clic: [Procedimiento de evento]
Private Sub Cerrar_Click()
DoCmd.Close
End Sub
5.- Creamos formulario productosFor
- Propiedades del formulario:
- Título: Movimiento de productos
- Emergente: Si
- Modal: Sí
- Ancho: 22cm
- Centrado automático: Si
- Selectores de registro: No
- Botones de navegación: No
- Barras de deplazamiento: Ninguna
- Cuadro de control: No
- Menú contextual: No
- Propiedades de la Sección Detalle
- Cuadro de texto:
- Propiedades de la etiqueta del cuadro de texto
- Título: Buscar:
- Ancho: 2cm
- Alto: 0,556cm
- Superior: 1cm
- Izquierda: 1cm
- Espesor de la fuente: Negrita
- Color del texto: #000000
- Propiedades del cuadro de texto:
- Nombre: Buscar
- Ancho: 3cm
- Alto: 0,556cm
- Superior: 1cm
- Izquierda: 3cm
- Después de actualizar: [Procedimiento de evento]
Private Sub Buscar_AfterUpdate()
Me!ListaProducto.Requery
End Sub
- Cuadro de lista:
- Nombre: ListaProducto
- Número de columnas: 2
- Ancho de columnas: 0cm;5cm
- Ancho: 5cm
- Alto: 9cm
- Superior: 2cm
- izquierda: 1cm
- Origen de la fila: productosCon
- Tipo de origen de la fila: Tabla/Consulta
- Columna dependiente: 1
- Al hacer clic: [Procedimiento de evento]
Private Sub ListaProducto_Click()
Me!SubFormulario.Requery
End Sub
- Insertamos un Subformulario
- Nombre: SubFormulario
- Objeto origen: productosSubFor
- Ancho: 12cm
- Alto: 6cm
- Superior: 1cm
- izquierda: 7cm
- Habilitado: No
- Bloqueado: Sí
- Botón de comando Nuevo registro
- Nombre: Nuevo
- Título: Nuevo
- Ancho: 4cm
- Alto: 1cm
- Superior: 8cm
- Izquierda: 7cm
- Tamaño de la fuente; 18
- Espesor de la fuente: Negrita
- Color del texto: #758C48
- Al hacer clic: [Procedimiento de evento]
Private Sub Nuevo_Click()
DoCmd.OpenForm "productosNew", acNormal, , , acFormAdd
End Sub
- Botón de comando: Editar registro
- Nombre: Editar
- Título: Editar
- Ancho: 4cm
- Alto: 1cm
- Superior: 8cm
- Izquierda: 12cm
- Tamaño de la fuente; 18
- Espesor de la fuente: Negrita
- Color del texto: #758C48
- Al hacer clic: [Procedimiento de evento]
Private Sub Editar_Click()
On Error GoTo Err_Editar_Click
Dim stDocName As String
Dim stLinkCriteria As String
If IsNull(Me![ListaProducto]) Then
MsgBox "Seleccione un registro de la lista"
ListaProducto.SetFocus
Else
stDocName = "productosNew"
stLinkCriteria = "[IdProducto]=" & Me![ListaProducto]
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Exit_Editar_Click:
Exit Sub
Err_Editar_Click:
MsgBox Err.Description
Resume Exit_Editar_Click
End Sub
- Botón de comando: Eliminar registro
- Nombre: Eliminar
- Título: Eliminar
- Ancho: 4cm
- Alto: 1cm
- Superior: 8cm
- Izquierda: 17cm
- Tamaño de la fuente; 18
- Espesor de la fuente: Negrita
- Color del texto: #758C48
- Al hacer clic: [Procedimiento de evento]
Private Sub Eliminar_Click()
On Error GoTo Err_Eliminar_Click
Dim Var As String
Dim Mensaje As Integer
Dim stLinkCriteria As String
If IsNull(Me![ListaProducto]) Then
MsgBox "Seleccione un registro de la lista"
ListaProducto.SetFocus
Else
stLinkCriteria = "[IdProducto]=" & Me![ListaProducto]
Mensaje = MsgBox("¿Estas seguro de querer eliminar el registro?.", vbYesNo + vbInformation, "Confirmar")
If Mensaje = vbYes Then
DoCmd.SetWarnings False
'borrar un registro tomando el valor de la llave de una Lista
Var = "DELETE * FROM productosTab WHERE productosTab.IdProducto =" & Val(Me.ListaProducto.Column(0))
DoCmd.RunSQL Var 'se ejecuta la consulta de eliminación
DoCmd.SetWarnings False
End If
End If
'Para actualizar cierro y abro el formulario
DoCmd.Close
DoCmd.OpenForm "productosFor"
Exit_Eliminar_Click:
Exit Sub
Err_Eliminar_Click:
MsgBox Err.Description
Resume Exit_Eliminar_Click
End Sub
- Botón de comando: Cerrar formulario
- Nombre: Cerrar
- Título: Cerrar formulario
- Ancho: 6cm
- Alto: 1cm
- Superior: 10cm
- Izquierda: 7cm
- Tamaño de la fuente; 18
- Espesor de la fuente: Negrita
- Color del texto: #903C39
- Punto de tabulación: No
- Al hacer clic: [Procedimiento de evento]
Private Sub Cerrar_Click()
On Error GoTo Err_Cerrar_Click
DoCmd.Close
Exit_Cerrar_Click:
Exit Sub
Err_Cerrar_Click:
MsgBox Err.Description
Resume Exit_Cerrar_Click
End Sub
- Botón de comando: Salir de Access
- Nombre: Salir
- Título: Salir de Access
- Ancho: 6cm
- Alto: 1cm
- Superior: 10cm
- Izquierda: 15cm
- Tamaño de la fuente; 18
- Espesor de la fuente: Negrita
- Color del texto: #903C39
- Al hacer clic: [Procedimiento de evento]
Private Sub Salir_Click()
On Error GoTo Err_Salir_Click
DoCmd.Quit
Exit_Salir_Click:
Exit Sub
Err_Salir_Click:
MsgBox Err.Description
Resume Exit_Salir_Click
End Sub