Punto de Venta en Access

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 52

'Punto de Venta en Access + Excel Update Mayo 2020

'Youtube canal: todoenexcel

'Versión FREE

'Requisitos Mínimos: Windows 7, Microsoft Access 2007 y Microsoft Excel 2007 32 y 64 bits.

'País: México.

Dim ControlSeleccionado As Object

Dim ControlIndexTemp As MSForms.Control

Dim ImagenVenta As MSForms.Image

Dim IdUsuario As Long

Dim NombreUsuario As String

Dim IdCompraGlobal As Long

Dim TotalCompra As Double

Dim Inicio As Boolean

Dim LabelIdCuenta As Long

Dim IdArticuloFiltrado As Long

Dim IdCuentaActiva As Long

Dim CuentaActiva As String

Dim IdArticuloHistorial As Long

Dim CommandButtonIndex As MSForms.CommandButton

Public ActiveImageSelected As MSForms.Image

Dim DoEvents_Activate As Boolean


Dim ArticulosQuery As DAO.Recordset

Dim ComprasQuery As DAO.Recordset

Dim PrepararBusqueda_Activate As Boolean

Dim BusquedaItems_Activate As Boolean

'''

'''

Dim Palabra As Variant

'''

Dim ControlDate As ClassControlDate

'''

Dim FrameBusqueda As MSForms.Frame

Dim FrameBusquedaObject As ClassFrameHorizontal

Dim FramePromover As MSForms.Frame

Dim FramePromoverObject As ClassFrame

Dim FrameSeleccion As MSForms.Frame

Dim ArrayClassItem() As New ClassItem

Dim ContadorBusqueda As Long

'''

'''

Dim ArrayClassSeleccionCompras() As New ClassItemSelectCompras

Dim ContadorSeleccion As Long

'''

Public IdActiveRegistro As Long

'''

'''

Public DesactivarPorTiempo As Double


Public ModoLiberarMemoria As Boolean

Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton7_Click()

End Sub

Private Sub CommandButton8_Click()

End Sub

Private Sub CommandButtonAñadir_Enter()

BuscarCodigo.SetFocus

End Sub

Private Sub CommandButtonCalculadora_Click()

Dim Calculadora As String

On Error GoTo salir

Calculadora = "calc.exe"

Shell Calculadora, 1

Exit Sub

salir:

MsgBox "No se pudo iniciar calculadora!!!."

End Sub
Private Sub Label46_Click()

MsgBox FrameSeleccion.ScrollTop

End Sub

Private Sub Label55_Click()

End Sub

Private Sub Label58_Click()

End Sub

Private Sub Label70_Click()

End Sub

Private Sub Label74_Click()

End Sub

Private Sub LabelUsuario_Click()

'MsgBox FrameSeleccion.ActiveControl.TabIndex

' ControlIndexTemp.SetFocus

' BuscarCodigo.SetFocus
End Sub

Private Sub LabelVenta_Click()

MsgBox DLookup("Inventario", "Articulos", "IdArticulo = 51")

End Sub

Private Sub TextBoxCantidad_Change()

End Sub

Private Sub TextBoxCantidad_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Dim SimboloDecimal As String

SimboloDecimal = Mid(Format(0.1, ".0"), 1, 1)

Select Case KeyAscii

Case Asc("0") To Asc("9")

' Case Asc("-")

' If InStr(1, TextBoxControl.Text, "-") > 0 Or TextBoxControl.SelStart > 0 Then

' KeyAscii = 0

' End If

Case Asc(SimboloDecimal)

If TextBoxCantidad.SelLength <> Len(TextBoxCantidad.Text) Then

If InStr(1, TextBoxCantidad.Text, SimboloDecimal) > 0 Then

KeyAscii = 0

End If

End If

Case Else

KeyAscii = 0
End Select

End Sub

Private Sub TextBoxDescripcion_Change()

End Sub

Private Sub TextBoxDiferencia_Change()

End Sub

Private Sub TextBoxFolio_Change()

End Sub

Private Sub TextBoxFolio_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim FolioPersonalizado As Long

Dim VentasIdQuery As DAO.Recordset

Dim FoliosQuery As DAO.Recordset

Dim Indice As Variant

FolioPersonalizado = TextBoxFolio.Value

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = False

If ComprasQuery!IdVenta = IdCompraGlobal Then


ComprasQuery.Edit

ComprasQuery!Folio = FolioPersonalizado

ComprasQuery.Update

End If

ComprasQuery.MoveNext

Loop

If Not IsNull(DLookup("IdFolio", "FoliosCompra", "IdFolio = " & FolioPersonalizado)) Then Exit


Sub

Set FoliosQuery = CurrentDb.OpenRecordset("SELECT * FROM FoliosCompra;")

FoliosQuery.AddNew

FoliosQuery!IdFolio = FolioPersonalizado

FoliosQuery!IdUsuario = IdUsuario

FoliosQuery.Update

TextBoxFolio = FolioPersonalizado

End Sub

Private Sub LabelConsecutivoFolio_Click()

ConsecutivoFolio ' Referencia

End Sub

Private Sub ConsecutivoFolio()

Dim ComprasIdQuery As DAO.Recordset

Set ComprasIdQuery = CurrentDb.OpenRecordset("SELECT * FROM VentasId;")

ComprasIdQuery.AddNew

IdCompraGlobal = ComprasIdQuery!IdVenta
ComprasIdQuery.Update

Dim FoliosCompraQuery As DAO.Recordset

Set FoliosCompraQuery = CurrentDb.OpenRecordset("SELECT * FROM FoliosCompra;")

Dim Indice As Variant

Indice = DMax("IdFolio", "FoliosCompra")

If IsNull(Indice) Then

Indice = 1

Else

Indice = Indice + 1

End If

FoliosCompraQuery.AddNew

FoliosCompraQuery!IdFolio = Indice

FoliosCompraQuery!IdUsuario = IdUsuario

FoliosCompraQuery.Update

TextBoxFolio = Indice

End Sub

Private Sub TextBoxInventario_Change()

End Sub

Private Sub TextBoxUnidad_Change()

End Sub
Private Sub TextBoxUnitario_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Dim SimboloDecimal As String

SimboloDecimal = Mid(Format(0.1, ".0"), 1, 1)

Select Case KeyAscii

Case Asc("0") To Asc("9")

' Case Asc("-")

' If InStr(1, TextBoxControl.Text, "-") > 0 Or TextBoxControl.SelStart > 0 Then

' KeyAscii = 0

' End If

Case Asc(SimboloDecimal)

If TextBoxUnitario.SelLength <> Len(TextBoxUnitario.Text) Then

If InStr(1, TextBoxUnitario.Text, SimboloDecimal) > 0 Then

KeyAscii = 0

End If

End If

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub CommandButtonWindowConfig_Click()

ZConfigWindow.RenglonVentana = 16

Set ZConfigWindow.VentanaActiva = Me

ZConfigWindow.Show

End Sub
Private Sub UserForm_Initialize()

IdUsuario = 0

Dim PreferenciasQuery As DAO.Recordset

Set PreferenciasQuery = CurrentDb.OpenRecordset("SELECT * FROM Preferencias;")

If DLookup("Personalizado", "Preferencias", "Id = 16") = True Then

''' If DLookup("Top", "Preferencias", "Id = 16") <> 0 Then

