codigos de algunas pantallas

1,885 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

codigos de algunas pantallas

  1. 1. Imports MySqlImports MySql.DataImports MySql.Data.MySqlClientImports MySql.Data.MySqlClient.MySqlCommandPublicClass frmproveedoresPublic idpr AsStringPublic num_proveedor AsIntegerDim Datav1 AsNew DataView para auto completar el los texbox de busquedaDim sqlstr AsStringDim conexion AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cmd AsNew MySqlCommandPrivateSub tsbEditar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs)APLICACION CORRECTAeditar_proveedor.Show()EndSubPrivateSub tsbNuevo_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbNuevo.Clickoculta el formulario actualMe.Visible = Falsepara mostrarse enfrente de todos los formularios (ShowDialog())nuevo_proveedor.ShowDialog()txt_nombre.Clear()txt_id.Clear()muestra el formulario actual
  2. 2. Me.Visible = TrueEndSubPublic Sub telefono_proveedores() Dim objconn As NewMySql.Data.MySqlClient.MySqlConnection(StrConexion) Dim cod_proveedor As String Dim tipo_telefono As String Dim dtt As New DataTable Try For j = 0 To Data_proveedores.RowCount - 1 cod_proveedor = Data_proveedores.Rows(j).Cells(1).Value Dim cadenas = "select No_telefono, id_tipo_telefono,Id_Proveedor from telefono_proveedor where id_proveedor=" &cod_proveedor & "" Dim adaptador As New MySqlDataAdapter(cadenas, objconn) adaptador.Fill(dtt) If dtt.Rows(j).Item(1) = 1 Then tipo_telefono = "fijo" ElseIf dtt.Rows(j).Item(1) = 2 Then tipo_telefono = "Fax" ElseIf dtt.Rows(j).Item(1) = 3 Then tipo_telefono = "Celular" End If combo_telefono.Items.Add(tipo_telefono & " " &dtt.Rows(j).Item(0)) Next Dim cadena_proveedor = "select No_telefono,Id_tipo_telefono from telefono_proveedor " Dim query As New MySqlDataAdapter(cadena_proveedor,objconn) Dim dt As New DataTable query.Fill(dt) Try For i = 0 To dt.Rows.Count - 1 If dt.Rows(i).Item(1) = 1 Then tipo_telefono = "fijo" ElseIf dt.Rows(i).Item(1) = 2 Then tipo_telefono = "Fax" ElseIf dt.Rows(i).Item(1) = 3 Then tipo_telefono = "Celular" End If combo_telefono.Items.Add(tipo_telefono & " " &dt.Rows(i).Item(0)) Next Me.Data_proveedores.Columns.Add(combo_telefono) Catch ex As Exception MsgBox(ex.Message) End Try
  3. 3. Dim tipo_telefono As String Dim cadena = "select No_telefono, Id_tipo_telefono fromtelefono_proveedor where Id_Proveedor=" & cod_proveedor & " " Dim dt As New DataTable Dim instruccion As New MySqlDataAdapter(cadena, objconn) instruccion.Fill(dt) Try For i = 0 To dt.Rows.Count - 1 If dt.Rows(i).Item(1) = 1 Then tipo_telefono = "fijo" ElseIf dt.Rows(i).Item(1) = 2 Then tipo_telefono = "Fax" ElseIf dt.Rows(i).Item(1) = 3 Then tipo_telefono = "Celular" End If combo_telefono.Items.Add(tipo_telefono & " " &dt.Rows(i).Item(0)) Next Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub proveedores_Load(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles MyBase.Load ojo problemas con desbloquear los botones BLOQUEAR_BOTONES() llenar_data() End SubPublicSub llenar_data()TryDim objConn = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim query = "select * from proveedores order byproveedores.Nombre_proveedor"Dim query = "select * from proveedores"Dim llenar AsNew MySqlDataAdapter(query, objConn)Dim dt AsNew DataTablellenar.Fill(dt)Data_proveedores.DataSource = dtCatch ex As ExceptionMsgBox(ex.Message)EndTry
  4. 4. Data_proveedores.Columns.Item(0).HeaderText = "Id Proveedor"Data_proveedores.Columns.Item(0).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(0).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(1).HeaderText = "Nombre proveedor"Data_proveedores.Columns.Item(1).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(1).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(2).HeaderText = "Contacto"Data_proveedores.Columns.Item(2).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(2).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(3).HeaderText = "Email"Data_proveedores.Columns.Item(3).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(3).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(4).HeaderText = "Plazo pago"Data_proveedores.Columns.Item(4).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleRightData_proveedores.Columns.Item(4).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleRightData_proveedores.Columns.Item(5).HeaderText = "Fecha ingreso"Data_proveedores.Columns.Item(5).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(5).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftpara las columnasData_proveedores.Columns.Item(0).Width = 80Data_proveedores.Columns.Item(1).Width = 175Data_proveedores.Columns.Item(2).Width = 175Data_proveedores.Columns.Item(3).Width = 175
  5. 5. Data_proveedores.Columns.Item(4).Width = 80Data_proveedores.Columns.Item(5).Width = 80EndSubSub LIMPIAR()txt_id.Clear()txt_nombre.Clear()Data_proveedores.Rows.Clear()EndSubSub BLOQUEAR_BOTONES()tsbNuevo.Enabled = FalseEndSubSub DESBLOQUEAR_BOTONES()tsbNuevo.Enabled = TrueEndSubPrivateSub tsbSalir_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbSalir.ClickMe.Close()MsgBox("Desea Salir de la pantalla?", MsgBoxStyle.Question +MsgBoxStyle.OkCancel, "abandonar pantalla")EndSubPrivateSub RadioButton1_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles RadioButton1.CheckedChangedIf RadioButton1.Checked = TrueThentxt_nombre.Visible = Falsetxt_id.Visible = Truetxt_nombre.Text = Nothingtxt_id.Focus()EndIfEndSubPrivateSub RadioButton2_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles RadioButton2.CheckedChangedIf RadioButton2.Checked = TrueThentxt_id.Visible = Falsetxt_nombre.Visible = Truetxt_id.Text = Nothingtxt_nombre.Focus()EndIfEndSubPrivateSub txt_id_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles txt_id.KeyPressIf InStr(1, "1234567890."& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIf
  6. 6. e.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfEndSubPrivateSub txt_id_TextChanged(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles txt_id.TextChangedMe.KeyPreview = Truedesde aqui es para llenar y cargar los datos del data gridconexion.Open()Me.Data_proveedores.RowHeadersVisible = FalseA partir de acaDim da01 AsNew MySqlDataAdapterDim dt1 AsNew DataTableDim dt1 As New DataTable Pa crear una tabla con los nombres de losusuariosDim dN1 AsNew DataSetDim DV1 AsNew DataViewDim Data AsNew DataViewDim Data As New DataViewOJO CAMBIAR SI SALE ERROR Dim Data As New DataViewActualiza el DataGrid de BusquedaTryUsing conexion = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)conexion.Open()sqlstr = "select pv.Id_proveedor, pv.Nombre_proveedor,pv.Contacto, Pv.Email, Pv.Plazo_pago, pv.Fecha_ingreso from proveedoresas pv where pv.Id_proveedor LIKE "& txt_id.Text &"% order bypv.Nombre_proveedor" sqlstr = "select pv.Id_proveedor, pv.Nombre_prov, pv.Contacto,Pv.Email, Pv.Plazo_pago, pv.Fecha_ingreso from proveedores as pv order bypv.Nombre_proveedor asc"Dim da1 AsNew MySqlDataAdapter(sqlstr, conexion)Dim ds1 AsNew DataSetda1.Fill(ds1)Datav1.Table = NothingDatav1.Table = ds1.Tables(0)Cada vez que cambie Data se actualiza el datagrid de la forma de maneraautomaticaData_proveedores.DataSource = Datav1conexion.Close()El DataGridView se llama Data y deben asignar el siguientevalor en sus propiedades SelectionMode = FullRowSelectData_proveedores.SelectionMode = DataGridViewSelectionMode.FullRowSelectData_proveedores.ReadOnly = TrueEndUsingCatch ex As ExceptionEndTryData_proveedores.Columns.Item(0).HeaderText = "Id Proveedor"
  7. 7. Data_proveedores.Columns.Item(0).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(0).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(1).HeaderText = "Nombre proveedor"Data_proveedores.Columns.Item(1).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(1).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(2).HeaderText = "Contacto"Data_proveedores.Columns.Item(2).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(2).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(3).HeaderText = "Email"Data_proveedores.Columns.Item(3).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(3).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(4).HeaderText = "Plazo pago"Data_proveedores.Columns.Item(4).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(4).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(5).HeaderText = "Fecha ingreso"Data_proveedores.Columns.Item(5).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(5).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftpara las columnasData_proveedores.Columns.Item(0).Width = 80 Id proveedorData_proveedores.Columns.Item(1).Width = 175 nombre proveedorData_proveedores.Columns.Item(2).Width = 175 ContactoData_proveedores.Columns.Item(3).Width = 175 EmailData_proveedores.Columns.Item(4).Width = 80 Plazo pagoData_proveedores.Columns.Item(5).Width = 80 Fecha ingreso
  8. 8. Data_proveedores.Columns.Item(6).Width = 80 SALDOconexion.Close()para auto completar de numero_identidadtxt_id.AutoCompleteMode = AutoCompleteMode.SuggestAppendtxt_id.AutoCompleteSource = AutoCompleteSource.CustomSourcesqlstr = "SELECT DISTINCT Id_proveedor FROM proveedores ORDER ById_proveedor ASC"AutoCompletar(Me.txt_id, sqlstr)mensaje que no existe id en bd, solo sirve para el nombre proveedorojo con el errorUsing conexion = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim datos AsString = Me.txt_id.TextEndUsingDim filasgrid AsInteger = Data_proveedores.Rows.CountDim resultado AsIntegerUsing conexion = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)conexion.Open()Dim consulta AsNew MySqlCommand("SELECT COUNT(Id_Proveedor) FROMProveedores WHERE Id_Proveedor LIKE "& txt_id.Text &"%", conexion)resultado = consulta.ExecuteScalarconexion.Close()EndUsingIf resultado = 0 ThenMsgBox("Este Id del proveedor no se encuentra registrado",MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "AVISO")txt_id.Clear()txt_id.Focus()EndIfIf txt_id.Text = ""ThenMe.Data_proveedores.DataSource = NothingEndIfEndSubPrivateSub txt_nombre_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles txt_nombre.KeyPressValidname(Me.txt_nombre, e, 45, False)If e.KeyChar = Chr(45) Thene.Handled = TrueEndIf#####################validacion ########################nonrepeat(Me.txt_nombre, True)If txt_nombre.Text = ""Then
  9. 9. llenar_data()EndIfEndSubPrivateSub txt_nombre_MouseCaptureChanged(ByVal sender AsObject, ByVal eAs System.EventArgs) Handles txt_nombre.MouseCaptureChangedaveriguar pa que sirveMe.txt_nombre.SelectionStart = Me.txt_nombre.TextLength()EndSubPrivateSub txt_nombre_TextChanged(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles txt_nombre.TextChangedMe.KeyPreview = Truedesde aqui es para llenar y cargar los datos del data gridconexion.Open()Me.Data_proveedores.RowHeadersVisible = FalseA partir de acaDim da01 AsNew MySqlDataAdapterDim dt1 AsNew DataTableDim dt1 As New DataTable Pa crear una tabla con los nombres de losusuariosDim dN1 AsNew DataSetDim DV1 AsNew DataViewDim Data AsNew DataViewActualiza el DataGrid de BusquedaUsing conexion = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)conexion.Open()sqlstr = "select pv.Id_proveedor, pv.Nombre_proveedor,pv.Contacto, Pv.Email, Pv.Plazo_pago, pv.Fecha_ingreso from proveedoresas pv order by pv.Nombre_proveedor"Dim da1 AsNew MySqlDataAdapter(sqlstr, conexion)Dim ds1 AsNew DataSetda1.Fill(ds1)Datav1.Table = NothingDatav1.Table = ds1.Tables(0)Cada vez que cambie Data se actualiza el datagrid de la forma de maneraautomaticaData_proveedores.DataSource = Datav1conexion.Close()El DataGridView se llama Data y deben asignar el siguientevalor en sus propiedades SelectionMode = FullRowSelectData_proveedores.SelectionMode = DataGridViewSelectionMode.FullRowSelectData_proveedores.ReadOnly = TrueEndUsingData_proveedores.Columns.Item(0).HeaderText = "Id Proveedor"Data_proveedores.Columns.Item(0).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenter
  10. 10. Data_proveedores.Columns.Item(0).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftFriend WithEvents Column1 AsSystem.Windows.Forms.DataGridViewComboBoxColumnData_proveedores.Columns.Item(1).HeaderText = "Nombre proveedor"Data_proveedores.Columns.Item(1).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(1).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(2).HeaderText = "Contacto"Data_proveedores.Columns.Item(2).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(2).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(3).HeaderText = "Email"Data_proveedores.Columns.Item(3).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(3).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftData_proveedores.Columns.Item(4).HeaderText = "Plazo pago"Data_proveedores.Columns.Item(4).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleRightData_proveedores.Columns.Item(4).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleRightData_proveedores.Columns.Item(5).HeaderText = "Fecha ingreso"Data_proveedores.Columns.Item(5).HeaderCell.Style.Alignment =DataGridViewContentAlignment.MiddleCenterData_proveedores.Columns.Item(5).DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleLeftpara las columnasData_proveedores.Columns.Item(0).Width = 80 Id proveedorData_proveedores.Columns.Item(1).Width = 175 nombre proveedorData_proveedores.Columns.Item(2).Width = 175 ContactoData_proveedores.Columns.Item(3).Width = 175 EmailData_proveedores.Columns.Item(4).Width = 80 Plazo pago
  11. 11. Data_proveedores.Columns.Item(5).Width = 80 Fecha ingresoData_proveedores.Columns.Item(6).Width = 80 SALDOconexion.Close() para auto completar de nombre empledotxt_nombre.AutoCompleteMode = AutoCompleteMode.SuggestAppendtxt_nombre.AutoCompleteSource = AutoCompleteSource.CustomSourcesqlstr = "SELECT DISTINCT Nombre_proveedor FROM proveedores ORDERBy Nombre_proveedor ASC"AutoCompletar(Me.txt_nombre, sqlstr)ojo con el errornonrepeat(Me.txt_nombre, True)Using conexion = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim datoss AsString = Me.txt_nombre.TextDatav1.RowFilter = String.Format("Nombre_proveedor Like{0}%", datoss)EndUsingDim filasgridd AsInteger = Data_proveedores.Rows.CountIf filasgridd = 1 And txt_nombre.Text <>""ThenMsgBox("Este nombre del proveedor no se encuentra registrado",MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "AVISO")txt_nombre.Text = NothingEndIfEndSubPrivateSub Data_proveedores_BindingContextChanged(ByVal sender AsObject,ByVal e As System.EventArgs) HandlesData_proveedores.BindingContextChangedEndSubPrivateSub Data_proveedores_DataSourceChanged(ByVal sender AsObject,ByVal e As System.EventArgs) Handles Data_proveedores.DataSourceChangedIf Data_proveedores.RowCount = 0 Thenllenar_data()EndIfEndSub
  12. 12. PrivateSub Data_proveedores_DoubleClick(ByVal sender AsObject, ByVal e AsSystem.EventArgs) Handles Data_proveedores.DoubleClickal darle doble click y no hay datos tira un error para solucionarlo hayque verificar si hay lineas si hay filas entonces se hace el procesoIf Data_proveedores.RowCount > 0 Theneditar_proveedor.Textid.Text =Data_proveedores.CurrentRow.Cells(0).Valueeditar_proveedor.TextNombre.Text =Data_proveedores.CurrentRow.Cells(1).Valueeditar_proveedor.TextContacto.Text =Data_proveedores.CurrentRow.Cells(2).Valueeditar_proveedor.TextEmail.Text =Data_proveedores.CurrentRow.Cells(3).Valueeditar_proveedor.TextPlazo_pago.Text =Data_proveedores.CurrentRow.Cells(4).Valueeditar_proveedor.TextFecha_ingreso.Text =Data_proveedores.CurrentRow.Cells(5).Valueeditar_proveedor.TextSaldo.Text =Data_proveedores.CurrentRow.Cells(6).Valueoculta el formulario actualMe.Visible = Falsepara mostrarse enfrente de todos los formularios (ShowDialog())editar_proveedor.ShowDialog()txt_nombre.Clear()txt_id.Clear()muestra el formulario actualMe.Visible = TrueEndIfEndSubPrivateSub proveedores_FormClosing(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.FormClosingEventArgs) HandlesMe.FormClosingIf e.CloseReason = CloseReason.UserClosing ThenDim respexitrespexit = MsgBox("¿Desea salir de la pantalla?",MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "Abandonar pantalla")If respexit = vbCancel Thene.Cancel = TrueEndIfEndIfEndSub
  13. 13. PrivateSub frmproveedores_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Loadllenar_data()EndSubPrivateSub Data_proveedores_CellContentClick(ByVal sender AsSystem.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles Data_proveedores.CellContentClickEndSubPrivateSub Data_proveedores_SelectionChanged(ByVal sender AsObject, ByVale As System.EventArgs) Handles Data_proveedores.SelectionChangedEndSubEndClassImports MySql.Data.MySqlClientImports MySql.DataPublicClass nuevo_proveedorPublic idpr AsStringPublic num_fact AsIntegerPrivateSub tsbGuardar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbGuardar.Clickvalidacion para no permitir datos repetidos en id y nombreDim objConn AsNew MySql.Data.MySqlClient.MySqlConnectionobjConn = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)
  14. 14. objConn.Open()If Textid.Text = ""Or Textnombre.Text = ""ThenMsgBox("Es obligatorio ingresar el Id del proveedor y su nombre deProvedor", , MsgBoxStyle.Exclamation)ExitSubEndIfIfMe.Textid.Text.Length < 14 OrMe.Textid.Text.Length > 15 ThenIf Textid.Text.Length < 14 Or Textid.Text.Length > 15 ThenMsgBox("El Id del proveedor tiene que ser de 14 dígitos ",MsgBoxStyle.Critical)Textid.Clear()Textid.Focus()ExitSubEndIfEndIfDim sql_comprobar As MySqlCommand########_________comprobar el rtnDim cadena_rtn AsString = "SELECT COUNT(id_proveedor) FROM proveedoresWHERE id_proveedor = "& Textid.Text &""sql_comprobar = New MySqlCommand(cadena_rtn, objConn)si la consulta del rtn es cero entonces no existe el rtn y pasa acomprobar el nombresi la consulta del rtn no es cero osea es mayor que cero ya existe elrtnIf sql_comprobar.ExecuteScalar > 0 ThenMsgBox("El RTN ya existe")Textid.Clear()Textid.Focus()Salimos del codigo para evitar que se ejecute lo de abajo.ExitSubEndIf#########________comprobar el nombreDim cadena_nombre AsString = "SELECT COUNT(Nombre_proveedor) FROMproveedores WHERE Nombre_proveedor = "& Textnombre.Text &""sql_comprobar = New MySqlCommand(cadena_nombre, objConn)si la consulta del rtn es cero entonces no existe el nombre y pasa acomprobar el telefonosi la consulta del rtn no es cero osea es mayor que cero ya existe elnombreIf sql_comprobar.ExecuteScalar > 0 ThenMsgBox("El nombre de proveedor ya existe")Textnombre.Clear()Textnombre.Focus()Salimos del codigo para evitar que se ejecute lo de abajo.ExitSubEndIf
  15. 15. comprobar el telefonoDim cadena_telefono AsString = "SELECT COUNT(No_telefono) FROMtelefono_proveedor WHERE No_telefono = "& MaskedTelefono.Text &" andId_tipo_telefono = 1"sql_comprobar = New MySqlCommand(cadena_telefono, objConn)si la consulta del rtn es cero entonces no existe el nombre y pasa acomprobar el telefonosi la consulta del rtn no es cero osea es mayor que cero ya existe elnombreIf sql_comprobar.ExecuteScalar > 0 ThenMsgBox("El numero de Telefono ya existe")MaskedTelefono.Clear()MaskedTelefono.Focus()Salimos del codigo para evitar que se ejecute lo de abajo.ExitSubEndIfcomprobar el faxDim cadena_fax AsString = "SELECT COUNT(No_telefono) FROMtelefono_proveedor WHERE No_telefono = "& MaskedFax.Text &" andId_tipo_telefono = 2"sql_comprobar = New MySqlCommand(cadena_fax, objConn)si la consulta del rtn es cero entonces no existe el nombre y pasa acomprobar el telefono faxIf sql_comprobar.ExecuteScalar > 0 ThenMsgBox("El numero de Telefono Fax ya existe")MaskedFax.Clear()MaskedFax.Focus()Salimos del codigo para evitar que se ejecute lo de abajo.ExitSubEndIf#################TERMINO AREA DE COMPROBACION ############################################validaciones para tipo detelefono#########################################################IfMe.MaskedTelefono.Text.Length < 8 ThenIf MaskedTelefono.Text.Length < 8 ThenMsgBox("El numero de Telefono tiene que ser de ochodigitos ", MsgBoxStyle.Critical)MaskedTelefono.Clear()MaskedTelefono.Focus()ExitSubEndIfEndIf
  16. 16. validacion para el numero de faxIfMe.MaskedFax.Text.Length < 8 ThenIf MaskedFax.Text.Length < 8 ThenMsgBox("El numero de Fax tiene que ser de ocho digitos ",MsgBoxStyle.Critical)MaskedFax.Clear()MaskedFax.Focus()ExitSubEndIfEndIfvalidacion para el numero de celularIfMe.MaskedCelular.Text.Length < 8 ThenIf MaskedCelular.Text.Length < 8 ThenMsgBox("El numero de Celular tiene que ser de ochodigitos ", MsgBoxStyle.Critical)MaskedCelular.Clear()MaskedCelular.Focus()ExitSubEndIfEndIf#########################PARAGUARDAR#########################################################TryMaskedCelular.TextMaskFormat =MaskFormat.ExcludePromptAndLiteralsMaskedFax.TextMaskFormat =MaskFormat.ExcludePromptAndLiteralsMaskedTelefono.TextMaskFormat = MaskFormat.ExcludePromptAndLiteralscon la funcion SELECT CURDATE() exclusiva de mysql se obtiene la fechaactual del sistemaDim guardar_proveedor AsNew MySqlCommand("INSERT INTO proveedores(Id_proveedor, Nombre_proveedor, Contacto, Email, Plazo_Pago,Fecha_Ingreso) VALUES("& Textid.Text &", "& Textnombre.Text &", "&Textcontacto.Text &","& Textemail.Text &","& Textplazopag.Text &",(SELECT CURDATE()))", objConn)Dim cadena = "INSERT INTO banco_proveedor (Nombre_Banco, id_proveedor,No_cuenta) VALUES("& cb_bancos.Text &", "& Textid.Text &", "&Textcuenta.Text &")"Dim cadena2 = "INSERT INTO telefono_proveedor (Id_Proveedor, No_telefono,Id_tipo_telefono) VALUES("& Textid.Text &", "& MaskedTelefono.Text&", 1)"Dim cadena3 = "INSERT INTO telefono_proveedor (Id_Proveedor, No_telefono,Id_tipo_telefono) VALUES("& Textid.Text &", "& MaskedCelular.Text &",3)"
  17. 17. Dim cadena4 = "INSERT INTO telefono_proveedor (Id_Proveedor, No_telefono,Id_tipo_telefono) VALUES("& Textid.Text &", "& MaskedFax.Text &", 2)"Dim guardar_banco AsNew MySqlCommand(cadena, objConn)Dim guardar_telefono AsNew MySqlCommand(cadena2, objConn)Dim guardar_celular AsNew MySqlCommand(cadena3, objConn)Dim guardar_fax AsNew MySqlCommand(cadena4, objConn)guardar_proveedor.ExecuteNonQuery()guardar_banco.ExecuteNonQuery()guardar_telefono.ExecuteNonQuery()guardar_celular.ExecuteNonQuery()guardar_fax.ExecuteNonQuery()MsgBox("Información guardada correctamente",MsgBoxStyle.Information, "Proveedores")Me.Close()Catch ex As ExceptionMsgBox("Información no guardada. "& ex.Message, MsgBoxStyle.Critical,"ERROR....")EndTryExit SubTryCatch ex As ExceptionMsgBox(ex.Message)EndTryLIMPIAR()EndSubPublicSub bancos()Dim objconn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)objconn.Open()TryDim tablabancos AsNew DataTableDim consulta_bancos AsNew MySqlDataAdapter("SELECT nombre_banco frombanco", objconn)consulta_bancos.Fill(tablabancos)For i = 0 To tablabancos.Rows.Count - 1cb_bancos.Items.Add((tablabancos.Rows(i).Item(0)))NextCatch ex As ExceptionMsgBox(ex.Message)EndTryobjconn.Close()EndSubPrivateSub tsbSalir_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbSalir.ClickMe.Close()
  18. 18. EndSubPrivateSub nuevo_proveedor_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Loadcb_bancos.Items.Clear()bancos()VER SI AHI ESTA BIEN PARA LA HORA DEL SISTEMAagregar la fecha del servidorDim objConn AsNew MySql.Data.MySqlClient.MySqlConnectionobjConn = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)objConn.Open()Dim fechadb AsNew MySqlClient.MySqlCommand("SELECT CURDATE()", objConn)Maskedfechaingreso.Text = fechadb.ExecuteScalarobjConn.Close()EndSubSub LIMPIAR()Textid.Clear()Textnombre.Clear()Textcontacto.Clear()Textemail.Clear()MaskedCelular.Clear()Textemail.Clear()MaskedFax.Clear()MaskedTelefono.Clear()Textcuenta.Clear()Textplazopag.Clear()Maskedfechaingreso.Clear()cb_bancos = NothingEndSubSub DESBLOQUEAR_BOTONES()tsbGuardar.Enabled = TrueTextnombre.Enabled = TrueTextcontacto.Enabled = TrueMaskedCelular.Enabled = TrueTextemail.Enabled = TrueTextcuenta.Enabled = Truecb_bancos.Enabled = TrueMaskedFax.Enabled = TrueTextid.Enabled = TrueMaskedTelefono.Enabled = TrueMaskedfechaingreso.Enabled = TrueTextplazopag.Enabled = TrueTextsaldo.Enabled = TrueTextcuenta.Enabled = True
  19. 19. Textcuenta2.Enabled = TrueEndSubSub BLOQUEAR_BOTONES()tsbGuardar.Enabled = FalseTextnombre.Enabled = FalseTextcontacto.Enabled = FalseMaskedCelular.Enabled = FalseTextemail.Enabled = FalseTextcuenta.Enabled = Falsecb_bancos.Enabled = FalseMaskedFax.Enabled = FalseTextid.Enabled = FalseMaskedTelefono.Enabled = FalseMaskedfechaingreso.Enabled = FalseTextplazopag.Enabled = FalseTextcuenta.Enabled = FalseTextcuenta2.Enabled = FalseEndSubPrivateSub Textid_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textid.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfEndSubPrivateSub Texttelefono_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs)If InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfOJO EN DONDE VA ESTE ERROREndSub
  20. 20. PrivateSub Textnombre_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textnombre.KeyPressValidname(Me.Textnombre, e, 45, False)If e.KeyChar = Chr(45) Thene.Handled = TrueEndIf#####################alidacion ########################nonrepeat(Me.Textnombre, True)EndSubPrivateSub Textcontacto_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textcontacto.KeyPressValidname(Me.Textcontacto, e, 45, False)If e.KeyChar = Chr(45) Thene.Handled = TrueEndIf#####################alidacion ########################nonrepeat(Me.Textcontacto, True)EndSubPrivateSub Textfax_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs)revisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfEndSubPrivateSub Textcelular_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs)revisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfEndSubPrivateSub Textcuenta_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textcuenta.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""
  21. 21. MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfEndSubPrivateSub Textplazopag_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textplazopag.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Textcuenta.Text = "0" Then If e.KeyChar = ChrW(Keys.Enter) Then e.Handled = False End If e.KeyChar = "" MsgBox("No se puede guardar el numero de cuenta porque el valor escero")ElseEnd IfEndSubPrivateSub Textemail_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Textemail.KeyPressIf Len(Textemail.Text) > 2 ThenIf InStr(Textemail.Text, "@") = 0 ThenIf InStr(1, "0123456789.-_@"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""EndIfElseIf InStr(1, "0123456789.-_"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""EndIfEndIfElseIf InStr(1, "0123456789.-_"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""
  22. 22. EndIfEndIf#####################alidacion ########################nonrepeat(Me.Textemail, True)EndSubPrivateSub Textemail_Validated(ByVal sender AsObject, ByVal e AsSystem.EventArgs) Handles Textemail.ValidatedIf Len(Textemail.Text) = 0 ThenExitSubEndIfTextemail.Text = LCase(Textemail.Text)If Textemail.Text = ""ThenMsgBox("Debe ingresar un correo valido")Textemail.Focus()ElseDim captura_dominio AsStringDim posicion_dominio AsIntegerIf Len(Textemail.Text) > 11 ThenIf InStr(Textemail.Text, "@") > 2 ThenIf InStr(Textemail.Text, "@.") = 0 ThenSe captura las ultimas letras osea el dominioposicion_dominio = Len(Textemail.Text) - 3captura_dominio = Mid(Textemail.Text,posicion_dominio)compara los dominiosIf captura_dominio = ".com"Or captura_dominio = ".net"Or captura_dominio= ".edu"Or captura_dominio = ".gov"Or captura_dominio = ".mil"Orcaptura_dominio = ".org"Or Mid(Textemail.Text, posicion_dominio + 1) =".es"Or Mid(Textemail.Text, posicion_dominio + 1) = ".hn"OrMid(Textemail.Text, posicion_dominio + 1) = ".cr"Or Mid(Textemail.Text,posicion_dominio + 1) = ".sv"Or Mid(Textemail.Text, posicion_dominio + 1)= ".pa"Or Mid(Textemail.Text, posicion_dominio + 1) = ".gt"OrMid(Textemail.Text, posicion_dominio + 1) = ".ni"ThenExitSubElseMsgBox("Debe ingresar un dominio .com, .es,.hn ingrese un correo valido ejemplo: juan@hotmail.com")Textemail.Focus()EndIfElseMsgBox("No puede ingresar @. ingrese un correovalido ejemplo: juan@hotmail.com")Textemail.Focus()EndIfElse
  23. 23. MsgBox("Falta la @ ingrese un correo valido ejemplo:juan@hotmail.com")Textemail.Focus()EndIfElseMsgBox("Ingrese un correo valido ejemplo:juan@hotmail.com")Textemail.Focus()EndIfEndIfEndSubPrivate Sub Textbanco_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Validname(Me.Textbanco, e, 45, False) If e.KeyChar = Chr(45) Then e.Handled = True End If #####################Validacion ######################## nonrepeat(Me.Textbanco, True)End SubPrivateSub nuevo_proveedor_FormClosing(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.FormClosingEventArgs) HandlesMe.FormClosingIf e.CloseReason = CloseReason.UserClosing ThenDim respexitrespexit = MsgBox("¿Desea salir de la pantalla?",MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "Abandonar pantalla")If respexit = vbCancel Thene.Cancel = TrueEndIfEndIfEndSubPrivateSub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal eAs System.Windows.Forms.LinkLabelLinkClickedEventArgs) HandlesLinkLabel1.LinkClickedAdicion_num_tel.Show()EndSub#Region"VALIDACIONES PARA EVITAR COLOCAR NUMEROS INCORRECTOS EN ELCELULAR, TELEFONO Y FAX"PrivateSub MaskedCelular_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles MaskedCelular.KeyPressMaskedCelular.TextMaskFormat =MaskFormat.ExcludePromptAndLiteralsIf Len(MaskedCelular.Text) = 0 ThenIf InStr(1, "983", e.KeyChar) = 0 Thene.KeyChar = Nothing
  24. 24. MsgBox("Solo puede iniciar con un digito que empiece con 9, 8 o 3")EndIfEndIfEndSubPrivateSub MaskedTelefono_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles MaskedTelefono.KeyPressMaskedTelefono.TextMaskFormat =MaskFormat.ExcludePromptAndLiteralsIf Len(MaskedTelefono.Text) = 0 ThenIf Chr(50) <> e.KeyChar Thene.KeyChar = NothingMsgBox("Solo puede iniciar con un digito que empiece con 2")mensaje de que solo pude ingresar 2EndIfEndIfIf Len(MaskedTelefono.Text) = 1 ThenIf InStr(1, "245678", e.KeyChar) = 0 Thene.KeyChar = ""mensaje de ue solo puede ingresar ...EndIfEndIfEndSubPrivateSub MaskedFax_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles MaskedFax.KeyPressMaskedFax.TextMaskFormat = MaskFormat.ExcludePromptAndLiteralsIf Len(MaskedFax.Text) = 0 ThenIf Chr(50) <> e.KeyChar Thene.KeyChar = NothingMsgBox("Solo puede iniciar con un digito que empiece con 2")EndIfEndIfIf Len(MaskedFax.Text) = 1 ThenIf InStr(1, "245678", e.KeyChar) = 0 Thene.KeyChar = ""EndIfEndIfEndSub#EndRegionEndClass
  25. 25. Imports MySql.Data.MySqlClientPublicClass editar_proveedorPublicSub combo_bancos()Dim objconn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)objconn.Open()TryDim tablabancos AsNew DataTableDim consulta_bancos AsNew MySqlDataAdapter("SELECT nombre_banco frombanco", objconn)consulta_bancos.Fill(tablabancos)For i = 0 To tablabancos.Rows.Count - 1cb_bancos.Items.Add((tablabancos.Rows(i).Item(0)))NextCatch ex As ExceptionMsgBox(ex.Message)EndTryobjconn.Close()EndSubPrivateSub tsbGuardar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbGuardar.Click OJO PA GUARDARvalidacion para no permitir datos repetidos en idDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection
  26. 26. objConn = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)objConn.Open()If TextNombre.Text = ""ThenMsgBox("Es obligatorio ingresar el nombre del proveedor", ,MsgBoxStyle.Exclamation)ExitSubEndIfVALIDACION(BUENA)IfMe.Textid.Text.Length < 14 OrMe.Textid.Text.Length > 15 ThenIf Textid.Text.Length < 14 Or Textid.Text.Length > 15 ThenMsgBox("El Id del proveedor tiene que ser de 14 dígitos ",MsgBoxStyle.Critical)Textid.Clear()Textid.Focus()ExitSubEndIfEndIfIfMe.TextTelefono.Text.Length < 8 ThenIf TextTelefono.Text < 8 ThenMsgBox("El numero de Telefono tiene que ser de ochodigitos ", MsgBoxStyle.Critical)TextTelefono.Clear()TextTelefono.Focus()ExitSubEndIfEndIfvalidacion para el numero de faxIfMe.TextFax.Text.Length < 8 ThenIf TextFax.Text.Length < 8 ThenMsgBox("El numero de Fax tiene que ser de ocho digitos ",MsgBoxStyle.Critical)TextFax.Clear()TextFax.Focus()ExitSubEndIfEndIfvalidacion para el numero de celularIfMe.TextCelular.Text.Length < 8 ThenIf TextCelular.Text.Length < 8 ThenMsgBox("El numero de Celular tiene que ser de ochodigitos ", MsgBoxStyle.Critical)TextCelular.Clear()TextCelular.Focus()ExitSubEndIfEndIf
  27. 27. FALTA VALIDACIONES EN NUMERO DE TELEFONO COPIAR DE PANTALLA NUEVOactualizar()EndSubPublicSub actualizar()TryDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "UPDATE proveedores SET Nombre_proveedor= "&TextNombre.Text &", contacto= "& TextContacto.Text &", Email= "&TextEmail.Text &", Plazo_pago= "& TextPlazo_pago.Text &" WHEREId_Proveedor= "&Me.Textid.Text &""Dim adaptador As MySqlCommandobjConn.Open()adaptador = New MySqlCommand(cadena, objConn)adaptador.ExecuteNonQuery()actualizar_telefonos()actualizar_banco()MsgBox("La Información se actualizo correctamente",MsgBoxStyle.Information, "Proveedores")Me.Close()Catch ex As ExceptionMsgBox("Información no se actualizo. "& ex.Message, MsgBoxStyle.Critical,"ERROR....")EndTryTryCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSubPublicSub actualizar_telefonos()TryDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "UPDATE telefono_proveedor SET No_telefono = "&TextTelefono.Text &" WHERE telefono_proveedor.Id_Proveedor="&Me.Textid.Text &" and Id_tipo_telefono = 1"Dim cadena1 = "UPDATE telefono_proveedor SET No_telefono = "&TextFax.Text &" WHERE telefono_proveedor.Id_Proveedor="&Me.Textid.Text &" and Id_tipo_telefono = 2"Dim cadena2 = "UPDATE telefono_proveedor SET No_telefono = "&TextCelular.Text &" WHERE telefono_proveedor.Id_Proveedor="&Me.Textid.Text &" and Id_tipo_telefono = 3"
  28. 28. Dim adaptador As MySqlCommandobjConn.Open()adaptador = New MySqlCommand(cadena, objConn)adaptador.ExecuteNonQuery()adaptador = New MySqlCommand(cadena1, objConn)adaptador.ExecuteNonQuery()adaptador = New MySqlCommand(cadena2, objConn)adaptador.ExecuteNonQuery()MsgBox("La Información se actualizo correctamente",MsgBoxStyle.Information, "Proveedores")Me.Close()Catch ex As ExceptionMsgBox("Información no se actualizo. "& ex.Message, MsgBoxStyle.Critical,"ERROR....")EndTryTryCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSubPublicSub actualizar_banco()TryDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "UPDATE banco_proveedor SET Nombre_Banco = "&cb_bancos.Text &", No_cuenta= "& TextCuenta.Text &" WHEREId_proveedor= "&Me.Textid.Text &""Dim adaptador As MySqlCommandobjConn.Open()adaptador = New MySqlCommand(cadena, objConn)adaptador.ExecuteNonQuery()MsgBox("La Información se actualizo correctamente",MsgBoxStyle.Information, "Proveedores")Me.Close()Catch ex As ExceptionMsgBox("Información no se actualizo. "& ex.Message, MsgBoxStyle.Critical,"ERROR....")EndTryTryCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSub
  29. 29. PrivateSub editar_proveedor_Load(ByVal sender As System.Object, ByVal eAs System.EventArgs) HandlesMyBase.Loadcombo_bancos()numero_telefono()numero_Celular()numero_Fax()banco()no_cuenta()Textid.Enabled = TrueTextid.ReadOnly = TrueEndSubPublicSub numero_telefono()Dim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "Select No_telefono from telefono_proveedor whereId_Proveedor= "&Me.Textid.Text &" And Id_tipo_telefono = 1"telefonoDim cadena2 = "Select No_telefono from telefono_proveedor whereId_Proveedor= "&Me.Textid.Text &" and Id_tipo_telefono = 3"celularDim cadena3 = "Select No_telefono from telefono_proveedor whereId_Proveedor= "&Me.Textid.Text &" and Id_tipo_telefono = 2"faxobjConn.Open()Dim sql_consulta As MySqlCommandTryobtenemos el telefonosql_consulta = New MySqlCommand(cadena, objConn)TextTelefono.Text = sql_consulta.ExecuteScalarCatch ex As ExceptionEndTryTryobtenemos el celularsql_consulta = New MySqlCommand(cadena2, objConn)TextCelular.Text = sql_consulta.ExecuteScalarCatch ex As ExceptionMsgBox(ex.Message)EndTryTryobtenemos el faxsql_consulta = New MySqlCommand(cadena3, objConn)TextFax.Text = sql_consulta.ExecuteScalarCatch ex As ExceptionEndTryEndSubPublicSub banco()
  30. 30. TryDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "Select Nombre_Banco from Banco_proveedor whereId_Proveedor= "&Me.Textid.Text &""Dim adaptador As MySqlCommandobjConn.Open()adaptador = New MySqlCommand(cadena, objConn)adaptador.ExecuteScalar()Me.cb_bancos.SelectedText = adaptador.ExecuteScalarCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSubPublicSub no_cuenta()TryDim objConn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim cadena = "Select No_cuenta from Banco_proveedor where Id_Proveedor="&Me.Textid.Text &""Dim adaptador As MySqlCommandobjConn.Open()adaptador = New MySqlCommand(cadena, objConn)adaptador.ExecuteScalar()Me.TextCuenta.Text = adaptador.ExecuteScalarCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSubPrivateSub TextNombre_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextNombre.KeyPressValidname(Me.TextNombre, e, 45, False)If e.KeyChar = Chr(45) Thene.Handled = TrueEndIf#####################alidacion ########################nonrepeat(Me.TextNombre, True)EndSubPrivateSub TextContacto_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextContacto.KeyPressValidname(Me.TextContacto, e, 45, False)If e.KeyChar = Chr(45) Thene.Handled = TrueEndIf
  31. 31. #####################alidacion ########################nonrepeat(Me.TextContacto, True)EndSubPrivateSub TextTelefono_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextTelefono.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Len(TextTelefono.Text) = 0 ThenIf Chr(50) <> e.KeyChar Thene.KeyChar = NothingMsgBox("Solo puede iniciar con un digito que empiece con 2")mensaje de que solo pude ingresar 2EndIfEndIfIf Len(TextTelefono.Text) = 1 ThenIf InStr(1, "245678", e.KeyChar) = 0 Thene.KeyChar = ""mensaje de ue solo puede ingresar ...EndIfEndIfEndSubPrivateSub TextCelular_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextCelular.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Len(TextCelular.Text) = 0 ThenIf InStr(1, "983", e.KeyChar) = 0 Thene.KeyChar = NothingMsgBox("Solo puede iniciar con un digito que empiece con 9, 8 o 3")EndIfEndIf
  32. 32. EndSubPrivateSub TextFax_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextFax.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Len(TextFax.Text) = 0 ThenIf Chr(50) <> e.KeyChar Thene.KeyChar = NothingMsgBox("Solo puede iniciar con un digito que empiece con 2")EndIfEndIfIf Len(TextFax.Text) = 1 ThenIf InStr(1, "245678", e.KeyChar) = 0 Thene.KeyChar = ""EndIfEndIfEndSubPrivateSub TextCuenta_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextCuenta.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = FalseEndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Len(TextCuenta.Text) = 0 ThenIf InStr(1, "123456789", e.KeyChar) = 0 Thene.KeyChar = NothingMsgBox("no se puede iniciar con un valor de cero")EndIfEndIfEndSubPrivateSub TextPlazo_pago_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextPlazo_pago.KeyPressrevisar si hace algoIf InStr(1, "1234567890"& Chr(8), e.KeyChar) = 0 ThenIf e.KeyChar = ChrW(Keys.Enter) Thene.Handled = False
  33. 33. EndIfe.KeyChar = ""MsgBox("SOLO SE ACEPTAN NUMEROS")EndIfIf Len(TextPlazo_pago.Text) = 0 ThenIf InStr(1, "123456789", e.KeyChar) = 0 Thene.KeyChar = NothingMsgBox("no se puede iniciar con un valor de cero")EndIfEndIfEndSubPrivateSub TextEmail_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextEmail.KeyPressIf Len(TextEmail.Text) > 2 ThenIf InStr(TextEmail.Text, "@") = 0 ThenIf InStr(1, "0123456789.-_@"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""EndIfElseIf InStr(1, "0123456789.-_"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""EndIfEndIfElseIf InStr(1, "0123456789.-_"&"abcdefghijklmnñopqrstuvwxyz"&"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"& Chr(8),e.KeyChar) = 0 Thene.KeyChar = ""EndIfEndIf#####################alidacion ########################nonrepeat(Me.TextEmail, True)EndSubPrivateSub TextEmail_Validated(ByVal sender AsObject, ByVal e AsSystem.EventArgs) Handles TextEmail.ValidatedIf Len(TextEmail.Text) = 0 ThenExitSubEndIf
  34. 34. TextEmail.Text = LCase(TextEmail.Text)If TextEmail.Text = ""ThenMsgBox("Debe ingresar un correo valido")TextEmail.Focus()ElseDim captura_dominio AsStringDim posicion_dominio AsIntegerIf Len(TextEmail.Text) > 11 ThenIf InStr(TextEmail.Text, "@") > 2 ThenIf InStr(TextEmail.Text, "@.") = 0 ThenSe captura las ultimas letras osea el dominioposicion_dominio = Len(TextEmail.Text) - 3captura_dominio = Mid(TextEmail.Text,posicion_dominio)compara los dominiosIf captura_dominio = ".com"Or captura_dominio = ".net"Or captura_dominio= ".edu"Or captura_dominio = ".gov"Or captura_dominio = ".mil"Orcaptura_dominio = ".org"Or Mid(TextEmail.Text, posicion_dominio + 1) =".es"Or Mid(TextEmail.Text, posicion_dominio + 1) = ".hn"OrMid(TextEmail.Text, posicion_dominio + 1) = ".cr"Or Mid(TextEmail.Text,posicion_dominio + 1) = ".sv"Or Mid(TextEmail.Text, posicion_dominio + 1)= ".pa"Or Mid(TextEmail.Text, posicion_dominio + 1) = ".gt"OrMid(TextEmail.Text, posicion_dominio + 1) = ".ni"ThenExitSubElseMsgBox("Debe ingresar un dominio .com, .es,.hn ingrese un correo valido ejemplo: juan@hotmail.com")TextEmail.Focus()EndIfElseMsgBox("No puede ingresar @. ingrese un correovalido ejemplo: juan@hotmail.com")TextEmail.Focus()EndIfElseMsgBox("Fala la @ ingrese un correo valido ejemplo:juan@hotmail.com")TextEmail.Focus()EndIfElseMsgBox("Ingrese un correo valido ejemplo:juan@hotmail.com")TextEmail.Focus()EndIfEndIfEndSubPrivateSub editar_proveedor_FormClosing(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.FormClosingEventArgs) HandlesMyBase.FormClosing
  35. 35. If e.CloseReason = CloseReason.UserClosing ThenDim respexitrespexit = MsgBox("¿Desea salir de la pantalla?",MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "Abandonar pantalla")If respexit = vbCancel Thene.Cancel = TrueElsecb_bancos.Items.Clear()EndIfEndIfEndSubPrivateSub tsbSalir_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbSalir.ClickMe.Close()EndSubPrivateSub TextFax_TextChanged(ByVal sender As System.Object, ByVal e AsSystem.EventArgs)EndSubPrivateSub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal eAs System.Windows.Forms.LinkLabelLinkClickedEventArgs) HandlesLinkLabel1.LinkClickededit_num_tel.Show()EndSubPrivateSub GroupBox3_Enter(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles GroupBox3.EnterEndSubEndClassPANTALLA EDITARPrivateSub edit_num_tel_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.LoadDim cadena = "select Id_tipo_telefono , No_telefono fromtelefono_proveedor where Id_Proveedor= "& editar_proveedor.Textid.Text&""Dim objconn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim comando AsNew MySqlDataAdapter(cadena, objconn)
  36. 36. Dim dt AsNew DataTablecomando.Fill(dt)dt.AcceptChanges()Dim tipo As StringFor i = 0 To dt.Rows.Count - 1 If dt.Rows(i).Item(0) = 1 Then dt.Rows(i).Item(0) = "Fijo" End IfNextDataGridView1.DataSource = dtFor j = 0 To DataGridView1.RowCount - 1 dt.AcceptChanges() If DataGridView1.Rows(j).Cells(0).Value = 1 Then DataGridView1.Rows(j).Cells(0).Value = "Fijo" End IfNextEndSubPrivateSub tsbSalir_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbSalir.ClickIf MsgBox("Esta seguro que sesea salir?", MsgBoxStyle.YesNo, "DeseaSalir?") = MsgBoxResult.Yes ThenMe.Close()EndIfEndSubPrivateSub tsbGuardar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles tsbGuardar.ClickIf Me.DataGridView1.Text.Length < 8 Then If DataGridView1.Text < 8 Then MsgBox("El numero de Telefono tiene que ser de ocho digitos ",MsgBoxStyle.Critical) Exit Sub End IfEnd Ifactualizar()EndSubPublicSub actualizar()Dim objconn AsNew MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim numero AsIntegerDim numero1 AsIntegerDim numero2 AsIntegerobjconn.Open()
  37. 37. For i = 0 To DataGridView1.RowCount - 2numero = DataGridView1.Rows(i).Cells(0).Valuenumero1 = DataGridView1.Rows(i).Cells(1).Valuenumero2 = DataGridView1.Rows(i).Cells(2).ValueDim cadena = "Update telefono_proveedor set No_telefono=" & numero &", Id_tipo_telefono=" & DataGridView1.Rows(i).Cells(0).Value & ""codigo originalDim cadena = "UPDATE telefono_proveedor SET No_telefono = "& numero &"WHERE Id_tipo_telefono = 1"& DataGridView1.Rows(i).Cells(0).Value &""Dim cadena1 = "UPDATE telefono_proveedor SET No_telefono = "& numero1&" WHERE Id_tipo_telefono = 2"& DataGridView1.Rows(i).Cells(1).Value&""Dim cadena2 = "UPDATE telefono_proveedor SET No_telefono = "& numero2&" WHERE Id_tipo_telefono = 3"& DataGridView1.Rows(i).Cells(2).Value&""Dim comando AsNew MySqlCommand(cadena, objconn)cadena.ExecuteNonQuery()Dim comando1 AsNew MySqlCommand(cadena1, objconn)cadena1.ExecuteNonQuery()Dim comando2 AsNew MySqlCommand(cadena2, objconn)cadena2.ExecuteNonQuery()Dim adaptador As MySqlCommandobjconn.Open()adaptador = New MySqlCommand(cadena, objconn)adaptador.ExecuteNonQuery()adaptador = New MySqlCommand(cadena1, objconn)adaptador.ExecuteNonQuery()adaptador = New MySqlCommand(cadena2, objconn)adaptador.ExecuteNonQuery()NextMsgBox("Datos guardados", MsgBoxStyle.Information, "Info")objconn.Close()TryCatch ex As ExceptionMsgBox(ex.Message)EndTryEndSubPrivateSub DataGridView1_CellContentClick(ByVal sender As System.Object,ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) HandlesDataGridView1.CellContentClick
  38. 38. EndSubPrivateSub DataGridView1_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles DataGridView1.KeyPressIf InStr(1, "1234567890" & Chr(8), e.KeyChar) = 0 Then If e.KeyChar = ChrW(Keys.Enter) Then e.Handled = False End If e.KeyChar = "" MsgBox("SOLO SE ACEPTAN NUMEROS")End IfEndSubMODULO DE VALIDACIONESModule ModuloValidacionesPublic objConn = New MySql.Data.MySqlClient.MySqlConnection(StrConexion)Dim sqlStr AsString1er paso de la validacion del nombreValidacion de los nombres1ra parte validacion identidadValidacion del RNE y la tarjeta de identidadFunction Numer(ByVal v AsInteger, ByRef e AsSystem.Windows.Forms.KeyPressEventArgs) AsBooleanIf v < 48 Or v > 57 Then Si es Backspace o número con decimalIf v = 8 Or v = 13 ThenNumer = TrueElseNumer = FalseInhabilita teclas que no son las pedidase.KeyChar = ChrW(0)MsgBox("Debe Ingresar Sólo Números",MsgBoxStyle.Information, "Cuidado")EndIfElseNumer = TrueEndIfEndFunctionPublicSub ValidRNE(ByVal TextIdent As MaskedTextBox)If Len(TextIdent.Text) = 15 Then
  39. 39. Validar el deptoIf Val(Mid(TextIdent.Text, 1, 2)) = 0 Or Val(Mid(TextIdent.Text, 1, 2)) >18 ThenMsgBox("Los Dos Primeros Digitos Tienen Que Estar Entre 01 y 18",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfValidar el numero de municipio segun el deptoDim depto AsInteger = Val(Mid(TextIdent.Text, 1, 2))SelectCase deptoCase 1If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >9 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 9 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 2If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >11 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 11 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 3If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >21 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 21 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 4If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >23 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 23 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 5If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >12 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 12 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")
  40. 40. ExitSubEndIfCase 6If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >16 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 16 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 7If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >19 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 19 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 8If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >28 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 28 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 9If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >6 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 6 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 10If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >17 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 17 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 11If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >4 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 4 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 12
  41. 41. If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >19 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 19 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 13If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >28 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 28 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 14If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >16 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 16 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 15If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >23 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 23 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 16If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >28 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 28 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 17If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >9 ThenMsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 9 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCase 18If Val(Mid(TextIdent.Text, 3, 4)) = 0 Or Val(Mid(TextIdent.Text, 3, 4)) >11 Then
  42. 42. MsgBox("El Tercer y Cuarto Digito Tiene Que Estar Estar Entre 01 y 11 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfCaseElseMsgBox("El Tercer y Cuarto Digito Tiene no debe ser mayor de 28 ",vbInformation, "Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")EndSelectConsulta del aniosqlStr = "SELECT Anio FROM anio "Dim da = New MySqlDataAdapter(sqlStr, objConn)Dim ds = New DataSetda.Fill(ds)Dim dr As DataRowdr = ds.Tables(0).Rows(0)Dim anio = dr.Item("Anio").ToStringds.Dispose()Validar el anioIf Val(Mid(TextIdent.Text, 6, 9)) < anio - 70 Or Val(Mid(TextIdent.Text,6, 9)) > anio Then MsgBox("Revise el año introducido ya que no puede ser mayor a: " &anio & " y menor que: " & anio - 70, vbInformation, "Aviso") TextIdent.Text = Nothing SendKeys.Send("{BACKSPACE}") Exit SubEnd IfNo ceros los ultimos 4 digitosIf Val(Mid(TextIdent.Text, 11, 15)) = 0 ThenMsgBox("Los últimos 5 digitos no pueden ser todos 0", vbInformation,"Aviso")TextIdent.Text = NothingSendKeys.Send("{BACKSPACE}")ExitSubEndIfEndIfEndSubPublicSub Validname(ByVal Textbox As TextBox, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs, ByVal NumeroMaxLetras AsInteger,ByVal You AsBoolean)If Asc(e.KeyChar) = 27 Or e.KeyChar = ChrW(0) ThenExitSubEndIfStatic anteriorespacio AsBooleanStatic nespacio AsIntegerDim tamanio AsIntegerIf Asc(e.KeyChar) = 32 Then No se acepta espacio al inicio de text
  43. 43. If Trim(Textbox.Text) = ""And Asc(e.KeyChar) = 32 Thene.KeyChar = ChrW(0)Elsenespacio = nespacio + 1Solo se acepta un espacio entre palabrasIf nespacio > 1 Thene.KeyChar = ChrW(0)ElseNo puede ir una palabra con menos de dos letrastamanio = Len(Trim(Textbox.Text))If tamanio = 1 ThenIf You = TrueThenIf (e.KeyChar <> ChrW(121)) Or (e.KeyChar <> ChrW(111)) Or (e.KeyChar <>ChrW(117)) Or (e.KeyChar <> ChrW(97)) Thene.KeyChar = ChrW(0)nespacio = 0EndIfElsee.KeyChar = ChrW(0)nespacio = 0EndIfElseIf Textbox.Text(tamanio - 2) <> Chr(32) Thenanteriorespacio = Truenespacio = 0ElseIf You = TrueThenIf (Textbox.Text(tamanio - 1) <> ChrW(89)) And (Textbox.Text(tamanio - 1)<> ChrW(85)) And (Textbox.Text(tamanio - 1) <> ChrW(79)) And(Textbox.Text(tamanio - 1) <> ChrW(65)) Thene.KeyChar = ChrW(0)nespacio = 0anteriorespacio = TrueEndIfElsee.KeyChar = ChrW(0)nespacio = 0anteriorespacio = TrueEndIfEndIfEndIfEndIfEndIfElsePrimera Letra de cada palabra mayusculaIf Mayuscula(Asc(e.KeyChar)) Or Minuscula(Asc(e.KeyChar)) OrEspecial(Asc(e.KeyChar)) ThenIf Trim(Textbox.Text) = ""Or anteriorespacio ThenREM Convierte a Mayusculae.KeyChar = UCase(e.KeyChar)nespacio = 0ElseREM Convierte a Minusculae.KeyChar = LCase(e.KeyChar)nespacio = 0
  44. 44. EndIfanteriorespacio = FalseElseMsgBox("Debe de Ingresar sólo Letras",MsgBoxStyle.Information, "Cuidado")e.KeyChar = ChrW(0)EndIfEndIfMaximo 10 letras por palabraMaximoLetras(Textbox, e, NumeroMaxLetras)EndSub***********************************************************************3er paso de la validacion del nombreFuncion que inhabilita las flechas de desplazamientoPublicSub InhabFlechas(ByVal e As System.Windows.Forms.KeyEventArgs)SelectCase e.KeyCodeCase Keys.Righte.Handled = TrueCase Keys.Lefte.Handled = TrueCase Keys.Upe.Handled = TrueCase Keys.Downe.Handled = TrueEndSelectEndSubFUNCION PARA BLOQUEAR DOS LETRAS REPETIDASPublicSub nonrepeat(ByVal TextBox As TextBox, ByVal cc AsBoolean)Static tamanio AsIntegerDim i, j AsIntegerDim cadena AsString = ""tamanio = Len(TextBox.Text)If cc <>TrueThenFor i = 0 To tamanio - 1No se aceptan mas de 2 letras iguales consecutivamente si son distintas de las excepciones: a,b,e,l,m,n,o,r,s,t,fIf (tamanio - 1 > 0) And (i < tamanio - 1) And (Trim(TextBox.Text) <>"")ThenIf Asc(TextBox.Text(i)) <> 97 And Asc(TextBox.Text(i)) <> 65 _And (Asc(TextBox.Text(i)) <> 98 And Asc(TextBox.Text(i)) <> 66) _And (Asc(TextBox.Text(i)) <> 101 And Asc(TextBox.Text(i)) <> 69) _And (Asc(TextBox.Text(i)) <> 102 And Asc(TextBox.Text(i)) <> 70) _And (Asc(TextBox.Text(i)) <> 108 And Asc(TextBox.Text(i)) <> 76) _And (Asc(TextBox.Text(i)) <> 109 And Asc(TextBox.Text(i)) <> 77) _And (Asc(TextBox.Text(i)) <> 110 And Asc(TextBox.Text(i)) <> 78) _And (Asc(TextBox.Text(i)) <> 111 And Asc(TextBox.Text(i)) <> 79) _And (Asc(TextBox.Text(i)) <> 114 And Asc(TextBox.Text(i)) <> 82) _And (Asc(TextBox.Text(i)) <> 115 And Asc(TextBox.Text(i)) <> 83) _And (Asc(TextBox.Text(i)) <> 116 And Asc(TextBox.Text(i)) <> 84) _ThenIf UCase(TextBox.Text(i)) = UCase(TextBox.Text(i + 1)) ThenFor j = 0 To tamanio - 1If j <> i + 1 Thencadena = cadena & TextBox.Text(j)EndIf
  45. 45. NextTextBox.Text = cadenaTextBox.SelectionStart = Len(TextBox.Text)tamanio = Len(TextBox.Text)ExitForEndIfEndIfEndIfNextElseFor i = 0 To tamanio - 1No se aceptan mas de 2 letras iguales consecutivamente si son distintas de las excepciones: a,b,c,e,l,m,n,o,r,s,tIf (tamanio - 1 > 0) And (i < tamanio - 1) And (Trim(TextBox.Text) <>"")ThenIf Asc(TextBox.Text(i)) <> 97 And Asc(TextBox.Text(i)) <> 65 _And (Asc(TextBox.Text(i)) <> 98 And Asc(TextBox.Text(i)) <> 66) _And (Asc(TextBox.Text(i)) <> 99 And Asc(TextBox.Text(i)) <> 67) _And (Asc(TextBox.Text(i)) <> 101 And Asc(TextBox.Text(i)) <> 69) _And (Asc(TextBox.Text(i)) <> 102 And Asc(TextBox.Text(i)) <> 70) _And (Asc(TextBox.Text(i)) <> 108 And Asc(TextBox.Text(i)) <> 76) _And (Asc(TextBox.Text(i)) <> 109 And Asc(TextBox.Text(i)) <> 77) _And (Asc(TextBox.Text(i)) <> 110 And Asc(TextBox.Text(i)) <> 78) _And (Asc(TextBox.Text(i)) <> 111 And Asc(TextBox.Text(i)) <> 79) _And (Asc(TextBox.Text(i)) <> 114 And Asc(TextBox.Text(i)) <> 82) _And (Asc(TextBox.Text(i)) <> 115 And Asc(TextBox.Text(i)) <> 83) _And (Asc(TextBox.Text(i)) <> 116 And Asc(TextBox.Text(i)) <> 84) _ThenIf UCase(TextBox.Text(i)) = UCase(TextBox.Text(i + 1)) ThenFor j = 0 To tamanio - 1If j <> i + 1 Thencadena = cadena & TextBox.Text(j)EndIfNextTextBox.Text = cadenaTextBox.SelectionStart = Len(TextBox.Text)tamanio = Len(TextBox.Text)ExitForEndIfEndIfEndIfNextEndIftamanio = Len(TextBox.Text)For i = 0 To tamanio - 1If (tamanio - 1 > 1) And (i < tamanio - 2) And (Trim(TextBox.Text) <>"")ThenIf UCase(TextBox.Text(i)) = UCase(TextBox.Text(i + 1)) ThenIf UCase(TextBox.Text(i)) = UCase(TextBox.Text(i + 2)) Then
  46. 46. For j = 0 To tamanio - 1If j <> i + 2 Thencadena = cadena & TextBox.Text(j)EndIfNextTextBox.Text = cadenaTextBox.SelectionStart = Len(TextBox.Text)tamanio = Len(TextBox.Text)EndIfEndIfEndIfNext%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%FIJATE EN LA CONVERSION AQUI NO LA VAYAS A CAGAR DESPUES!!!!!!!!!!!!Verifica la Mayuscula al inicio de cada PalabraTextBox.Text = StrConv(TextBox.Text, VbStrConv.ProperCase)Asegura que no haya espacio inicialTextBox.Text = LTrim(TextBox.Text)TextBox.SelectionStart = Len(TextBox.Text)tamanio = Len(TextBox.Text)EndSub%%%%%%%%%%%%%%%%%%FUNCIONES CORTAS DEAPOYO%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Verifica que las palabras tengan un maximo de 10 letras ESTA ES PARA ELNOMBRE QUE NO SEA LARGOPublicSub MaximoLetras(ByVal TextBox AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs, ByVal NumeroMaxLetras AsInteger)Dim i, cuenta AsIntegerDim tamanio AsInteger = Len(TextBox.Text)For i = 0 To tamanio - 1If TextBox.Text(i) <> ChrW(32) Thencuenta = cuenta + 1If cuenta >= NumeroMaxLetras And e.KeyChar <> ChrW(32) And e.KeyChar <>ChrW(8) Thene.Handled = TrueControl del keypressEndIfElsee.Handled = Falsecuenta = 0EndIfNextEndSub***********************************************************************Validacion para la DirecciònPublicSub Dirval(ByVal Textbox)Dim v, j AsIntegerDim i AsInteger = 0Dim tamanio = Len(Textbox.Text)Dim espec AsBoolean = FalseDim minus AsBoolean = FalseDim mayus AsBoolean = FalseDim Numero AsBoolean = FalseDim texte AsString = ""
  47. 47. For i = 0 To tamanio - 1v = Asc(Textbox.Text(i))If v = 8 Or v = 13 Or v = 95 Or v = 46 Or v = 32 Or v = 34 Or v = 35 _Or v = 44 Or v = 225 Or v = 193 Or v = 209 Or v = 233 Or v = 237 Or v =243 Or _v = 250 Or v = 241 Or v = 209 Or v = 252 Or v = 220 Or v =205 Or v = 211 Or v = 218 ThenIf tamanio = 1 Thenespec = FalseElseespec = TrueEndIfEndIfIf (v > 96 And v < 123) Or v = 241 Thenminus = TrueEndIfIf (v > 64 And v < 91) Or v = 209 Thenmayus = TrueEndIfIf v > 47 And v < 58 ThenNumero = TrueEndIfIf mayus = FalseAnd minus = FalseAnd Numero = FalseAnd espec = FalseThenFor j = 0 To tamanio - 1If i <> j Thentexte = texte & Textbox.Text(j)EndIfNextTextbox.Text = textetamanio = Len(Textbox.Text)ExitForEndIfespec = Falseminus = Falsemayus = FalseNumero = FalseNextTextbox.Text = StrConv(Textbox.Text, VbStrConv.ProperCase)Posiciona el cursor al final del texboxTextbox.SelectionStart = Textbox.TextLengthEndSubNo se admiten palabras de una sola letra excepto los casos especialesFunction Pal1Letra(ByVal PalaText AsString, ByVal Textboxx As TextBox)PalaText = PalaText.Replace("B ", "B")PalaText = PalaText.Replace("C ", "C")PalaText = PalaText.Replace("D ", "D")PalaText = PalaText.Replace("F ", "F")PalaText = PalaText.Replace("G ", "G")PalaText = PalaText.Replace("H ", "H")PalaText = PalaText.Replace("I ", "I")PalaText = PalaText.Replace("J ", "J")PalaText = PalaText.Replace("K ", "K")PalaText = PalaText.Replace("L ", "L")PalaText = PalaText.Replace("M ", "M")
  48. 48. PalaText = PalaText.Replace("N ", "N")PalaText = PalaText.Replace("Ñ ", "Ñ")PalaText = PalaText.Replace("P ", "P")PalaText = PalaText.Replace("Q ", "Q")PalaText = PalaText.Replace("R ", "R")PalaText = PalaText.Replace("S ", "S")PalaText = PalaText.Replace("T ", "T")PalaText = PalaText.Replace("V ", "V")PalaText = PalaText.Replace("W ", "W")PalaText = PalaText.Replace("X ", "X")PalaText = PalaText.Replace("Z ", "Z")If Textboxx.TextLength = 2 ThenPalaText = PalaText.Replace("Y ", "Y")PalaText = PalaText.Replace("U ", "U")PalaText = PalaText.Replace("O ", "O")PalaText = PalaText.Replace("A ", "A")PalaText = PalaText.Replace("E ", "E")EndIfPalaText = PalaText.Replace(" B ", " B")PalaText = PalaText.Replace(" C ", " C")PalaText = PalaText.Replace(" D ", " D")PalaText = PalaText.Replace(" F ", " F")PalaText = PalaText.Replace(" G ", " G")PalaText = PalaText.Replace(" H ", " H")PalaText = PalaText.Replace(" I ", " I")PalaText = PalaText.Replace(" J ", " J")PalaText = PalaText.Replace(" K ", " K")PalaText = PalaText.Replace(" L ", " L")PalaText = PalaText.Replace(" M ", " M")PalaText = PalaText.Replace(" N ", " N")PalaText = PalaText.Replace(" Ñ ", " Ñ")PalaText = PalaText.Replace(" P ", " P")PalaText = PalaText.Replace(" Q ", " Q")PalaText = PalaText.Replace(" R ", " R")PalaText = PalaText.Replace(" S ", " S")PalaText = PalaText.Replace(" T ", " T")PalaText = PalaText.Replace(" V ", " V")PalaText = PalaText.Replace(" W ", " W")PalaText = PalaText.Replace(" X ", " X")PalaText = PalaText.Replace(" Z ", " Z")Return PalaTextEndFunctionIdentifica si la letra ingrsada es MinusculaFunction Minuscula(ByVal v AsInteger) AsBooleanIf v >= 97 And v <= 122 ThenMinuscula = TrueElseMinuscula = FalseEndIfEndFunctionIdentifica si la letra ingrsada es Mayuscula
  49. 49. Function Mayuscula(ByVal v AsInteger) AsBooleanIf v >= 65 And v <= 90 ThenFALTA VERIFICARMayuscula = TrueElseMayuscula = FalseEndIfEndFunctionIdentifica si es un simbolo Especial el ingresadoFunction Especial(ByVal v AsInteger) AsBooleanIf v = 13 Or v = 32 Or v = 8 Or v = 225 Or v = 193 Or v = 209 Or v = 233Or v = 237 Or v = 243 _Or v = 250 Or v = 241 Or v = 201 Or v = 252 Or v = 220 Or v = 205 Or v =211 Or v = 218 ThenEspecial = TrueElseEspecial = FalseEndIfEndFunctionVALDACION PARA NUMEROS TELEFONICOSSolo se aceptan Números en el txtFunction Numero(ByVal v AsInteger, ByRef e AsSystem.Windows.Forms.KeyPressEventArgs) AsBooleanIf v < 48 Or v > 57 Then Si es Backspace o número con decimalIf v = 8 Or v = 13 ThenNumero = TrueElseNumero = FalseInhabilita teclas que no son las pedidase.KeyChar = ChrW(0)MsgBox("Debe Ingresar Sólo Números",MsgBoxStyle.Information, "Cuidado")EndIfElseNumero = TrueEndIfEndFunctionValidacion para correos electronicosPublicSub Funcmail(ByVal Textbox AsObject)Dim v, j AsIntegerDim i AsInteger = 0Dim tamanio = Len(Textbox.Text)Dim espec AsBoolean = FalseDim minus AsBoolean = FalseDim mayus AsBoolean = FalseDim Numero AsBoolean = FalseDim texte AsString = ""For i = 0 To tamanio - 1v = Asc(Textbox.Text(i))If v = 8 Or v = 13 Or v = 95 Or v = 64 Or v = 46 ThenIf tamanio = 1 Thenespec = FalseElseespec = True
  50. 50. EndIfEndIfIf (v > 96 And v < 123) Or v = 241 Thenminus = TrueEndIfIf (v > 64 And v < 91) Or v = 209 Thenmayus = TrueEndIfIf v > 47 And v < 58 ThenNumero = TrueEndIfIf mayus = FalseAnd minus = FalseAnd Numero = FalseAnd espec = FalseThenFor j = 0 To tamanio - 1If i <> j Thentexte = texte & Textbox.Text(j)EndIfNextTextbox.Text = textetamanio = Len(Textbox.Text)ExitForEndIfespec = Falseminus = Falsemayus = FalseNumero = FalseNextPosiciona el cursor al final del texboxTextbox.SelectionStart = Textbox.TextLengthEndSubLast AddedFunction cont_espacios(ByVal cadena AsString, ByVal textbox As TextBox)AsIntegerDim i AsIntegerDim num AsIntegerFor i = 1 To Len(cadena)If InStr(Mid(cadena, i, 1), " ") <> 0 Thennum = num + 1EndIfNextcont_espacios = numIf cont_espacios < 1 Thentextbox.Focus()EndIfEndFunctionFunction cont_espacios_DIR(ByVal cadena AsString, ByVal textbox AsTextBox) AsIntegerDim i AsIntegerDim num AsIntegerFor i = 1 To Len(cadena)If InStr(Mid(cadena, i, 1), " ") <> 0 Thennum = num + 1EndIf
  51. 51. Nextcont_espacios_DIR = numIf cont_espacios_DIR < 1 Thentextbox.Focus()EndIfEndFunction

×