Foros del Web » Programación para mayores de 30 ;) » .NET »

Valor de textbox a variable

Estas en el tema de Valor de textbox a variable en el foro de .NET en Foros del Web. Buenas a todos, Tengo un formulario en visual basic.net con 4 campos (el que nos interesa es el campo "Numero Subcuenta". Necesito saber que, cuando ...
  #1 (permalink)  
Antiguo 14/09/2007, 04:47
 
Fecha de Ingreso: agosto-2007
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Valor de textbox a variable

Buenas a todos,

Tengo un formulario en visual basic.net con 4 campos (el que nos interesa es el campo "Numero Subcuenta". Necesito saber que, cuando el usuario introduzca un valor en éste campo, el sistema me genere una búsqueda en la base de datos y me lanze un mensaje si el valor no existe...

De momento tengo el código así:

Código:
    Private Sub TxtNumero_keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNumero.KeyPress

        Dim num_comptasel As Integer


        If e.KeyChar = ChrW(Keys.Enter) Then 'si presiona enter entonces
            e.Handled = True
            'SendKeys.Send("{TAB}") 'haga tab es una opción o bien


            Dim strConexion As String
            Dim objConexion As System.Data.OleDb.OleDbConnection
            Dim objComando As System.Data.OleDb.OleDbDataAdapter
            Dim objDS As New DataSet
            Dim Numcompta As Integer


            strConexion = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\caixa\base.mdb"
            objComando = Nothing
            objDS = Nothing
            objDS = New DataSet
            objConexion = New System.Data.OleDb.OleDbConnection(strConexion)
            objComando = New System.Data.OleDb.OleDbDataAdapter("Select numcompta From Caixa", strConexion) 
            objComando.Fill(objDS, "Select numcompta from Caixa")
            Numcompta = objDS.Tables(0).Rows.Item(0).Item("Numcompta")
            'TotalIngressos = "" & objDS.Tables(0).Rows.Item(0).Item(0)

            CmbData.Focus() ' envíele el focus al cmbdata
        End If

    End Sub
Yo diría que debo asignar el valor introducido en el campo "Numero Subcuenta" a una variable y con un For recorrer la tabla comparando el valor... pero no estoy seguro de como hacerlo. ¿¿Alguna ayuda, por favor??

Gracias!!
  #2 (permalink)  
Antiguo 14/09/2007, 22:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 103
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Valor de textbox a variable

pues no se si entendi bien... entendi ke segun lo que un usuario digite en un textbox sera consultado en un campo en un db para saber si ya se encuentra ese valor o no...

pues como estas usando un dataset, lo mas facil por hacer seria hacer una buskeda de la fila mediante el metodo find o select ( no recuerdo bien xD...) y pues si hay resultado haces lo ke kieras.. y si no pues el mensaje...

= pues si no entendi bien o no resolvi tu duda vuelve a preguntar un poco mas detallado

Julio César Guzmán Góngora
Microsoft Certified Professional
[email protected]
[email protected]
  #3 (permalink)  
Antiguo 18/09/2007, 05:59
Avatar de drmkace  
Fecha de Ingreso: febrero-2005
Mensajes: 26
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Valor de textbox a variable

yo tampoco entendi muy bie lo que querias, pero lo que podes hacer en principio es armar el select a a la tabla de la siguiente manera


Código:
num_comptasel = Me.txtNumCompTa.Text

Dim strSql = "Select * From Caixa where numCompta = " & num_comptasel 'si esta es la variable donde guardas el valor que lees de la pantalla

objComando = New System.Data.OleDb.OleDbDataAdapter(strSql, strConexion) 
        objComando.Fill(objDS, "Select numcompta from Caixa")
If objDS.Tables(0).Rows.Count > 0 Then
    'SI ENTRO ACA ES PORQUE REGISTROS QUE MATCHEAN CON LA CONSULTA
End If
por otra parte, el codigo no lo pondria en se evento, yo usaria el TextChanged del texbox, ya que este se ejecuta al perder el foco del texbox y si el valor del mismo se ha modificado

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.