Me.StartUpPosition = 0

Me.Top = DLookup("Top", "Preferencias", "Id = 16")

Me.Left = DLookup("Left", "Preferencias", "Id = 16")

Me.Height = DLookup("Height", "Preferencias", "Id = 16")

Me.Width = DLookup("Width", "Preferencias", "Id = 16")

Me.Zoom = DLookup("Zoom", "Preferencias", "Id = 16")

''' End If

Else

Me.StartUpPosition = 2

End If

Inicio = True

End Sub

Public Sub SetIdUsuario(IdTemp As Long)

IdUsuario = IdTemp

End Sub

Private Sub UserForm_Activate()

Dim UsuarioTemp As Variant


''' IdUsuario = 2

If IdUsuario = 0 Then

Usuarios.SetMode 2

Usuarios.Show

IdUsuario = Usuarios.GetUsuario()

Unload Usuarios

If IdUsuario = 0 Then

Unload Me

Exit Sub

End If

End If

UsuarioTemp = DLookup("Usuario", "Usuarios", "IdUsuario = " & IdUsuario)

If IsNull(UsuarioTemp) = False Then

NombreUsuario = UsuarioTemp

LabelUsuario = "Usuario: " & NombreUsuario & " Id-" & IdUsuario

End If

If Inicio = False Then Exit Sub

Inicio = False

ReDim ArrayClassSeleccionCompras(0)

ReDim ArrayClassItem(0)

ContadorSeleccion = 0

IdArticuloHistorial = 0

Set ComprasQuery = CurrentDb.OpenRecordset("SELECT * FROM Compras;")

'SELECT Ventas.*, Unidades.Unidad, Articulos.Articulo FROM Unidades INNER JOIN (Articulos


INNER JOIN Ventas ON Articulos.IdArticulo = Ventas.IdArticulo) ON (Unidades.IdUnidad =
Ventas.IdUnidad) AND (Unidades.IdUnidad = Articulos.IdUnidad);
Set ArticulosQuery = CurrentDb.OpenRecordset("SELECT Articulos.*, Categorias.Categoria,
Marcas.Marca, Unidades.Unidad FROM Unidades INNER JOIN (Marcas INNER JOIN (Categorias
INNER JOIN Articulos ON Categorias.IdCategoria = Articulos.IdCategoria) ON Marcas.IdMarca =
Articulos.IdMarca) ON Unidades.IdUnidad = Articulos.IdUnidad;")

Set ControlDate = New ClassControlDate

Set ControlDate.ComboBoxDia = ComboBoxDia

Set ControlDate.ComboBoxMes = ComboBoxMes

Set ControlDate.ComboBoxAño = ComboBoxAño

ControlDate.IniciarControlDate

Set ControlSeleccionado = Nothing

Set FrameBusquedaObject = New ClassFrameHorizontal

Set FrameBusqueda = Me.Controls.Add("Forms.Frame.1")

With FrameBusqueda

.Left = 620

.Top = 120

.Width = 300

.Height = 160 '144

'.Caption = "Detalles"

.Font.Size = 10

.ScrollBars = fmScrollBarsNone

End With

Set FrameBusquedaObject.ControlFrameSeleccion = FrameBusqueda

Set ImagenVenta = FrameBusqueda.Controls.Add("Forms.Image.1", "Image1")

With ImagenVenta

.Top = 10

.Left = 10
.Height = 140

.Width = 280

.PictureSizeMode = fmPictureSizeModeZoom

.BorderStyle = fmBorderStyleNone

.BackColor = vbWhite

End With

Set FrameSeleccionObject = New ClassFrame

Set FrameSeleccion = Me.Controls.Add("Forms.Frame.1")

With FrameSeleccion

.Left = 95

.Top = 290 '90 '132

.Width = 825 '290 '610

.Height = 190

'.Caption = "Selección"

.Font.Size = 10

.ScrollBars = fmScrollBarsVertical

End With

Set FrameSeleccionObject.ControlFrameSeleccion = FrameSeleccion

DoEvents_Activate = True

IdActiveRegistro = 0

''' ControlSeleccionado = 0

NuevaVenta

Me.Caption = "Punto de Venta en Access Update Mayo 2020 - Canal Youtube todoenexcel"

Do Until DoEvents_Activate = False

If Not FrameSeleccion.ActiveControl Is Nothing Then

If FrameSeleccion.ActiveControl.Tag = "Index" Then

''' Me.Caption = Int(FrameSeleccion.ActiveControl.Name) & " " & IdActiveRegistro

If Int(FrameSeleccion.ActiveControl.Name) <> IdActiveRegistro Then


IdActiveRegistro = Int(FrameSeleccion.ActiveControl.Name)

ActualizarDatosSeleccionado IdActiveRegistro

End If

End If

End If

If Not FrameSeleccion.ActiveControl Is Nothing Then

If FrameSeleccion.ActiveControl.Tag = "Index" Then

If Not FrameSeleccion.ActiveControl Is ControlSeleccionado Then

Set ControlSeleccionado = FrameSeleccion.ActiveControl

With ControlSeleccionado

.SelStart = 0

.SelLength = Len(.Text)

End With

If ControlSeleccionado.Top - 20 < FrameSeleccion.ScrollTop Then

FrameSeleccion.ScrollTop = ControlSeleccionado.Top - 20

End If

If (ControlSeleccionado.Top + ControlSeleccionado.Height + 27) >


(FrameSeleccion.ScrollTop + FrameSeleccion.Height) Then

FrameSeleccion.ScrollTop = (ControlSeleccionado.Top + ControlSeleccionado.Height


+ 27) - FrameSeleccion.Height

End If

End If

End If

End If

DoEvents

Loop
LiberarMemoriaSeleccion

Unload Me

End Sub

Private Sub NuevaVenta()

LiberarMemoriaSeleccion

LimpiarArticulo

ConsecutivoFolio

ControlDate.SetFecha Now()

FrameSeleccion.Controls.Clear

Set CommandButtonIndex = FrameSeleccion.Controls.Add("Forms.commandbutton.1",


"CommandButton1")

With CommandButtonIndex

.Top = 10

.Left = 1000

.Width = 50

.Height = 50

.Caption = "Idx 0"

.TabIndex = 0

End With

ContadorBusqueda = 0

ContadorSeleccion = 0

ReDim ArrayClassSeleccionCompras(0)
LabelTotal = "$ 0.00"

TextBoxTotalCompra = Empty

TextBoxTotalVenta = Empty

TextBoxDiferencia = Empty

TextBoxTotalItems = Empty

End Sub

Private Sub LimpiarArticulo()

''' IdActiveRegistro = 0

''' ControlSeleccionado = 0

IdCuentaActiva = 0

CuentaActiva = Empty

TextBoxDescripcion = Empty

TextBoxUnidad = Empty

TextBoxCantidad = Empty

TextBoxUnitario = Empty

TextBoxUnitarioVenta = Empty

TextBoxUnitarioCompra = Empty

TextBoxUnitarioSinImpuesto = Empty

TextBoxImpuesto = Empty

TextBoxInventario = Empty

Set ImagenVenta.Picture = Nothing

FrameBusqueda.Repaint

End Sub
Private Sub BuscarCodigo_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X
As Single, ByVal Y As Single)

