Enviar datos de factura a base de datos y manejo de inventario

Estoy trabajando en un archivo de Excel para facturación y e inventarios.

Necesito poder enviar los datos ingresados en la factura a una base de datos donde me aparezca el detalle de lo facturado (todos los ítems facturados)0. Adicionalmente poder recuperar esa información al mismo formato de factura para reimprimirla.

Quisiera también poder manejar el inventario de manera de que cuando se emita una factura esos ítems se descarguen del inventario automáticamente.

Si alguien dispone de algún formato que sea fácilmente configurable y que me permita adicionalmente al manejo de facturas e inventarios poder también guardar el archivo en formato Excel y PDF también me sería de utilidad.

1 respuesta

Respuesta
1

Por lo que leo en la descripción de tu 'consulta', lo que necesitas es el desarrollo de toda una aplicación o dos (facturación e inventario).

Esto es muy difícil de realizar como 1 consulta...

Podés enviarme tu libro aclarando allí mismo cada punto aún no resuelto (ya respondí otra de tus consultas por lo que creo algunos temas quizás ya los tengas desarrollados). Iremos resolviéndolo tema x tema en diferentes consultas. El objetivo aquí es que las respuestas sirvan a otros usuarios también, de ahí la importancia de que cada consulta trate un tema específico.

Esta sería la macro para el botón 'Crear' según tu modelo de hojas:

Private Sub botonAceptar_Click()
Application.ScreenUpdating = False
'EM: la hoja activa es FACTURA, entonces se pasan los campos allí a partir de col U
    Range("U" & Range("U" & Rows.Count).End(xlUp).Row).Offset(1, 0).Select
    ActiveCell = txtNombre
    ActiveCell.Offset(0, 1) = txtRazon
    ActiveCell.Offset(0, 2) = CDbl(txtNIT)
    ActiveCell.Offset(0, 3) = cmbCiudad
    ActiveCell.Offset(0, 4) = cmbCategoria
    ActiveCell.Offset(0, 5) = txtContacto1
    ActiveCell.Offset(0, 6) = txtCargo1
    ActiveCell.Offset(0, 7) = CDbl(txtTelefono1)
    ActiveCell.Offset(0, 8) = CDbl(txtExt1)
    ActiveCell.Offset(0, 9) = CDbl(txtCelular1)
    ActiveCell.Offset(0, 10) = txtCorreo1
    ActiveCell.Offset(0, 11) = txtContacto2
    ActiveCell.Offset(0, 12) = txtCargo2
    ActiveCell.Offset(0, 13) = CDbl(txtTelefono2)
    ActiveCell.Offset(0, 14) = CDbl(txtExt2)
    ActiveCell.Offset(0, 15) = CDbl(txtCelular2)
    ActiveCell.Offset(0, 16) = txtCorreo2
    ActiveCell.Offset(0, 17) = txtDireccion
    ActiveCell.Offset(0, 18) = txtObservaciones
'EM: copia de hoja Factura, a partir de col U, a hoja BDClientes primer fila libre
    filx = ActiveCell.Row
    fily = Sheets("BD CLIENTES").Range("A" & Rows.Count).End(xlUp).Row + 1
    Range("U" & filx & ":AM" & filx).Copy Destination:=Sheets("BD CLIENTES").Range("A" & fily)
'EM: utilizar macro de limpieza
    For Each miCtrl In Me.Controls
        If TypeName(miCtrl) = "TextBox" Then miCtrl.Value = ""
        If TypeName(miCtrl) = "ComboBox" Then miCtrl.Value = ""
    Next miCtrl
'EM: debiera cerrar el UF no solo ocultarlo
    Unload Me
    'frmNuevoCliente. Hide
End Sub

Observa que dejo un bucle para limpiar los controles del formulario,... ese bucle te sirve también para colocar en el resto de los procesos. Incluso podría colocarse como una subrutina aparte (cuando te realice el 2do envío lo colocaré en el libro).

Sdos y no olvides valorar esta respuesta para continuar con el resto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas