Ayuda en Access
lunes, 6 de mayo de 2013
Factura Larga
Private Sub Can1_Change()
Sub1.Value = Pre1.Value * Can1.Value
Total = Val(Total) + Val(Sub1)
End Sub
Private Sub Can2_Change()
Sub2.Value = Pre2.Value * Can2.Value
Total = Val(Total) + Val(Sub2)
End Sub
Private Sub Cod1_Change()
If Nit.Value = "" Then
MsgBox "Debe ingresar todos los datos del cliente", vbOKOnly, "Resultado"
Nit.SetFocus
End If
Sheets("Base_de_Datos").Select
Range("A1").Select
On Error Resume Next
Cells.Find(What:=Cod1.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
Pro1 = ActiveCell
ActiveCell.Offset(0, 1).Select
Pre1 = ActiveCell
ActiveCell.Offset(0, 1).Select
Exi1 = ActiveCell
End Sub
Private Sub Cod2_Change()
If Cod1.Value = "" Then
MsgBox "Debe ingresar datos en la fila 1", vbOKOnly, "Resultado"
Cod1.SetFocus
End If
Sheets("Base_de_Datos").Select
Range("A1").Select
On Error Resume Next
Cells.Find(What:=Cod2.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
Pro2 = ActiveCell
ActiveCell.Offset(0, 1).Select
Pre2 = ActiveCell
ActiveCell.Offset(0, 1).Select
Exi2 = ActiveCell
End Sub
Private Sub CommandButton1_Click()
Sheets("Clientes").Select
Range("A1").Select
If comparacion.Caption <> Nit.Value Then
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = Nombre.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Direccion.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Nit.Value
End If
Sheets("Facturación").Select
Range("E11").Select
ActiveCell = NoFact.Caption
Range("B13").Select
ActiveCell = Nombre.Value
Range("E13").Select
ActiveCell = Nit.Value
Range("B15").Select
ActiveCell = Direccion.Value
Range("A20").Select
ActiveCell = Cod1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pro1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pre1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Can1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Sub1.Value
Sheets("Base_de_Datos").Select
Range("A1").Select
On Error Resume Next
Cells.Find(What:=Cod1.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 3).Select
ActiveCell = ActiveCell - Val(Can1)
Sheets("Facturación").Select
Range("A21").Select
ActiveCell = Cod2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pro2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pre2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Can2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Sub2.Value
Range("A22").Select
ActiveCell = Cod3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pro3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pre3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Can3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Sub3.Value
Range("A23").Select
ActiveCell = Cod4.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pro4.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Pre4.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Can4.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = Sub4.Value
MsgBox "Los datos fueron guardados con éxito", vbOKOnly, "Resultado"
[XFD1] = [XFD1] + 1
Private Sub Nit_Change()
Sheets("Clientes").Select
Range("A1").Select
On Error Resume Next
Cells.Find(What:=Nit.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
comparacion.Caption = ActiveCell
If comparacion.Caption = Nit.Value Then
Selection.Offset(, -2).Select
Nombre.Value = ActiveCell
Selection.Offset(, 1).Select
Direccion.Value = ActiveCell
End If
End Sub
Private Sub UserForm_Initialize()
Nit.SetFocus
Fecha.Value = Date
Sheets("Facturación").Select
Dim fact As Double
fact = [XFD1] + 1
NoFact.Caption = fact
End Sub
martes, 2 de octubre de 2012
Log-In en Visual Basic
Se inicia creando un formulario con la siguiente estructura (conteniendo labels, textbox, comandbuttons)
(Se utiliza menu.Hide, porque ésta fué la denominación que se le dió al userform)
Al correr el menú, el botón deberá trasladar al formulario del nuevo ingreso de usuarios.
El Userform deberá verse algo como ésta estructura:
(lo que se encuentra en morado, son las denominaciones que le fueron cambiadas a los textbox, en lugar de los nombres predeterminados)
En el botón de "Regresar a Menú" se copia el código que cierra el userform actual, y conduce al anterior:
Private Sub regresar_Click()
nuevousuario.Hide
menu.Show
End Sub
En el CommandButton de "Entrar" se copia la siguiente condición:
Private Sub entrar_Click()
If usuario.Text = Hoja1.Range("a1") And contraseña.Text = Hoja1.Range("b1") Or usuario.Text = Hoja1.Range("a2") And contraseña.Text = Hoja1.Range("b2") Or usuario.Text = Hoja1.Range("a3") And contraseña.Text = Hoja1.Range("b3") Or usuario.Text = Hoja1.Range("a4") And contraseña.Text = Hoja1.Range("b4") Or usuario.Text = Hoja1.Range("a5") And contraseña.Text = Hoja1.Range("b5") Or usuario.Text = Hoja1.Range("a6") And contraseña.Text = Hoja1.Range("b6") Or usuario.Text = Hoja1.Range("a7") And contraseña.Text = Hoja1.Range("b7") Then
MsgBox "Bienvenido a Shot's System", vbInformation, "felicidades"
Unload login
menu.Show
Else
MsgBox "Nombre de usuario o Contraseña Incorrecta", vbCritical, "alerta"
End If
End Sub
Y en el botón "Cancelar" se copia el siguiente código, el cual cerrará automáticamente el formulario al cancelar la operación.
Private Sub cancelar_Click()
Unload login
End Sub
Al ingresar datos correctos o ya existentes en la matriz, aparecerá un msgBox con el mensaje "Bienvenido", el cual deberá trasladar al siguiente formulario.
Trasladará al siguiente formulario, que será el Menú, en el cual se encuentra el botón de opción para Ingresar un Nuevo Usuario (con su respectiva contraseña)
En el CommandButton para Ingresar Nuevo Usuario, se pega el sig. código:
Private Sub CommandButton1_Click()
menu.Hide
nuevousuario.Show
End Sub
(Se utiliza menu.Hide, porque ésta fué la denominación que se le dió al userform)
Al correr el menú, el botón deberá trasladar al formulario del nuevo ingreso de usuarios.
El Userform deberá verse algo como ésta estructura:
En el botón de "Crear" se copia el siguiente código:
Private Sub crear_Click()
If nusuario.Value = "" Or ncontraseña.Value = "" Then
MsgBox "Por favor debe llenar todos los Datos", vbCritical, "alerta"
Else
Hoja1.Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Hoja1.Range("a3").Value = nusuario.Value
Hoja1.Range("b3").Value = ncontraseña.Value
MsgBox "Su cuenta de Usuario a sido Creada Satisfactoriamente", vbInformation, "felicidades"
MsgBox "Desea crear una cuenta mas", vbYesNo
nusuario.Text = ""
ncontraseña.Text = ""
cncontraseña.Text = ""
End If
End Sub
(lo que se encuentra en morado, son las denominaciones que le fueron cambiadas a los textbox, en lugar de los nombres predeterminados)
En el botón de "Regresar a Menú" se copia el código que cierra el userform actual, y conduce al anterior:
Private Sub regresar_Click()
nuevousuario.Hide
menu.Show
End Sub
Log-In en Visual Basic, Ingreso con usuario y contraseña
Se busca crear un Userform al cual se pueda ingresar directamente desde el documento, sin visualizar los datos, a menos que se ingrese con el nombre de usuario y contraseña correctos.
Al ingresar algún dato incorrecto, deberá mostrarse una ventana de error
Para tener acceso a la matriz de Excel, se deben ingresar los datos correctos que ya fueron establecidos. Al hacerlo, deberá mostrarse una ventana de mensaje "Bienvenido"
Se inicia creando un Userform. El área de Nombre de Usuario e Ingresar Contraseña serán etiquetas (Labels), el espacio para escribirlas serán Textbox, y los botones inferiores serán Command Buttons.
Se ingresa el siguiente código en el Command Button "Login":
Private Sub CommandButton1_Click()
If usuario.Text = "Pineda" And contraseña.Text = "12345" Then
MsgBox "Bienvenido a Maderas S.A."
Application.Visible = True
Unload UserForm1
Else
MsgBox "Nombre o Contraseña Incorrectos", vbCritical, "Alerta"
End If
End Sub
El cual indica, que si la primer caja de texto es igual al nombre de usuario indicado, y la segunda es igual a la contraseña, entonces aparecerá una caja con el mensaje "Bienvenido", "Application.Visible=True" es utilizado para mostrar objetos, y "Unload UserForm1" indica que se cierra automáticamente el userform, en caso de que los datos sean correctos.
En caso de datos equivocados, se muestra la caja de mensaje indicándolo, la cual se programa con el código , vbCritical, "Alerta"
En el CommandButton 2 se ingresa el sig. Código, para cancelar la operación:
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Al textbox para ingresar contraseña se le cambiará el nombre en las propiedades a la izquierda del Userform. En éste caso, será denominado "contraseña"
Se ingresa el sig. Código:
Private Sub contraseña_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
contraseña.Text = ""
contraseña.ForeColor = &H400040
contraseña.PasswordChar = "*"
End Sub
El cual indica en "MouseDown" que, al hacer click sobre la caja de texto, se borrará el contenido.
Ésto se realiza, cambiando las propiedades en la parte superior derecha de la ventana, cambiando las propiedades.
También se especifica el color del texto de fondo, y se utiliza "*" para sustituír y proteger los datos.
Lo mismo se realiza con el espacio de usuario, con el sig. código:
Private Sub usuario_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
usuario.Text = ""
usuario.ForeColor = &H400040
End Sub
martes, 4 de septiembre de 2012
Botón buscar con Macro en Visual Basic (Excel) y Ocultar Datos
Primero, se debe crear una base de datos.
En visual Basic, Se crea un formulario con el botón "Buscar"
Desde la hoja de excel, se graba una macro. La opción se encuentra en la pestaña "Programador"
Mientras se graba la macro, presionar Ctrl+B para buscar un registro.En la ventana que emerge, se escribe el dato que se desea buscar [click en "buscar siguiente"] y se detiene la macro
La macro se guardará en un módulo. Se copia el código de la macro
y se pega en el código del botón buscar en el UserForm
A continuación, se encuentra resaltado el código con el que se debe modificar la estructura del botón buscar, y se deben cambiar las indicaciones según sea el caso.
En el formulario, se debe agregar una etiqueta o Label, la cual debe permanecer oculta. Ésta cumplirá la función de una memoria caché en el formulario.
Se oculta desde la ventana de propiedades a la izquierda, en el área "visible". Se debe cambiar el valor de visible verdadero a falso.
jueves, 16 de agosto de 2012
Ocultar Datos en un Formulario
Como primer paso, se debe crear una nueva tabla, con el diseño deseado:
Siguiente, creamos un formulario, desde el botón "Formulario" en la pestaña Crear.
Una vez creado el formulario, ingresamos a "Vista Diseño" para modificarlo
En vista diseño, se da doble click sobre los datos que deseemos ocultar, y aparecerá una ventana a la derecha del diseño del formulario. En la pestaña Formato, se cambia la opción "visible" según sea el dato que querramos ocultar.
Se guarda el diseño del formulario, una vez modificados los datos deseados.
Cambiamos a vista Formulario, y podemos notar que se han ocultado los datos indicados:
A partir de éstos pasos, el formulario está listo para llenarse.
Siguiente, creamos un formulario, desde el botón "Formulario" en la pestaña Crear.
Una vez creado el formulario, ingresamos a "Vista Diseño" para modificarlo
En vista diseño, se da doble click sobre los datos que deseemos ocultar, y aparecerá una ventana a la derecha del diseño del formulario. En la pestaña Formato, se cambia la opción "visible" según sea el dato que querramos ocultar.
Se guarda el diseño del formulario, una vez modificados los datos deseados.
Cambiamos a vista Formulario, y podemos notar que se han ocultado los datos indicados:
A partir de éstos pasos, el formulario está listo para llenarse.
jueves, 9 de agosto de 2012
Relaciones Cruzadas
Para comenzar, debemos crear dos tablas: La primera, de alumnos; y la segunda, de Programas. Deben contener datos como códigos y nombres. La clave principal será fijada en los Códigos.
Siguiente, se crea una relación entre las columnas de Programas de ambas tablas
Al terminar la relación, debemos ingresar a Diseño de Consulta, desde la pestaña Crear.
Se añaden las dos tablas
Se establecen los datos y su orden. Ésto se hace arrastrando el elemento al primer espacio, con el cursor.
Al hacer clic derecho en alguno de los cuadros, debe seleccionarse la opción "Totales" que fijará donde estará la cuenta
Se crean referencias cruzadas desde la opción "General" en la pestaña de Diseño, lo cual añadirá un espacio en las filas de la consulta, con el nombre "Tab ref cruz"
Se establecen cuáles serán las filas, cuáles las columnas, y cuál será el valor.
Se obtiene como resultado la tabla de Referencias Cruzadas (vista hoja de datos)
Suscribirse a:
Entradas (Atom)