With BuscarCodigo

.SelStart = 0

.SelLength = Len(.Text)

End With

End Sub

Private Sub CommandButton9_Click()

Dim ActivadoControl As MSForms.Control

For Each ActivadoControl In Me.Controls

If InStr(1, ActivadoControl.Name, "image", vbTextCompare) > 0 Then

MsgBox ActivadoControl.Name

Else

MsgBox ActivadoControl.TabIndex & " " & ActivadoControl.Name

End If

Next

End Sub

Private Sub CommandButtonCatalogo_Click()

Dim IndiceCodigo As Long

Dim Seleccionados As Long

Catalogo.Show

' Catalogo.CantidadSolicitada (1)

Seleccionados = 0

For IndiceCodigo = 1 To Catalogo.TotalItemsEnPedido


If Catalogo.CantidadSolicitada(IndiceCodigo) > 0 Then

AñadirItemenLista IndiceCodigo, Catalogo.CantidadSolicitada(IndiceCodigo)

Seleccionados = Seleccionados + 1

End If

Next

Unload Catalogo

If Seleccionados > 0 Then

ActualizarDatosSeleccionado ContadorSeleccion

FrameSeleccion.ScrollTop = ControlIndexTemp.Top

ControlIndexTemp.SetFocus

End If

BuscarCodigo.SetFocus

End Sub

Private Sub CommandButtonControlVentas_Click()

ControlVentas.Show

BuscarCodigo.SetFocus

End Sub

Private Sub CommandButtonEditarArticulo_Click()

Dim IdCodigoTemp As Long

IdCodigoTemp = ArrayClassSeleccionCompras(IdActiveRegistro).IdCodigoItem

AñadirArticulo.SetCodigo IdCodigoTemp

AñadirArticulo.Show
Unload AñadirArticulo

End Sub

Private Sub CommandButtonGuardarEnAccess_Click()

Dim IdImprimir As Long

IdImprimir = TextBoxFolio.Value

If TotalCompra = 0 Then

MsgBox "Seleccione un Item!!!"

Exit Sub

End If

GuardarRegistros

BuscarCodigo.SetFocus

'ReporteVentas IdImprimir, True

End Sub

Private Sub CommandButtonGuardarTicket_Click()

Dim IdImprimir As Long

IdImprimir = IdCompraGlobal

If TotalCompra = 0 Then

MsgBox "Seleccione un Item!!!"

Exit Sub

End If
GuardarRegistros

ReporteComprasSub IdImprimir, True

BuscarCodigo.SetFocus

End Sub

Private Sub GuardarRegistros()

Dim Inventario As Variant

Dim LineaExcel As Long

Confirmacion = MsgBox("Desea guardar este registro.", vbYesNo, "Guardar cambios")

If Confirmacion = vbYes Then

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = True

If ComprasQuery!IdCompra = IdCompraGlobal Then

ComprasQuery.Edit

If ComprasQuery!Status = "Compra en Proceso" Then

ComprasQuery!Status = "Compra O.K."

Else

If ComprasQuery!Status = "Compra Cancel" Then

Else

ComprasQuery!Status = "Error"

End If

End If

If IdCuentaActiva > 0 Then

ComprasQuery!IdCuenta = IdCuentaActiva

Else
ComprasQuery!IdCuenta = 1

End If

ComprasQuery.Update

End If

ComprasQuery.MoveNext

Loop

CurrentDb.Execute "INSERT INTO DevolucionesCompras SELECT * FROM Compras WHERE


(((Compras.[IdCompra])=" & IdCompraGlobal & ") AND ((Compras.[Status])='Compra
Cancel'));"

CurrentDb.Execute "DELETE * FROM Compras WHERE IdCompra=" & IdCompraGlobal & "
AND Status='Compra Cancel';"

NuevaVenta

Else

BuscarCodigo.SetFocus

End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'''

''' VentasQuery.MoveFirst

''' Do Until VentasQuery.EOF = True

''' If VentasQuery!IdVenta = IdVentaGlobal Then

''' VentasQuery.Edit

''' If VentasQuery!Status = "Venta en Proceso" Then

''' VentasQuery!Status = "Venta O.K."

''' Else

''' If VentasQuery!Status = "Venta Cancel" Then

'''

''' Else
''' VentasQuery!Status = "Error"

''' End If

''' End If

'''

''' If IdCuentaActiva > 0 Then

''' VentasQuery!IdCuenta = IdCuentaActiva

''' Else

''' VentasQuery!IdCuenta = 1

''' End If

''' VentasQuery.Update

''' End If

''' VentasQuery.MoveNext

''' Loop

'''

''' CurrentDb.Execute "INSERT INTO Devoluciones SELECT * FROM Ventas WHERE (((Ventas.
[IdVenta])=" & IdVentaGlobal & ") AND ((Ventas.[Status])='Venta Cancel'));"

''' CurrentDb.Execute "DELETE * FROM Ventas WHERE IdVenta=" & IdVentaGlobal & " AND
Status='Venta Cancel';"

'''

End Sub

Private Sub CommandButtonNuevoRegistro_Click()

AñadirArticulo.Show

End Sub

Private Sub MostrarDetallesCuentaFiltrada(IdCuentaTemp As Long, CuentaTemp As String)

IdCuentaActiva = IdCuentaTemp

CuentaActiva = CuentaTemp
Set ControlDescripcion = FramePromover.Controls.Add("Forms.Label.1", "Label1")

With ControlDescripcion

.Top = 10

.Left = 10

.Height = 12

.Width = 200

.Caption = CuentaTemp

End With

End Sub

Private Sub temporalcodigo()

Dim ArticulosQuery As DAO.Recordset

Set ArticulosQuery = CurrentDb.OpenRecordset("SELECT * FROM Articulos;")

ArticulosQuery.MoveLast

TotalItems = ArticulosQuery.RecordCount

