Viernes 8 de Noviembre de 2024, 12:40
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
VB .NET
(Moderador:
ElNapster
) »
Búsqueda de registro.
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Búsqueda de registro. (Leído 2542 veces)
elultimoguerrero
Nuevo Miembro
Mensajes: 19
Búsqueda de registro.
«
en:
Lunes 14 de Septiembre de 2009, 03:29 »
0
Hola amigos de solocodigo, tengo esta duda, espero me puedan ayudar a resolverla: tengo un formulario de búsquedas, el cual consta de un combobox(cselecciondelcliente), una caja de texto(tnocredencial) y un botón de buscar(bbuscar), al darle clic a la flechita del combobox me muestra una lista de todos los usuarios que se encuentran registrados en una tabla llamada registrodeclientes, hasta allí el programa funciona de manera correcta.
El código que yo necesito es que cuando yo seleccione un nombre y le de clic al botón de buscar me muestre en la caja de texto su número de credencial, utilizo visual basic 2005 edición express y mysql, estos son los valores de los campos: Apellido_paterno, Apellido_materno y Nombres todos varchar(20) y No_credencial int(10) clave primaria.
Este es el código que utilizo en el formulario (como pueden ver los apellidos y el nombre del usuario los tengo concatenados):
Imports MySql.Data.MySqlClient
Imports System.Data
Public Class busquedadeclientes
Dim con As New MySqlConnection()
Dim da As New MySqlDataAdapter()
Dim ds As New DataSet()
Dim dr As DataRow
Private Sub busquedadeclientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim I As Integer
con = New MySqlConnection("server=xxx;database=xxx;uid=xxx;pwd=xxx;")
da = New MySqlDataAdapter("select concat(Apellido_paterno,' ', Apellido_materno,' ', Nombres) as na from registrodeclientes order by Apellido_paterno asc;", con)
da.Fill(ds, "registrodeclientes")
If ds.Tables("registrodeclientes").Rows.Count > 0 Then
For I = 0 To ds.Tables("registrodeclientes").Rows.Count - 1
dr = ds.Tables("registrodeclientes").Rows(I)
cselecciondelcliente.Items.Add(dr("na"))
Next
End If
End Sub
Private Sub bbuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bbuscar.Click
End Sub
Private Sub bsalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bsalir.Click
Me.Close()
End Sub
End Class
Espero y me puedan ayudar, gracias.
Tweet
dlplenin
Miembro activo
Mensajes: 44
Nacionalidad:
Re: Búsqueda de registro.
«
Respuesta #1 en:
Miércoles 16 de Septiembre de 2009, 05:52 »
0
hola, prueba asi:
- En el select puedes sacar tambien el campo No_credencial (en mi codigo es el campo id)
- asigna ValueMember y el DisplayMember al combobox
- en el boton buscar obtines el valor del No_credencial desde el mismo combobox (Me.cselecciondelcliente.SelectedValue)
Imports MySql.Data.MySqlClient
Imports System.Data
Public Class Form2
Dim con As New MySqlConnection()
Dim da As New MySqlDataAdapter()
Dim ds As New DataSet()
Dim dr As DataRow
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Dim I As Integer
con = New MySqlConnection("datasource=localhost;username=root;password=root;database=prueba")
da = New MySqlDataAdapter("select concat(apellido ,' ',nombre) as na,id from tableprueba order by apellido asc", con)
da.Fill(ds, "tableprueba")
' If ds.Tables("tableprueba").Rows.Count > 0 Then
'For I = 0 To ds.Tables("tableprueba").Rows.Count - 1
'dr = ds.Tables("tableprueba").Rows(I)
Me.cselecciondelcliente.DataSource = ds.Tables("tableprueba").DefaultView
cselecciondelcliente.ValueMember = "id" ' en lugar de id pones No_credencial
cselecciondelcliente.DisplayMember = "na"
'cselecciondelcliente.Items.Add(dr("na"))
'Next
'End If
End Sub
Private Sub btn_value_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_value.Click
Me.txt_value.Text = Me.cselecciondelcliente.SelectedValue
End Sub
End Class
Saludos
elultimoguerrero
Nuevo Miembro
Mensajes: 19
Re: Búsqueda de registro.
«
Respuesta #2 en:
Miércoles 16 de Septiembre de 2009, 06:00 »
0
Holadlplenin, te agradezco tu atención y ayuda a mi duda, lo probaré y te avisaré de los resultados, gracias y estamos colaborando en el foro, saludos.
elultimoguerrero
Nuevo Miembro
Mensajes: 19
Re: Búsqueda de registro.
«
Respuesta #3 en:
Miércoles 16 de Septiembre de 2009, 20:00 »
0
Compañero plenin, estuve estudiando y poniendo a prueba tu código y realmente funciona, pero solo tengo una pequeña observación, cuando inicia el formulario de las búsquedas me aparece por default en el combo el nombre de un usuario, por estética, no debería de aparecer, estuve tratando de hacer que fuera así y no pude, por lo que compilé tu código con el que un servidor tenía y lo pude lograr, te comparto a tí y a los usuarios del foro el resultado final y esto es lo que me mostro, de cualquier manera te agradezco mucho tu ayuda porque sin ella no lo ubiese logrado, ya que a partir de tu código lo pude lograr, espero que si puedes en el código que tu me mandastes puedas ayudarme a resolver la duda que tuve para así aprender ha tener otra solución diferente y con menos código, gracias y seguimos colaborando.
Imports MySql.Data.MySqlClient
Imports System.Data
Public Class busquedadeclientes
Dim con As New MySqlConnection()
Dim da As New MySqlDataAdapter()
Dim ds As New DataSet()
Dim dr As DataRow
Private Sub busquedadeclientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim I As Integer
con = New MySqlConnection("server=xxx;database=xxx;uid=xxx;pwd=xxx;")
da = New MySqlDataAdapter("select concat(Apellido_paterno,' ', Apellido_materno,' ', Nombres) as na, No_credencial from registrodeclientes order by Apellido_paterno asc;", con)
da.Fill(ds, "registrodeclientes")
If ds.Tables("registrodeclientes").Rows.Count > 0 Then
For I = 0 To ds.Tables("registrodeclientes").Rows.Count - 1
dr = ds.Tables("registrodeclientes").Rows(I)
Me.cselecciondelcliente.Text = ""
Me.cselecciondelcliente.DataSource = ds.Tables("registrodeclientes").DefaultView
cselecciondelcliente.ValueMember = "No_credencial"
cselecciondelcliente.DisplayMember = "na"
Next
End If
End Sub
Private Sub bbuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bbuscar.Click
Me.tnocredencial.Text = Me.cselecciondelcliente.SelectedValue
End Sub
Private Sub bsalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bsalir.Click
Me.Close()
End Sub
End Class
dlplenin
Miembro activo
Mensajes: 44
Nacionalidad:
Re: Búsqueda de registro.
«
Respuesta #4 en:
Jueves 17 de Septiembre de 2009, 06:07 »
0
Hola, me alegro q te haya servido
se me ocurre lo siguiente si quieres mejor la estetica del combobox (y asi te queda una aplicación mas intuitiva):
Imports MySql.Data.MySqlClient
Imports System.Data
Public Class Form2
Dim con As New MySqlConnection()
Dim da As New MySqlDataAdapter()
Dim ds As New DataSet()
Dim dr As DataRow
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con = New MySqlConnection("datasource=localhost;username=root;password=root;database=prueba")
da = New MySqlDataAdapter("select concat(apellido ,' ',nombre) as na,id from tableprueba order by apellido asc", con)
da.Fill(ds, "tableprueba")
''''adicion de registro personalizado
Dim row As DataRow
row = ds.Tables("tableprueba").NewRow
row("id") = "-1"
row("na") = "<Escoja el usuario>"
ds.Tables("tableprueba").Rows.InsertAt(row, 0)
''''fin adicion de registro personalizado
Me.cselecciondelcliente.DataSource = ds.Tables("tableprueba").DefaultView
cselecciondelcliente.ValueMember = "id"
cselecciondelcliente.DisplayMember = "na"
End Sub
Private Sub btn_value_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_value.Click
' aqui deberias validar que el valor obtenido sea diferente de "-1", ya q este valor es el de la row personalizada
Me.txt_value.Text = Me.cselecciondelcliente.SelectedValue
End Sub
End Class
saludos
elultimoguerrero
Nuevo Miembro
Mensajes: 19
Re: Búsqueda de registro.
«
Respuesta #5 en:
Viernes 18 de Septiembre de 2009, 04:06 »
0
Hola dlplenin, amigos del foro, te agradezco dlplenin por ese nuevo código que me mandastes, se ve mejor el estilo, lo probé y definitivamente lo voy a dejar así, gracias por ayudarme, seguimos en contacto compareos, saludos.
dlplenin
Miembro activo
Mensajes: 44
Nacionalidad:
Re: Búsqueda de registro.
«
Respuesta #6 en:
Viernes 18 de Septiembre de 2009, 06:37 »
0
de nada elultimoguerrero, cuando se pueda aqui estare
saludos
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
VB .NET
(Moderador:
ElNapster
) »
Búsqueda de registro.