Sie sind auf Seite 1von 6

Imports System.Data.

SqlClient
Public Class factura
Dim x As SqlConnection
Dim y As SqlDataAdapter
Dim z As DataSet
Dim Am As SqlConnection
Dim Bm As SqlDataAdapter
Dim Cm As DataSet
Dim CANT, PRECIO_UNITARIO As Double
Dim PRECIO_TOTAL_POR_PRODUCTO As Double
Dim A_PRECIO As Integer
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles
MyBase.Load
' codigo de la pc : Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True
x = New SqlConnection("Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True")
y = New SqlDataAdapter("SELECT*FROM DETALLE_FACTURA", x)
z = New DataSet
y.Fill(z, "DETALLE_FACTURA")
Am = New SqlConnection("Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True")
Bm = New SqlDataAdapter("SELECT*FROM FACTURA", x)
Cm = New DataSet
Bm.Fill(Cm, "FACTURA")
lblnumero.DataBindings.Add("text", Cm, "FACTURA.NROFAC")
'------------------Dim ResConsulta As String
Dim Numero As String
Dim Letra As String
Dim Nuevocodigo As String
Dim cmd As SqlCommand
cmd = New SqlCommand("Select MAX(NROFAC) FROM FACTURA", x)
x.Open()
ResConsulta = cmd.ExecuteScalar 'Este guarda el ultimo Id ingresado a la tabla
'AL005'
'Se separa la letra y el numero
Letra = Mid(ResConsulta, 1, 1) 'Se guarda 'AL'
Numero = Val(Mid(ResConsulta, 2, Len(ResConsulta)))
Numero += 1
Nuevocodigo = Letra & NumeroConCeros(Numero)
lblnumero.Text = Convert.ToString(Nuevocodigo)
lblnumero.Enabled = False
x.Close()
'------------------------------'PARA REGISTRAR SOLO EL NUMERO DE FACTURA
Dim COD As String
COD = "'" & lblnumero.Text & "'"
Dim cmdd As New SqlCommand("INSERT INTO FACTURA (NROFAC)VALUES(" & COD &
" ) ", x)
x.Open()
cmdd.ExecuteNonQuery()
Call actualizar()

x.Close()
End Sub
Private Function NumeroConCeros(ByVal vNumero As Integer) As String
Select Case vNumero
Case Is < 10
Return "00" & vNumero
Case Is < 100
Return "0" & vNumero
Case Else
Return vNumero
End Select
End Function
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles
Timer1.Tick
lblfecha.Text = Today
lblhora.Text = TimeString
End Sub
Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles
btnbuscar.Click
Consulta_Cliente.Show()
End Sub
Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles
Button5.Click
Dim eliminarr As String = "DELETE FROM FACTURA WHERE NROFAC='" &
lblnumero.Text & "'"
Dim miconexionr As New SqlConnection("Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True")
Dim deleter As New SqlCommand(eliminarr, miconexionr)
miconexionr.Open()
deleter.ExecuteNonQuery()
Call actualizar()
miconexionr.Close()
FrmPrimcipal.Show()
Hide()
End Sub
Private Sub actualizar()
z.Clear()
y.Fill(z, "DETALLE_FACTURA")
End Sub
Private Sub actualizarR()
z.Clear()
y.Fill(z, "FACTURA")
End Sub
Private Sub btnagregaritem_Click(sender As System.Object, e As System.EventArgs)
Handles btnagregaritem.Click
'Para DISMINUIR EL STOCK
Try

Using cnx = New SqlConnection("Data Source=PC-M-PC;Initial


Catalog=BD_pruebassssssssss;Integrated Security=True")
cnx.Open()
Using cmdu As New SqlCommand()
cmdu.Connection = cnx
cmdu.CommandText = "UPDATE PRODUCTO SET CANTIDAD=CANTIDAD@DISMINUIR WHERE CODPRO=@CODPRO"
cmdu.Parameters.AddWithValue("@CODPRO", txtcodigo.Text)
cmdu.Parameters.AddWithValue("@DISMINUIR", txtcantidad.Text)
cmdu.ExecuteNonQuery()
Call actualizar()
End Using
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'almacenar informacion del producto al datagridview
DataGridView123.Rows.Add(txtcodigo.Text, txtnombre.Text, txtpreciounitario.Text,
txtcantidad.Text, txtimporte.Text)
'calculo del precio total de la compra y asiganar el iGV
Dim NRO As String
Dim COD As String
Dim RAZ As String
Dim DIR As String
Dim COX As String
Dim APE As String
'Utiliza Trim(Str(numero)) para convertir los valores numricos a cadenas.
'Str siempre utiliza el punto como separador decimal independientemente de la
'configuracin regional.
'El Trim es porque Str reserva un espacio para el
'signo, cuando los numeros son positivos.
NRO = "'" & lblnumero.Text & "'"
COD = "'" & txtcodigo.Text & "'"
RAZ = "'" & txtnombre.Text & "'"
DIR = Trim(Str(txtcantidad.Text))
COX = Trim(Str(txtpreciounitario.Text))
APE = Trim(Str(txtimporte.Text))
Dim cmd As New SqlCommand("INSERT INTO DETALLE_FACTURA VALUES(" & NRO & ","
& COD & "," & RAZ & "," & DIR & "," & COX & "," & APE & ")", x)
x.Open()
cmd.ExecuteNonQuery() ''<METODO devuelve el nmero de filas afectadas
Call actualizar()
x.Close()
MsgBox("ARTICULO AGREGADO", MsgBoxStyle.Information, "SISTEMA DE
COMBUSTIBLES")
'_AGREGRAR IF SI ELIGE EL MISMO PRODUCTO DECIR YA TIENE ESE PRODUCTO ELIJA
OTRO_______________________________________________________________
Dim subtotal, igv, total As Double
Dim TOT As Integer

A_PRECIO = A_PRECIO + PRECIO_TOTAL_POR_PRODUCTO


TOT = A_PRECIO
txtsubtotal.Text = TOT.ToString("###,##0.00")
igv = TOT * 0.18
total = subtotal + igv
total = TOT + igv
txtigv.Text = igv.ToString("###,##0.00")
txttotal.Text = total.ToString("###,##0.00")
Button5.Enabled = False
End Sub
Private Sub btnguardar_Click(sender As System.Object, e As System.EventArgs) Handles
btnguardar.Click
Try
Using cnx = New SqlConnection("Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True")
cnx.Open()
Using cmd As New SqlCommand()
cmd.Connection = cnx
cmd.CommandText = "UPDATE FACTURA SET FECHFAC =
@FECHFAC,SUBTOT=@SUBTOT,TOTIGV= @TOTIGV,TOTFAC= @TOTFAC,CODCLI=@CODCLI,
"_
& "CODEMP = @CODEMP WHERE NROFAC = @NROFAC"
cmd.Parameters.AddWithValue("@NROFAC", lblnumero.Text)
cmd.Parameters.AddWithValue("@FECHFAC", lblfecha.Text)
cmd.Parameters.AddWithValue("@SUBTOT", Trim(Str(txtsubtotal.Text)))
cmd.Parameters.AddWithValue("@TOTIGV", Trim(Str(txtigv.Text)))
cmd.Parameters.AddWithValue("@TOTFAC", Trim(Str(txttotal.Text)))
cmd.Parameters.AddWithValue("@CODCLI", txtcodigocli.Text)
cmd.Parameters.AddWithValue("@CODEMP", txtcodigoempl.Text)
cmd.ExecuteNonQuery()
Call actualizar()
End Using
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub txtcantidad_KeyPress1(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles txtcantidad.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
'calcular el precio de los productos
CANT = (txtcantidad.Text)
PRECIO_UNITARIO = (txtpreciounitario.Text)
PRECIO_TOTAL_POR_PRODUCTO = PRECIO_UNITARIO * CANT
txtimporte.Text = PRECIO_TOTAL_POR_PRODUCTO.ToString("###,##0.00")
txtimporte.Focus()
End If
End Sub
Private Sub btnbuscarart_Click(sender As System.Object, e As System.EventArgs)
Handles btnbuscarart.Click
producto.Show()

End Sub
Private Sub txtdistrito_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles txtdistrito.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
txtcodigo.Focus()
End If
End Sub
Private Sub txtpreciounitario_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles txtpreciounitario.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then
txtcantidad.Focus()
End If
End Sub
Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As
System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
buscar_empleado.Show()
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim eliminarr As String = "DELETE FROM FACTURA WHERE NROFAC='" &
lblnumero.Text & "'"
Dim miconexionr As New SqlConnection("Data Source=PC-M-PC;Initial
Catalog=BD_pruebassssssssss;Integrated Security=True")
Dim deleter As New SqlCommand(eliminarr, miconexionr)
miconexionr.Open()
deleter.ExecuteNonQuery()
Call actualizar()
miconexionr.Close()
FrmPrimcipal.Show()
Hide()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles
Button1.Click
Dim sql As String
sql = "Select*from factura a inner join cliente b on a.codcli=b.codcli where a.NROFAC
='" & lblnumero.Text & "';" & "Select*from detalle_factura a inner join producto b on
a.codpro=b.codpro where a.NROFAC='" & lblnumero.Text & "';"
If buscarRegistros(sql) = True Then
If tablas.Tables("factura").Rows.Count = 0 Then
MsgBox("no se ha encontrado ningun registro que cumpla con los requisitos")
Else
MsgBox("generado Ok", MsgBoxStyle.Information, "Ok")
My.Computer.FileSystem.CreateDirectory("F:\combustible_2\COMBUSTIBLE copia\XML")
Dim url As String = "F:\combustible_2\COMBUSTIBLE - copia\XML\ventas.xml"
tablas.WriteXml(url, XmlWriteMode.WriteSchema)
frm_verreporte1.ShowDialog()
My.Computer.FileSystem.DeleteFile("F:\combustible_2\COMBUSTIBLE copia\ventas.xml")

End If
End If
End Sub
End Class

Das könnte Ihnen auch gefallen