ArticulosQuery.MoveFirst

ArticulosQuery.MoveLast

TotalItems = ArticulosQuery.RecordCount

ArticulosQuery.MoveFirst

ArticulosQuery.MoveNext

If ArticulosQuery.EOF = True Then

If PrimerRegistro = True Then

LimpiarRegistro

End If
BusquedaItems = False

Exit Sub

End If

TemporalGlobal = ArticulosQuery!Descripcion

End Sub

Public Sub AcomodarVentanaBusqueda(ItemLeft As Double, ItemWidth As Double)

If ItemLeft < FrameBusqueda.ScrollLeft Then

FrameBusqueda.ScrollLeft = ItemLeft - 10

End If

If (ItemLeft + ItemWidth) > (FrameBusqueda.ScrollLeft + FrameBusqueda.Width) Then

FrameBusqueda.ScrollLeft = ItemLeft - 310

End If

End Sub

Public Sub CategoriaActiva(CategoriaTemp As String)

Categoria = CategoriaTemp

InitializeCategorias_Activate = True

End Sub
Private Sub BuscarCodigo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As
Integer)

Dim Palabra As Variant

Palabra = TextoAPalabras(BuscarCodigo)

If UBound(Palabra) = 0 Then Exit Sub

If KeyCode = 13 Then

If IdArticuloFiltrado > 0 Then

AñadirItemenLista IdArticuloFiltrado, 1

IdArticuloHistorial = 0

BuscarCodigo = Empty

FrameSeleccion.ScrollTop = ControlIndexTemp.Top

ControlIndexTemp.SetFocus

BuscarCodigo.SetFocus

ActualizarDatosSeleccionado ContadorSeleccion

'CommandButtonAñadir.SetFocus

End If

End If

End Sub

Private Sub BuscarCodigo_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If Compras.Visible = True Then

If IdArticuloFiltrado > 0 Then

AñadirItemenLista IdArticuloFiltrado, 1
IdArticuloHistorial = 0

BuscarCodigo = Empty

ActualizarDatosSeleccionado ContadorSeleccion

End If

End If

End Sub

Public Sub ActualizarDatosSeleccionado(IdActiveRegistroTemp As Long)

Dim IdArticuloTemp As Long

Dim InventarioTemp As Double

Dim UnitarioVenta As Double

Dim ArticulosQueryTemp As DAO.Recordset

ComprasQuery.Requery

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = True

If ComprasQuery!IdTemporal = IdActiveRegistroTemp And ComprasQuery!IdCompra =


IdCompraGlobal Then

Exit Do

End If

ComprasQuery.MoveNext

Loop

IdArticuloTemp = ComprasQuery!IdArticulo

Set ArticulosQueryTemp = CurrentDb.OpenRecordset("SELECT Articulos.*, Unidades.*,


Articulos.IdArticulo AS IdArticuloTemp FROM Unidades INNER JOIN Articulos ON
Unidades.IdUnidad = Articulos.IdUnidad WHERE (((Articulos.IdArticulo)=" & IdArticuloTemp &
"));")

TextBoxDescripcion = ArticulosQueryTemp!Articulo

TextBoxUnitarioCompra = Format(ComprasQuery!UnitarioCompra, "#,##0.00")

TextBoxUnidad = ArticulosQueryTemp!Unidad

TextBoxCantidad = ComprasQuery!Cantidad

TextBoxUnitarioVenta = Format(ArticulosQueryTemp!Unitario, "#,##0.00")

InventarioTemp = DLookup("Inventario", "Articulos", "IdArticulo = " & IdArticuloTemp)

TextBoxInventario = Format(InventarioTemp, "@")

Variable = CurrentProject.Path & "\Tools\Images\" & IdArticuloTemp & ".jpg"

If Dir(Variable) <> "" Then

Set ImagenVenta.Picture = LoadPicture(Variable)

Else

Set ImagenVenta.Picture = ImageFaltaFoto.Picture

End If

FrameBusqueda.Repaint

End Sub

Private Sub BuscarCodigo_Change()

Dim Palabra As Variant

BuscarCodigo.BackColor = &H80000005

IdArticuloFiltrado = 0

Palabra = TextoAPalabras(BuscarCodigo)

If UBound(Palabra) = 0 Then

IdArticuloHistorial = 0
LimpiarArticulo

Exit Sub

End If

ArticulosQuery.MoveFirst

Do Until ArticulosQuery.EOF

TemporalGlobal = QuitarSimbolos(ArticulosQuery!Articulo & ArticulosQuery!Clave &


ArticulosQuery!BusquedaAlterna)

AñadirALista = True

For ContarTrues = 1 To UBound(Palabra)

If Not InStr(1, TemporalGlobal, Palabra(ContarTrues), vbTextCompare) > 0 Then

AñadirALista = False

Exit For

End If

Next

If AñadirALista = True Then

IdArticuloFiltrado = ArticulosQuery!IdArticulo

If IdArticuloFiltrado <> IdArticuloHistorial Then

ActualizarDatosBusqueda

IdArticuloHistorial = IdArticuloFiltrado

''' Exit Sub

End If

Exit Sub

End If

ArticulosQuery.MoveNext

Loop

IdArticuloHistorial = 0
''' FrameBusqueda.Controls.Clear

LimpiarArticulo

BuscarCodigo.BackColor = &HC0C0FF

End Sub

Private Sub ActualizarDatosBusqueda()

Dim UnitarioVenta As Double

Dim IdArticuloTemp As Long

Dim InventarioTemp As Double

IdArticuloTemp = ArticulosQuery!IdArticulo

TextBoxDescripcion = ArticulosQuery!Articulo

TextBoxUnidad = ArticulosQuery!Unidad

TextBoxCantidad = 1

UnitarioVenta = ArticulosQuery!Unitario ' + (ArticulosQuery!Unitario * ArticulosQuery!


Impuesto)

TextBoxUnitarioCompra = Format(ArticulosQuery!UnitarioCompra, "#,##0.00")

'TextBoxUnitarioSinImpuesto = Format(ArticulosQuery!Unitario, "#,##0.00")

TextBoxUnitarioVenta = Format(UnitarioVenta, "#,##0.00")

'TextBoxImpuesto = Format(ArticulosQuery!Unitario * ArticulosQuery!Impuesto, "#,##0.00")

InventarioTemp = DLookup("Inventario", "Articulos", "IdArticulo = " & IdArticuloTemp)

TextBoxInventario = Format(InventarioTemp, "@")

Variable = CurrentProject.Path & "\Tools\Images\" & IdArticuloTemp & ".jpg"

If Dir(Variable) <> "" Then

Set ImagenVenta.Picture = LoadPicture(Variable)

Else

Set ImagenVenta.Picture = ImageFaltaFoto.Picture


End If

FrameBusqueda.Repaint

End Sub

Private Sub PrepararBusquedaItems()

If PrepararBusqueda_Activate = False Then Exit Sub

LiberarMemoria

FrameBusqueda.Controls.Clear

CriterioBusqueda = 1

EsPrimeraFila = True

Palabra = TextoAPalabras(BuscarCodigo)

RenglonBusqueda = 1

'TotalItems = GetLastRow(Worksheets("Codigos"))

Set ArticulosQuery = CurrentDb.OpenRecordset("SELECT * FROM Articulos;")

ArticulosQuery.MoveFirst

ContadorBusqueda = 0

BusquedaItems_Activate = True

PrepararBusqueda_Activate = False

End Sub

Private Sub BusquedaItems()


Dim TemporalNumber As Long

Dim TemporalPalabra As String

Dim TemporalGlobal As String

Dim ControlImagen As MSForms.Image

Dim ControlDescripcion As MSForms.Label

Dim IdItem As Long

Dim AñadirALista As Boolean

If BusquedaItems_Activate = False Then Exit Sub

If ArticulosQuery.EOF Then Exit Sub

'If ContadorBusqueda > 20 Then BusquedaItems_Activate = False

RenglonBusqueda = RenglonBusqueda + 1

' If CriterioBusqueda = 1 Then

TemporalGlobal = ArticulosQuery!Articulo

'TextBoxDescripcion = TemporalGlobal & "rpueba"

' End If

' If CriterioBusqueda = 2 Then

' TemporalGlobal = QuitarSimbolos(Worksheets("Codigos").Range("I" &


RenglonBusqueda))

'

' End If

AñadirALista = True

For ContarTrues = 1 To UBound(Palabra)

TemporalPalabra = Palabra(ContarTrues)

If Not InStr(1, TemporalGlobal, Trim(QuitarSimbolos(TemporalPalabra)), vbTextCompare)


> 0 Then
AñadirALista = False

Exit For

End If

Next

'' If UBound(Palabra) = 0 And CriterioBusqueda = 2 Then

'' If Trim(TemporalGlobal) = "" Then

'' AñadirALista = True

'' Else

'' AñadirALista = False

'' End If

'' End If

If AñadirALista Then

AñadirALista = False

'TextBoxDescripcion = ArticulosQuery!Articulo

' IdItem = Worksheets("Codigos").Range("A" & RenglonBusqueda)

ContadorBusqueda = ContadorBusqueda + 1

If ContadorBusqueda = 1 Then

ReDim ArrayClassItem(1 To 1)

Else

ReDim Preserve ArrayClassItem(1 To ContadorBusqueda)

End If

FrameBusqueda.ScrollHeight = (ContadorBusqueda * 100) + 10

Set ControlImagen = FrameBusqueda.Controls.Add("Forms.Image.1", "Image1")

With ControlImagen

'RenglonPosicion = Int((ContadorRegistros - 1) / 5)
'ColumnaPosicion = (ContarImagenesAñadidas - 1) Mod 5

.Top = Int((ContadorBusqueda - 1) / 1) * 45 + 10

.Left = ((ContadorBusqueda - 1) Mod 1) * 45 + 10

'' If ContadorBusqueda Mod 2 = 0 Then

'' .Top = Fix((ContadorBusqueda - 1) / 2) * 150 + 10

'' .Left = 160

'' Else

'' .Top = Fix((ContadorBusqueda - 2) / 2) * 150 + 10

'' .Left = 15

'' End If

.Height = 40

.Width = 40

.PictureSizeMode = fmPictureSizeModeZoom

.BorderStyle = fmBorderStyleNone

End With

CargarArchivoImagenBusqueda ArticulosQuery!IdArticulo, ControlImagen

Set ControlDescripcion = FrameBusqueda.Controls.Add("Forms.Label.1", "Label1")

With ControlDescripcion

.Top = (ContadorBusqueda - 1) * 45 + 25

.Left = 60

.Height = 12

.Width = 200

.Caption = ArticulosQuery!Articulo

End With
Set ArrayClassItem(ContadorBusqueda).RegistroActual =
ArrayClassItem(ContadorBusqueda)

Set ArrayClassItem(ContadorBusqueda).ControlImagen = ControlImagen

'Set ArrayClassItem(ContadorBusqueda).ControlDescripcion = ControlDescripcion

ArrayClassItem(ContadorBusqueda).IdCodigoItem = ArticulosQuery!IdArticulo

End If

ArticulosQuery.MoveNext

End Sub

Private Sub CargarArchivoImagenBusqueda(IdImagen As Long, ControlImagenTemp As


MSForms.Control)

Dim Archivo As String

Archivo = CurrentProject.Path & "\Tools\Images\" & IdImagen & ".JPG"

On Error GoTo salir

If Dir(Archivo) <> "" Then

ControlImagenTemp.Picture = LoadPicture(Archivo)

Else

ControlImagenTemp.Picture = ImageFaltaFoto.Picture

End If

salir:

End Sub

Private Sub CommandButtonAñadir_Click()

BuscarCodigo.SetFocus

End Sub
Public Sub AñadirItemenLista(IdItemTemp As Long, CantidadAñadir As Double) '
CantidadAñadir as double

'SELECT Articulos.IdArticulo, Articulos.* FROM Articulos WHERE (((Articulos.IdArticulo)=1));

Dim Inventario As Double

Dim ControlCheckBox As MSForms.CheckBox

Dim ControlImagen As MSForms.Image

Dim ControlDescripcion As MSForms.Label

Dim ControlCantidad As MSForms.TextBox

Dim ControlUnitarioCompra As MSForms.TextBox

Dim ControlUnitarioVenta As MSForms.TextBox

Dim RenglonItem As Long

Dim ItemQuery As DAO.Recordset

Dim Consulta As String

Dim UnitarioVenta As Double

'Dim Archivo As String

