Programación General > Visual Basic 6.0 e inferiores
Como Buscar En Una Base ?????
neorent:
--- Cita de: "Angel38" --- Otra cosa fijate que el textbox esta en el evento KeyUp
--- Fin de la cita ---
hola angel, y gracias por ayudarme:
sabes no entiendo pk motivo ubicas el codigo en el textbox_keyup
no se para que sirve con eso creo que te digo que soy todo un basico principiante que esta intentando aprender y mejorar lo que existe en su trabajo, me imagino que el texto_keyup debe ser para para cuando uno escribe algo empezar la busqueda?, me parece que es ado sin duda alguna, lo que pasa angel debe ser que tu escribes el codigo bien pero yo no lo entiendo mucho debe ser pok no entiendo mucho como soy nuevo bueno lo que yo queria basicamente era lo siguiente:
1- tener un textbox en cual yo escribo cualquier cosa
2.- un command que cuando yo terminara de escribir en el textbox hiciera click y buscar lo que yo escribi ahi.
3.- pero no pero mi pregunta es si ya genere la busqueda por ejemplo encontro algo y yo tengo varios textbox donde supuestamente mostraba los datos una ves luego le preguntaba al usuario si queria continuar y el decia que si y el codigo pasaba a buscar el siguiente registro que encontrara creo que eso era lo primero.
pero despues me pidieron que eso mismo lo hiciera una grilla que mostrara todo lo que buscaba y que luego yo selecionara algun registro en la grilla y que me mostrara por ejemplo un reporte con ese registro selecionado.... yo me pregunto en mi trabajo no querran otra cosa mas jajajaja.
bueno lo de hacer una grilla y que muestre el informe lo hace pero lo malo es que no me despliega todo lo que yo quiero y tampoco puedo selecionar un solo registro ademas cuando presiono el boton que supuestamente imprime en un reporte me aparecen todos los registro que encontro por un lado esta bien y por el otro no pk ahi mucho campos que estan mal echo un ejemplo de ello es que el campo nombre lleva dentro de el todo el nombre completo por ej. JUANITO PERES, entonces cuando busco debo buscar JUANITO PERES con mayuscula y ademas que debe ser el campo completo y no buscar a todos lo JUANITO que existen en la base de datos mas bien ese es mi problema aun no se me enciende el foco para hacer esto se que se puede pero si mas o menos me explicaran con un codigo lo que hace cada cosa y si en esta linea que muestro aca bajo.
SQL = "select Nombres, Apellidos from CLIENTE where str(codigo_cliente)='" + codigo + "' and Nombre like '" + txtBuscar + "*' "
se pueden agragar mas campos donde buscar, otra cosa es que realmente no entiendo que hace esta linea y donde queda el resultado y como puedo pasar esos datos a una grilla o un texto jejejeje creo que me explaye demasiado pero es ese el problema que tengo no quiero que me hagan el trabajo ya que el objetivo es aprender y quiero aprender y saber que hace cada cosa no se si tu o alguien del foro me puede ayudar.
te agradesco mucho la ayuda espero que me puedan ayudar
muchas gracias y saludos a todos.
manuelangel:
--- Cita de: "Angel38" --- Se me paso un errorsito :D estaba a la carrera, intenta estudiarlo otra vez a ver si lo entiendes mejor.(Olvidate de lo primero y mira este).
Trabajas con DAO o ADO???
Private Sub txtBuscar_KeyUp(KeyCode As Integer, Shift As Integer)
Dim SQL As String
Dim mySnap As Recordset
On Error GoTo ManejoError
gri.Clear
SQL = "select Nombres, Apellidos from CLIENTE where str(codigo_cliente)='" + codigo + "' and Nombre like '" + txtBuscar + "*' "
'Espero te des cuenta del * en (Nombre like '" + txtBuscar + "(*)' ")
'Es la pieza clave de la instruccion SQL
Set mySnap = Dbcliente.OpenRecordset(SQL, dbOpenSnapshot)
mySnap.MoveFirst
i = 1
Do While Not mySnap.EOF
gri.Text = "Nombres"
gri.CellBackColor = &HE0E0E0
gri.Col = 1
gri.Text = "Apellidos"
gri.CellBackColor = &HE0E0E0
gri.Col = 0
gri.Rows = i
texto = mySnap!nombre + Chr(9) + mySnap!Apellidos + Chr(9)
gri.AddItem texto, i
mySnap.MoveNext
i = i + 1
If txtBuscar.Text = "" Then
gri.Clear
End If
Loop
ManejoError:
gri.Text = "Nombres"
gri.CellBackColor = &HE0E0E0
gri.Col = 1
gri.Text = "Apellidos"
gri.CellBackColor = &HE0E0E0
gri.Col = 0
Exit Sub
--- Fin de la cita ---
ola diganme en el parte
Set Rs = dbcliente.OpenRecordset(SQL, dbOpenSnapshot)
Rs.MoveFirst
dbcliente q es o q quiere decir
juanPancho:
por lo que puedo entender dbcliente es el nombre de la base de datos el .OpenRecordset es la intruccion para que en pocas palabras habra la base o no? Angel38
Angel38:
Me enviaste un periodico :lol: :lol: :lol:
Bueno lo primero es que JuanPancho tiene razon.
Lo segundo que tambien tu al pensar que, en el momento que oprimes una letra te empieza a buscar.
La grilla se va llenando, es decir, si colocas la letra A, la grilla se llena con todos los nombres que empiezan por la letra A.
si sigues ecribiendo y colocas An, te crea un filtro y ahora busca por las letras An.
y si escribes angel38, te mostrará el cliente o los clientes que se llamen asi.
Intenta entender el codigo o enviame partes que no estiendas, es mas mi correo lo tengo a la vista del publico solo has click en Angel38 y te podre dar una ayuda mas personalizada.
mi horario es por ahora de 12:00 pm a 2:00 pm, hora colombiana.
Sino se puede sigueme haciendo preguntas que yo casi siempre ando por aqui.
Cuando logres entender el codigo te envio la jugada para que al darle doble click al nombre que esta en la grilla esta te muestre la informacion del cliente. :D
Yo también te envié un periodico jajaja :devil:
manuelangel:
--- Cita de: "Angel38" ---Me enviaste un periodico :lol: :lol: :lol:
Bueno lo primero es que JuanPancho tiene razon.
Lo segundo que tambien tu al pensar que, en el momento que oprimes una letra te empieza a buscar.
La grilla se va llenando, es decir, si colocas la letra A, la grilla se llena con todos los nombres que empiezan por la letra A.
si sigues ecribiendo y colocas An, te crea un filtro y ahora busca por las letras An.
y si escribes angel38, te mostrará el cliente o los clientes que se llamen asi.
Intenta entender el codigo o enviame partes que no estiendas, es mas mi correo lo tengo a la vista del publico solo has click en Angel38 y te podre dar una ayuda mas personalizada.
mi horario es por ahora de 12:00 pm a 2:00 pm, hora colombiana.
Sino se puede sigueme haciendo preguntas que yo casi siempre ando por aqui.
Cuando logres entender el codigo te envio la jugada para que al darle doble click al nombre que esta en la grilla esta te muestre la informacion del cliente. :D
Yo también te envié un periodico jajaja :devil:
--- Fin de la cita ---
miren este es parte del codigo q esta en este pagina
Dim SQL As String
Dim rs7 As Recordset
bus = proape.Text
On Error GoTo ManejoError
mostrar_hc.Clear
SQL = "select * from base_hc where ape_pat like'" + bus + "*' "
Set rs7 = base_hc.OpenRecordset(SQL, dbOpenSnapshot)
rs7.MoveFirst
i = 1
Do While Not rs7.EOF
'mostrar_hc.AddItem rs.Fields("ape_pat").Value
mostrar_hc.Text = "Apellido Paterno"
mostrar_hc.CellBackColor = &HE0E0E0
mostrar_hc.Col = 0
mostrar_hc.Text = "Apellido Materno"
mostrar_hc.CellBackColor = &HE0E0E0
mostrar_hc.Col = 0
mostrar_hc.Rows = i
texto = rs!ape_pat + Chr(9) + rs!ape_mat + Chr(9)
'texto = rs!ape_pat + Chr(9)
mostrar_hc.AddItem texto, i
rs7.MoveNext
i = i + 1
If proape.Text = "" Then
mostrar_hc.Clear
End If
Loop
lo pase a mi apliacacion
pero lo q pasa es q en ves de llenarse con la letra de la primera coincidencia de la b.d no sale nada se borra lo anterior y nada , pueden ayudarme entiendo algo el codigo pero no sale :(
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa