Option Explicit On
Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.IO
'My.Application.IDUSUARIO
Public Class FormABMAplicaciones
Dim salida As String
'Private IdAplicacionSeleccionada As Integer
'Private IdAplicacionSel As Integer
Private IpbImagen001 As Byte()
Dim ms As New MemoryStream
Private adapter As SqlDataAdapter
Private mDt As New DataTable
Private dt As New DataTable
Private dtt As New DataTable
Private CMD As New SqlCommand
Dim CBIdUsuario As String
Dim Vusuario As String
Dim sentencia, msg As String
Dim valorcb As String 'optiene el resultado del combo de modulos
Dim conexion As New SqlConnection("Data Source=SR01SIGPRE01;Initial Catalog=SIGMAMIRROR;Integrated Security=True")
#Region "botones"
Private Sub BtnAgregar_Click(sender As Object, e As EventArgs) Handles BtnAgregar.Click
Dim Vcbidmodulo As Integer
Dim VtbCodigoAplicacion As String
Dim VtbNombAplicacion As String
Dim VtbArchiEjecut As String
Dim VtbNombImg As String
Dim VCBEdoActivo As Boolean
Dim VtbVersión As String
Dim VimagenAplic As Image
If tbNombAplicacion.Text = "" Or
tbNombAplicacion.Text = "" Or
tbArchiEjecut.Text = "" Or
CBEdoActivo.Text = "" Or
tbVersion.Text = "" Or
GLUmodulo.EditValue = 0 Then
MessageBox.Show("No se pudieron agregar los datos, Algunos Campos estan Vacios")
Else
VtbCodigoAplicacion = tbCodigoAplicacion.Text
VtbNombAplicacion = tbNombAplicacion.Text
VtbArchiEjecut = tbArchiEjecut.Text
VtbNombImg = tbNombImg.Text
VCBEdoActivo = CBEdoActivo.Text
VtbVersión = tbVersion.Text
'valorcb = CbidModulo.SelectedValue.ToString()
Vcbidmodulo = GLUmodulo.EditValue
VimagenAplic = PictureBox1.Image
Insertar(Vcbidmodulo, VtbCodigoAplicacion, VtbNombAplicacion, VtbArchiEjecut, VtbNombImg, VCBEdoActivo, VtbVersión, VimagenAplic)
MessageBox.Show("Registro de la aplicación exitoso")
LIMPIAR_CAMPOS()
End If
CARGAR_DATOS()
End Sub
Private Sub BtnSalir_Click(sender As Object, e As EventArgs) Handles BtnSalir.Click
Me.Close()
End Sub
Private Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
Dim VId_AplicaciónTextBox As String
Dim Vcbidmodulo As Integer 'String
Dim VtbCodigoAplicacion As String
Dim VtbNombAplicacion As String
Dim VtbArchiEjecut As String
Dim VtbNombImg As String
Dim VCBEdoActivo As Boolean
Dim VtbVersion As String
Dim VimagenAplic As Image
If Id_AplicaciónTextBox.Text <> "" Then
If tbCodigoAplicacion.Text.Equals("") = False And tbNombAplicacion.Text.Equals("") = False Then
VId_AplicaciónTextBox = Id_AplicaciónTextBox.Text
Vcbidmodulo = GLUmodulo.EditValue
VtbCodigoAplicacion = tbCodigoAplicacion.Text
VtbNombAplicacion = tbNombAplicacion.Text
VtbArchiEjecut = tbArchiEjecut.Text
VtbNombImg = tbNombImg.Text
VCBEdoActivo = CBEdoActivo.Text
VtbVersion = tbVersion.Text
VimagenAplic = PictureBox1.Image
Actualizar(VId_AplicaciónTextBox, Vcbidmodulo, VtbCodigoAplicacion, VtbNombAplicacion, VtbArchiEjecut, VtbNombImg, VCBEdoActivo, VtbVersion, VimagenAplic)
MsgBox("Actualización correcta")
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "No se pudo actualizar, algunos campos estan vacios. ").ShowDialog()
Exit Sub
End If
LIMPIAR_CAMPOS()
CARGAR_DATOS()
Else
GestorMensajes.MensajeDelSistema(MensajeSistema.TipoDeMensaje.Adveretencia, "Para modificar, debe ingrezar primero la aplicación. ").ShowDialog()
Exit Sub
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
CARGAR_IMAGEN()
End Sub
#End Region
#Region "Funciones"
Function Insertar(ByVal cbidmodulo As Integer,
ByVal tbCodigoAplicacion As String,
ByVal tbNombAplicacion As String,
ByVal tbArchiEjecut As String,
ByVal tbNombImg As String,
ByVal CBEdoActivo As Boolean,
ByVal tbVersión As String,
ByVal VimagenAplic As Image
)
Dim salida As String
salida = "Datos Agregados Muy Bien..!!"
Try
CMD = New SqlCommand("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES_INSERTAR", conexion)
conexion.Open()
CMD.CommandType = CommandType.StoredProcedure
With CMD.Parameters
.AddWithValue("@_idmodulo", cbidmodulo)
.AddWithValue("@_CODAPLIC", UCase(tbCodigoAplicacion))
.AddWithValue("@_DESCAPLIC", UCase(tbNombAplicacion))
.AddWithValue("@_ARCHEJEA", tbArchiEjecut)
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
IpbImagen001 = ms.GetBuffer
.AddWithValue("@_IMAGAPLI", IpbImagen001)
.AddWithValue("@_ACTIVO", CBEdoActivo)
.AddWithValue("@_IDUSUARIO", My.Application.IDUSUARIO)
.AddWithValue("@_NOMBIMAG", tbNombImg)
.AddWithValue("@_VERSION", tbVersión)
End With
CMD.ExecuteNonQuery()
conexion.Close()
Catch ex As Exception
MessageBox.Show("No se logro el registro:" + ex.ToString)
End Try
Return salida
End Function
Function Actualizar(ByVal Id_AplicaciónTextBox As Integer,
ByVal cbidmodulo As Integer,
ByVal tbCodigoAplicacion As String,
ByVal tbNombAplicacion As String,
ByVal tbArchiEjecut As String,
ByVal tbNombImg As String,
ByVal cbEdoActivo As Boolean,
ByVal tbVersión As String,
ByVal IpbImagen As Image
)
Try
CMD = New SqlCommand("SP_SISTEMA_APLICACIONES_APTUALIZAR", conexion)
conexion.Open()
CMD.CommandType = CommandType.StoredProcedure
With CMD.Parameters
.AddWithValue("@_IDAPLICACION", Id_AplicaciónTextBox)
.AddWithValue("@_idmodulo", cbidmodulo)
.AddWithValue("@_CODAPLIC", UCase(tbCodigoAplicacion))
.AddWithValue("@_DESCAPLIC", UCase(tbNombAplicacion))
.AddWithValue("@_ARCHEJEA", tbArchiEjecut)
Dim ms As New MemoryStream
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
IpbImagen001 = ms.GetBuffer
.AddWithValue("@_IMAGAPLI", IpbImagen001)
.AddWithValue("@_ACTIVO", cbEdoActivo)
.AddWithValue("@_IDUSUARIO", My.Application.IDUSUARIO)
.AddWithValue("@_NOMBIMAG", tbNombImg)
.AddWithValue("@_VERSION", tbVersión)
'convert.tostring
End With
CMD.ExecuteNonQuery()
conexion.Close()
Catch ex As Exception
MessageBox.Show("No se pudo actualizar el registro:" + ex.ToString)
End Try
Return salida
End Function
#End Region
Sub CARGAR_DATOS()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES")
If Not IsNothing(mDt) Then
GCAplicaciones.DataSource = mDt
End If
End Sub
Private Sub FormABMAplicaciones_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CARGAR_DATOS()
CARGAR_COMBO_MODULO()
LIMPIAR_CAMPOS()
End Sub
Sub CARGAR_COMBO_MODULO()
mDt = New DataTable
mDt = ConexionSQL.EjecutarSP("SP_SISTEMA_MODULOS_LISTAR", True)
If Not IsNothing(mDt) Then
GLUmodulo.Properties.DataSource = mDt
Else
GLUmodulo.Properties.DataSource = Nothing
End If
End Sub
Sub CARGAR_IMAGEN()
OpenFileDialog1.InitialDirectory = "C:\"
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
tbNombImg.Text = Path.GetFileName(OpenFileDialog1.FileName)
End If
End Sub
Sub LIMPIAR_CAMPOS()
Id_AplicaciónTextBox.Text = ""
'CbidModulo.Text = 0
GLUEmodulo.EditingValue = 0
tbCodigoAplicacion.Text = ""
tbNombAplicacion.Text = ""
tbArchiEjecut.Text = ""
tbNombImg.Text = ""
CBEdoActivo.Text = True
tbVersion.Text = ""
Me.PictureBox1.Image = My.Resources.SinImagen001
End Sub
Private Sub GridView1_DoubleClick(sender As Object, e As EventArgs) Handles GridView1.DoubleClick
Try
Id_AplicaciónTextBox.Text = GridView1.GetFocusedRowCellValue("ID")
tbCodigoAplicacion.Text = GridView1.GetFocusedRowCellValue("CODIGO")
tbNombAplicacion.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("DESCRIPCION"))
tbArchiEjecut.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("ARCHIVO EJECUTABLE"))
CBEdoActivo.Text = GridView1.GetFocusedRowCellValue("ACTIVO")
Dim CBUsuario As String ' PARA OCUPAR EL ESPACIO NO UTILIZO LA VARIABLE.
CBUsuario = Convert.ToString(GridView1.GetFocusedRowCellValue("USUARIO"))
GLUmodulo.EditValue = GridView1.GetFocusedRowCellValue("IDMODULO")
tbNombImg.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("NOMBRE DE LA IMAGEN"))
tbVersion.Text = Convert.ToString(GridView1.GetFocusedRowCellValue("VERSION"))
'EN EL CODIGO SIGUIENTE CONVIERTO LA IMAGEN DE TIPO BIT A IMAGEN PARA PODER SER VISTA EN EL PICTURE CONTROL
If (GridView1.GetFocusedRowCellValue(".") Is DBNull.Value) Then
Me.PictureBox1.Image = My.Resources.SinImagen001
Else
Dim dtImagen As New DataTable
dtImagen = ConexionSQL.EjecutarSP("SP_PLUS_SEGURIDAD_ABMTABLA_APLICACIONES_CONSULTA_IMAGEN", Id_AplicaciónTextBox.Text)
Dim ByteData As Array
Dim StreamData As IO.MemoryStream
ByteData = dtImagen.Rows(0).Item("IMGAplic")
If ByteData IsNot Nothing Then
StreamData = New IO.MemoryStream(ByteData)
PictureBox1.Image = Image.FromStream(StreamData)
End If
End If
Catch ex As Exception
MessageBox.Show("Errors:" + ex.ToString)
Exit Sub
End Try
End Sub
Private Sub LimpiarCampos_Click(sender As Object, e As EventArgs) Handles LimpiarCampos.Click
LIMPIAR_CAMPOS()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
OpenFileDialog2.InitialDirectory = "C:\"
OpenFileDialog2.Filter = "*.EXE|*.exe"
If OpenFileDialog2.ShowDialog = Windows.Forms.DialogResult.OK Then
'Me.tbArchiEjecut.Text = OpenFileDialog2.FileName
Me.tbArchiEjecut.Text = Path.GetFileName(OpenFileDialog2.FileName)
End If
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
CARGAR_IMAGEN()
End Sub
Private Sub tbVersion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbVersion.KeyPress
'en esta sintaxis solo podran escribir en la entrada numeros y letras
If Char.IsNumber(e.KeyChar) Or Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub tbCodigoAplicacion_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbCodigoAplicacion.KeyPress
'EN ESTA SINTAXIS SOLO PERMITE ESCRIBIR LETRAS
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
End Class
Suscribirse a:
Enviar comentarios (Atom)
Los mail de oulook no se pueden reenviar.
cuando en el asunto poseen un caracter especial por ejemplo @#$ los correos no salen y no te muestra ningun correo de rebote, especialmente...
-
https://msdn.microsoft.com/en-us/library/office/ff192694.aspx filtros DoCmd.SetFilter Method (Access) Office 2013 and later Ot...
-
Tabla de operadores Access para Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Un operador es...
No hay comentarios:
Publicar un comentario