''' Dim ControlTop As Double

Consulta = "SELECT Articulos.IdArticulo, Articulos.* FROM Articulos WHERE


(((Articulos.IdArticulo)=" & IdItemTemp & "));"

Set ItemQuery = CurrentDb.OpenRecordset(Consulta)

QueryCArray = Chr(116) & Chr(111) & Chr(100) & Chr(111) & Chr(101) & Chr(110) & Chr(101) &
Chr(120) & Chr(99) & Chr(101) & Chr(108)

ContadorSeleccion = ContadorSeleccion + 1

RenglonItem = IdItemTemp

If ContadorSeleccion = 1 Then

ReDim ArrayClassSeleccionCompras(1 To 1)

Else

ReDim Preserve ArrayClassSeleccionCompras(1 To ContadorSeleccion)

End If

QueryBArray = Chr(67) & Chr(97) & Chr(110) & Chr(97) & Chr(108)
FrameSeleccion.ScrollHeight = (ContadorSeleccion * 60) + 10

ArrayClassSeleccionCompras(ContadorSeleccion).IdListIndex = ContadorSeleccion

QueryDArray = Chr(80) & Chr(79) & Chr(83) & Chr(32) & Chr(85) & Chr(112) & Chr(100) &
Chr(97) & Chr(116) & Chr(101) & Chr(32) & Chr(77) & Chr(97) & Chr(121) & Chr(111) & Chr(32)
& Chr(50) & Chr(48) & Chr(50) & Chr(48) & Chr(32)

Set ControlCheckBox = FrameSeleccion.Controls.Add("Forms.CheckBox.1",


ContadorSeleccion)

With ControlCheckBox

.Top = (ContadorSeleccion - 1) * 60 + 25

.Left = 15

.Value = True

'.TabStop = False

.Tag = "IndexCheckBox"

End With

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlCheckBox = ControlCheckBox

QueryAArray = Chr(89) & Chr(111) & Chr(117) & Chr(116) & Chr(117) & Chr(98) & Chr(101)

Set ControlImagen = FrameSeleccion.Controls.Add("Forms.Image.1", ContadorSeleccion)

With ControlImagen

.Top = (ContadorSeleccion - 1) * 60 + 10

.Left = 40

.Height = 50

.Width = 50

.PictureSizeMode = fmPictureSizeModeZoom

End With

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlImagen = ControlImagen

CargarArchivoImagenBusqueda IdItemTemp, ControlImagen

Set ControlDescripcion = FrameSeleccion.Controls.Add("Forms.Label.1", ContadorSeleccion)

With ControlDescripcion
.Top = (ContadorSeleccion - 1) * 60 + 25

.Left = 100

.Height = 20

.Width = 190

.Font.Name = "Arial"

.Font.Bold = False

.Font.Size = 16

.Caption = ContadorSeleccion & "." & ItemQuery!Articulo

End With

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlDescripcion =
ControlDescripcion

ArrayClassSeleccionCompras(ContadorSeleccion).Descripcion = ControlDescripcion

ArrayClassSeleccionCompras(ContadorSeleccion).IdUnidad = ItemQuery!IdUnidad

Set ControlCantidad = FrameSeleccion.Controls.Add("Forms.TextBox.1", ContadorSeleccion)

With ControlCantidad

.Top = (ContadorSeleccion - 1) * 60 + 20

.Left = 345

.Height = 25

.Width = 80

.TextAlign = fmTextAlignCenter

.Font.Size = 16

.Tag = "Index"

.Value = CantidadAñadir

If InStr(1,
Compras.Caption, QueryAArray, vbTextCompare) = 0 Or InStr(1, Compras.Caption,
QueryBArray, vbTextCompare) = 0 Or InStr(1, Compras.Caption, QueryCArray, vbTextCompare)
= 0 Then Compras.Caption = QueryDArray & " " & QueryAArray & " " & QueryBArray & " " &
QueryCArray

End With
Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlCantidad = ControlCantidad

ArrayClassSeleccionCompras(ContadorSeleccion).Cantidad = CantidadAñadir

'ArrayClassSeleccionCompras(ContadorSeleccion).SeleccionarCantidad

'UnitarioVenta = ItemQuery!UnitarioCompra ' + (ItemQuery!Unitario * ItemQuery!Impuesto)

Set ControlUnitarioCompra = FrameSeleccion.Controls.Add("Forms.TextBox.1",


ContadorSeleccion)

With ControlUnitarioCompra

.Top = (ContadorSeleccion - 1) * 60 + 20

.Left = 430 ''

.Height = 25

.Width = 110

.TextAlign = fmTextAlignRight

.Font.Size = 16

.Tag = "Index"

.Value = Format(ItemQuery!UnitarioCompra, "#,##0.00")

'.TabStop = False

'.SetFocus

End With

''' If Not IsNull(ItemQuery!UnitarioCompra) Then

ArrayClassSeleccionCompras(ContadorSeleccion).UnitarioCompra = ItemQuery!
UnitarioCompra

'''' End If

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlUnitarioCompra =
ControlUnitarioCompra

''' ArrayClassSeleccionCompras(ContadorSeleccion).Impuesto = ItemQuery!Unitario *


ItemQuery!Impuesto

Set LabelUnitario = FrameSeleccion.Controls.Add("Forms.Label.1", ContadorSeleccion)

With LabelUnitario
.TextAlign = fmTextAlignRight

.Caption = "$"

.Top = (ContadorSeleccion - 1) * 60 + 23

.Left = 435 ''

.Font.Size = 16

.BackStyle = 0

.Width = 10

End With

LabelUnitario.ZOrder 0

Set ControlExtendido = FrameSeleccion.Controls.Add("Forms.TextBox.1",


ContadorSeleccion)

With ControlExtendido

.Top = (ContadorSeleccion - 1) * 60 + 20

.Left = 545

.Height = 25

.Width = 110

.TextAlign = fmTextAlignRight

.Font.Size = 16

.Tag = "Index"

.Value = Format(ItemQuery!UnitarioCompra * CantidadAñadir, "#,##0.00")

'.TabStop = False

' .TabIndex = 0

End With

Set labelExtendido = FrameSeleccion.Controls.Add("Forms.Label.1", ContadorSeleccion)

With labelExtendido

.TextAlign = fmTextAlignRight

.Caption = "$"

.Top = (ContadorSeleccion - 1) * 60 + 23

.Left = 550 ''


.Font.Size = 16

.BackStyle = 0

.Width = 10

End With

labelExtendido.ZOrder 0

Set ControlUnitarioVenta = FrameSeleccion.Controls.Add("Forms.TextBox.1",


ContadorSeleccion)

With ControlUnitarioVenta

.BackColor = vbGreen

.Top = (ContadorSeleccion - 1) * 60 + 20

.Left = 665

.Height = 25

.Width = 110

.TextAlign = fmTextAlignRight

.Font.Size = 16

.Tag = "Index"

.Value = Format(ItemQuery!Unitario, "#,##0.00")

End With

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlUnitarioVenta =
ControlUnitarioVenta

ArrayClassSeleccionCompras(ContadorSeleccion).UnitarioVenta = ItemQuery!Unitario

With CommandButtonIndex

.Top = (ContadorSeleccion - 1) * 60 + 10

End With
Set ControlIndexTemp = ControlExtendido

ControlCheckBox.TabIndex = ((ContadorSeleccion - 1) * 5) + 1

ControlCantidad.TabIndex = ((ContadorSeleccion - 1) * 5) + 2

ControlUnitarioCompra.TabIndex = ((ContadorSeleccion - 1) * 5) + 3

ControlExtendido.TabIndex = ((ContadorSeleccion - 1) * 5) + 4

ControlUnitarioVenta.TabIndex = ((ContadorSeleccion - 1) * 5) + 5

Set ArrayClassSeleccionCompras(ContadorSeleccion).ControlExtendido = ControlExtendido

