| |||
no duplicar numero de factura Hola amigos, tengo un problema seguro que facil pero para mi ahora mismo dificil...tengo un text box y un combo box dónde pongo el número de factura y el proveedor y necesito que al pulsar intro en el último de ellos para comenzar a introducir la factura haga una comprobación de si existe la factura en la tabla correspondiente, lo del intro lo hago ya pero no consigo que compruebe si ya existe o no...alguna idea?¿? |
| |||
Respuesta: no duplicar numero de factura No especificas donde tienes el problema. ¿No sabes como recoger el evento de presionar Intro para hacer la validación o no sabes como validar contra la base de datos? |
| |||
Respuesta: no duplicar numero de factura no no...perdón por explicarme mal, el intro ya esta...lo hace a la perfección, pero no quiero que cambie de campo mientras no compruebe que el número de factura no está ya en la base de datos |
| |||
Respuesta: no duplicar numero de factura lo hago así por que lo pones en c# pero lo hago en .net...y no me va...seguro que hago mal la consulta a la base de datos verdad?¿? Private Sub TextUnd_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextUnd.KeyPress '''''''''''''''''''''''''''''''''''''''''''''''''' '''''' 'con este IF consigo que el punto siempre sea una coma If e.KeyChar = "."c Then e.Handled = True TextUnd.Text += "," TextUnd.SelectionStart = TextUnd.Text.Length End If 'con este if convierto la pulsación hacia la tecla enter If e.KeyChar = Convert.ToChar(Keys.Enter) Then 'compruebo si factura tiene su número y paso el foco a formato compra, si no da mensaje de error 'con este if compruebo que la factura no esté ya en el historico Dim Numeros As New ArrayList() Dim ada As New OleDbDataAdapter Dim data As New DataSet Dim comando = conexion.CreateCommand comando.CommandType = CommandType.Text comando.CommandText = "Select NFacturaSRCabecera From LineasFacturasHCabecera" ada.SelectCommand = comando ada.Fill(data, "LineasFacturasHCabecera") ' aqui lo rellenas con una consulta a tu bd con ese campo If Numeros.Contains(TextNFactura.Text) Then ' envias mensaje de que ya esta ese numero MessageBox.Show("error, Número repetido") TextNFactura.Text = "" End If If Not String.IsNullOrEmpty(TextNFactura.Text) Then TextFComp.Focus() Else MessageBox.Show("Debe cubrir un número de factura campo obligatorio. ", "Información de Error") End If End If End Sub |
| |||
Respuesta: no duplicar numero de factura ya ... por si alguien lo necesita Private Sub TextUnd_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextUnd.KeyPress '''''''''''''''''''''''''''''''''''''''''''''''''' '''''' 'con este IF consigo que el punto siempre sea una coma If e.KeyChar = "."c Then e.Handled = True TextUnd.Text += "," TextUnd.SelectionStart = TextUnd.Text.Length End If 'con este if convierto la pulsación hacia la tecla enter If e.KeyChar = Convert.ToChar(Keys.Enter) Then 'compruebo si factura tiene su número y paso el foco a formato compra, si no da mensaje de error 'con este if compruebo que la factura no esté ya en el historico Dim com As New OleDbCommand Dim buscar As String = "SELECT * from LineasFacturasHCabecera where NFacturaSRCabecera = '" & TextNFactura.Text & "'" com = New OleDbCommand(buscar, conexion) Dim Adapter As OleDbDataAdapter = New OleDbDataAdapter(buscar, conexion) Dim tabla_temp As DataTable = New DataTable conexion.Open() Adapter.Fill(tabla_temp) If tabla_temp.Rows.Count = 1 Then MessageBox.Show("Existe el Número de Factura " & TextNFactura.Text & " decida si continuar") ElseIf tabla_temp.Rows.Count = 0 Then End If conexion.Close() 'con este If compruebo si el textbox factura está en blanco o no If Not String.IsNullOrEmpty(TextNFactura.Text) Then TextFComp.Focus() Else MessageBox.Show("Debe cubrir un número de factura campo obligatorio. ", "Información de Error") End If End If |
Etiquetas: |