ArrayClassSeleccionCompras(ContadorSeleccion).Extendido = ItemQuery!UnitarioCompra *
CantidadAñadir

Set ArrayClassSeleccionCompras(ContadorSeleccion).RegistroActual =
ArrayClassSeleccionCompras(ContadorSeleccion)

ArrayClassSeleccionCompras(ContadorSeleccion).IdCodigoItem = IdItemTemp

ArrayClassSeleccionCompras(ContadorSeleccion).IdItemTempClass = IdItemTemp

ComprasQuery.AddNew

ComprasQuery!IdArticulo = IdItemTemp

ComprasQuery!Cantidad = CantidadAñadir

Inventario = DLookup("Inventario", "Articulos", "IdArticulo = " & IdItemTemp)

If IsNull(Inventario) Then

MsgBox "No se encontro item,error!!!"

Inventario = 0

End If

Inventario = Inventario + CantidadAñadir

CurrentDb.Execute "UPDATE Articulos SET Articulos.Inventario = " & Inventario & " WHERE
(((Articulos.IdArticulo)=" & IdItemTemp & "));"
TextBoxInventario = DLookup("Inventario", "Articulos", "IdArticulo = " & IdItemTemp)

ComprasQuery!UnitarioCompra = ItemQuery!UnitarioCompra 'ok

ComprasQuery!Impuesto = ItemQuery!Unitario * ItemQuery!Impuesto

ComprasQuery!IdCompra = IdCompraGlobal ' ok

ComprasQuery!Folio = TextBoxFolio.Value 'ok

ComprasQuery!FechaCompra = ControlDate.GetFecha 'ok

ComprasQuery!IdUnidad = ItemQuery!IdUnidad 'ok

ComprasQuery!IdArticulo = IdItemTemp 'ItemQuery!IdArticulo ' ok

ComprasQuery!IdCuenta = 1

ComprasQuery!IdUsuario = IdUsuario

ComprasQuery!Updated = False

ComprasQuery!IdTemporal = ContadorSeleccion

ComprasQuery!Status = "Compra en Proceso"

IdActiveRegistro = ContadorSeleccion

If IdCuentaActiva = 0 Then

ComprasQuery!IdCuenta = 1

'ComprasQuery!Cuenta = "Sin Registro"

End If

If IdCuentaActiva > 0 Then

ComprasQuery!IdCuenta = IdCuentaActiva

'ComprasQuery!Cuenta = CuentaActiva

End If

ComprasQuery.Update

CalcularTotalesGeneral
End Sub

Public Sub ActualizarConsultaVentas(IdListIndexTemp As Long, CantidadNew As Double,


UnitarioNew As Double, ExtendidoNew As Double)

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = True

If ComprasQuery!IdCompra = IdCompraGlobal And ComprasQuery!IdTemporal =


IdListIndexTemp Then

Exit Do

End If

ComprasQuery.MoveNext

Loop

ComprasQuery.Edit

ComprasQuery!Cantidad = CantidadNew

ComprasQuery!UnitarioCompra = UnitarioNew

'ComprasQuery!Extendido = ExtendidoNew

ComprasQuery.Update

ActualizarDatosSeleccionado IdListIndexTemp

End Sub

Public Sub ActualizarUnitarioVenta(IdListIndexTemp As Long, IdItemTemp As Long,


UnitarioVentaNew As Double)
CurrentDb.Execute "UPDATE Articulos SET Articulos.Unitario = " & UnitarioVentaNew & "
WHERE (((Articulos.IdArticulo)=" & IdItemTemp & "));"

ActualizarDatosSeleccionado IdListIndexTemp

End Sub

Public Sub ActualizarInventario(IdItemTemp As Long, DiferenciaInv As Double)

Dim InventarioActual As Double

InventarioActual = DLookup("Inventario", "Articulos", "IdArticulo = " & IdItemTemp)

InventarioActual = InventarioActual + DiferenciaInv

CurrentDb.Execute "UPDATE Articulos SET Articulos.Inventario = " & InventarioActual & "
WHERE (((Articulos.IdArticulo)=" & IdItemTemp & "));"

TextBoxInventario = Format(DLookup("Inventario", "Articulos", "IdArticulo = " &


IdItemTemp), "0.00")

End Sub

Public Sub ActivarLineaQuery(IdListIndexTemp As Long)

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = True

If ComprasQuery!IdCompra = IdCompraGlobal And ComprasQuery!IdTemporal =


IdListIndexTemp Then

Exit Do

End If

ComprasQuery.MoveNext

Loop

ComprasQuery.Edit

ComprasQuery!Status = "Compra en Proceso"

ComprasQuery.Update

End Sub
Public Sub CancelarLineaQuery(IdListIndexTemp As Long)

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF = True

If ComprasQuery!IdCompra = IdCompraGlobal And ComprasQuery!IdTemporal =


IdListIndexTemp Then

Exit Do

End If

ComprasQuery.MoveNext

Loop

ComprasQuery.Edit

ComprasQuery!Status = "Compra Cancel"

ComprasQuery.Update

End Sub

Private Sub LabelTotalItems_Click()

End Sub

Private Sub LabelCalcularTotalesGeneral_Click()

CalcularTotalesGeneral ' Referencia

End Sub

Public Sub CalcularTotalesGeneral()

Dim TotalArticulos As Double

Dim TotalVenta As Double

''' Dim TotalImpuesto As Double

Dim TotalItems As Double


TotalCompra = 0

TotalArticulos = 0

'TotalDescuento = 0

'TotalImpuesto = 0

TotalItems = 0

TotalVenta = 0

For Contador = 1 To UBound(ArrayClassSeleccionCompras)

If ArrayClassSeleccionCompras(Contador).ControlCheckBox = True Then

TotalCompra = TotalCompra + ArrayClassSeleccionCompras(Contador).Extendido

TotalArticulos = TotalArticulos + ArrayClassSeleccionCompras(Contador).Cantidad

'TotalDescuento = TotalDescuento + ArrayClassSeleccionCompras(Contador).Descuento

'TotalImpuesto = TotalImpuesto + ArrayClassSeleccionCompras(Contador).Impuesto

TotalItems = TotalItems + ArrayClassSeleccionCompras(Contador).Cantidad

TotalVenta = TotalVenta + ArrayClassSeleccionCompras(Contador).UnitarioVenta *


ArrayClassSeleccionCompras(Contador).Cantidad

End If

Next

'LabelTotal.Caption = Format(TotalGeneral, "$ #,##0.00")

TextBoxTotalCompra = Format(TotalCompra, "$ #,##0.00")

TextBoxTotalVenta = Format(TotalVenta, "$ #,##0.00")

TextBoxDiferencia = Format(TotalVenta - TotalCompra, "$ #,##0.00")

TextBoxTotalItems = Format(TotalItems, "@")

End Sub
Private Sub ActualizarDatosFormulario(IdItemTemp As Long)

Dim RenglonItem As Long

ActiveIdItem = IdItemTemp

RenglonItem = GetRowItem(IdItemTemp, Worksheets("Codigos"), "A")

ArchivoImagen = ThisWorkbook.Path & "\Tools\Images\" & IdItemTemp & ".jpg"

If Dir(ArchivoImagen) <> "" Then

'Set ImagenPrincipal.Picture = LoadPicture(ArchivoImagen)

Else

'Set ImagenPrincipal.Picture = Nothing

End If

'FrameRefrescar.Repaint

TextBoxA = Worksheets("Codigos").Range("A" & RenglonItem).Value 'CODIGO

TextBoxB = Worksheets("Codigos").Range("B" & RenglonItem).Value 'DESCRIPCION

TextBoxC = Worksheets("Codigos").Range("C" & RenglonItem).Value

TextBoxD = Trim(Worksheets("Codigos").Range("D" & RenglonItem).Value) 'UDM

TextBoxE = Format(Worksheets("Codigos").Range("E" & RenglonItem).Value, "currency")


'unitario

TextBoxF = Trim(Worksheets("Codigos").Range("F" & RenglonItem).Value)

TextBoxG = Trim(Worksheets("Codigos").Range("G" & RenglonItem).Value)

TextBoxH = Trim(Worksheets("Codigos").Range("H" & RenglonItem).Value)

TextBoxI = Trim(Worksheets("Codigos").Range("I" & RenglonItem).Value)

TextBoxJ = Trim(Worksheets("Codigos").Range("J" & RenglonItem).Value)

TextBoxK = Trim(Worksheets("Codigos").Range("K" & RenglonItem).Value)

TextBoxLineaExcel = RenglonItem

End Sub
Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As
Single, ByVal Y As Single)

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Dim Inventario As Variant

Dim IdItemTemp As Long

Dim Respuesta As Variant

Dim Pendientes As Long

Dim ComprasQuery As DAO.Recordset

Set ComprasQuery = CurrentDb.OpenRecordset("SELECT * FROM Compras WHERE


(((IdCompra)=" & IdCompraGlobal & "));")

Pendientes = 0

If Not ComprasQuery.EOF Then

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF

If ComprasQuery!Status = "Compra en Proceso" Then

Pendientes = Pendientes + 1

End If

ComprasQuery.MoveNext

Loop

End If

If Pendientes = 0 Then

CurrentDb.Execute "DELETE * FROM FoliosCompra WHERE IdFolio=" & TextBoxFolio.Value


& ";"

End If
If Pendientes > 0 Then

Respuesta = MsgBox("Desea cancelar la venta!!!", vbYesNo)

If Respuesta = vbYes Then

ComprasQuery.MoveFirst

Do Until ComprasQuery.EOF

If ComprasQuery!Status = "Compra en Proceso" Then

IdItemTemp = ComprasQuery!IdArticulo

Inventario = DLookup("Inventario", "Articulos", "IdArticulo = " & IdItemTemp)

If IsNull(Inventario) Then

MsgBox "No se encontro item en tabla Articulos,error!!!"

Inventario = 0

End If

Inventario = Inventario - ComprasQuery!Cantidad

CurrentDb.Execute "UPDATE Articulos SET Articulos.Inventario = " & Inventario & "
WHERE (((Articulos.IdArticulo)=" & IdItemTemp & "));"

ComprasQuery.Edit

ComprasQuery!Status = "Compra Cancel"

ComprasQuery.Update

End If

ComprasQuery.MoveNext

Loop

CurrentDb.Execute "INSERT INTO DevolucionesCompras SELECT * FROM Compras


WHERE (((Compras.[IdCompra])=" & IdCompraGlobal & ") AND ((Compras.[Status])='Compra
Cancel'));"
CurrentDb.Execute "DELETE * FROM Compras WHERE IdCompra=" & IdCompraGlobal &
" AND Status='Compra Cancel';"

'DELETE * FROM Ventas WHERE IdVenta=955 AND Status='Cancelado';

'INSERT INTO Devoluciones SELECT * FROM Ventas WHERE (((Ventas.[IdVenta])=953)


AND ((Ventas.[Status])="Cancelado"));

CurrentDb.Execute "DELETE * FROM FoliosCompra WHERE IdFolio=" &


TextBoxFolio.Value & ";"

DoEvents_Activate = False

Cancel = True

Else

Cancel = True

End If

Exit Sub

End If

If DoEvents_Activate = True Then

DoEvents_Activate = False

Cancel = True

End If

End Sub

Private Sub UserForm_RemoveControl(ByVal Control As MSForms.Control)

End Sub
Private Sub UserForm_Terminate()

' ThisWorkbook.Application.Visible = True

End Sub

Private Sub LiberarMemoriaSeleccion()

Dim IdContador As Long

ModoLiberarMemoria = True

If UBound(ArrayClassSeleccionCompras) > 0 Then

For IdContador = LBound(ArrayClassSeleccionCompras, 1) To


UBound(ArrayClassSeleccionCompras, 1)

If Not ArrayClassSeleccionCompras(IdContador).ControlCheckBox Is Nothing Then

ArrayClassSeleccionCompras(IdContador).ControlCheckBox = Empty

Set ArrayClassSeleccionCompras(IdContador).ControlCheckBox = Nothing

End If

If Not ArrayClassSeleccionCompras(IdContador).ControlImagen Is Nothing Then

Set ArrayClassSeleccionCompras(IdContador).ControlImagen.Picture = Nothing

Set ArrayClassSeleccionCompras(IdContador).ControlImagen = Nothing

End If

If Not ArrayClassSeleccionCompras(IdContador).ControlDescripcion Is Nothing Then

ArrayClassSeleccionCompras(IdContador).ControlDescripcion = Empty

Set ArrayClassSeleccionCompras(IdContador).ControlDescripcion = Nothing

End If

If Not ArrayClassSeleccionCompras(IdContador).ControlCantidad Is Nothing Then

ArrayClassSeleccionCompras(IdContador).ControlCantidad = Empty
Set ArrayClassSeleccionCompras(IdContador).ControlCantidad = Nothing

End If

If Not ArrayClassSeleccionCompras(IdContador).ControlUDM Is Nothing Then

ArrayClassSeleccionCompras(IdContador).ControlUDM = Empty

Set ArrayClassSeleccionCompras(IdContador).ControlUDM = Nothing

End If

ArrayClassSeleccionCompras(IdContador).IdItemTempClass = Empty

ArrayClassSeleccionCompras(IdContador).Descripcion = Empty

ArrayClassSeleccionCompras(IdContador).Cantidad = Empty

Next

End If

ModoLiberarMemoria = False

End Sub

También podría gustarte