Hola, solamente quisiera saber si existe una manera de hacer lo siguiente
Estoy haciendo un miniprograma que sirve para realizar busquedas de datos en una Base de datos hecha en Access, el formulario del programa contiene
1 Textbox (Text1)
1 Combobox (Combo1)
1 DataGrid (DataGrid1)
3 CommandButton (Command1, Command2, Command3)
1 Adodc (Adodc1)
Y estoy usando el siguiente codigo:
Public mensaje As String
Private Sub Combo1_Click()
Command1.Enabled = Not Combo1.Text = ""
End Sub
Private Sub Command1_Click()
If Form11.mensaje = "Escuela" Then
Form11.Adodc1.RecordSource = "Select *from Pasante Where " & Label1.Caption & "= '" & Combo1.Text & "'"
Else
Form11.Adodc1.RecordSource = "Select *from Pasante Where " & Label1.Caption & "= '" & Text1.Text & "'"
End If
Adodc1.Refresh
DataGrid1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
Form2.Show
End Sub
Private Sub Command3_Click()
Form11.Adodc1.RecordSource = "Select *from Pasante"
Adodc1.Refresh
DataGrid1.Refresh
End Sub
Private Sub Text1_Change()
Command1.Enabled = Not Text1.Text = ""
End Sub
Pasante es la tabla donde se realiza la consulta
Lo pongo a correr y funciona perfectamente, pero quisiera darle una actualizacion
Supongamos que la Base de datos tiene 2 registros:
El primer registro con Nombre "Juan Carlos"
El segundo registro con Nombre "Juan Antonio"
Y yo, por medio del programa hago una busqueda del registro "Juan", y no me aparecen los dos (deberian porque estos tienen el mismo primer nombre), porque ninguno tiene segundo nombre ademas de "Juan", ajuro tengo que poner "Juan Carlos" o "Juan Antonio" para que me salga uno de los dos registros que tiene la Base de Datos
Pueden ayudarme, please
pueden ayudarme???? porfavor
:huh: :huh:
nadie me puede ayudar????
:( :( :(
http://foro.elhacker.net/index.php/topic,147197.msg693718.html#msg693718
Yo te sabria decir pero no con en Adodc enlazado...sino mediante sentecias SQL...
sql = "Select * From Tabla where ((InStr([Tabla].[Campo],'" & Txt_buscado & "')<>0))"
Fijate si podes levantar datos de esta forma e ingresarlos al DataGrid mediante la instr:
DataGrid1.AddItem Tabla!Campo1 & vbtab & Tabla!Campo2 & vbTab...
Slds!
Creo que lo que tu necesitas es el operador Like de Sql. Este operador compara una cadena que tu le pasas a un campo de registros con todos los registros. Con que contenga este pedazo de cadena te lo selecciona. Es la diferencia con el =, que con éste tiene que ser exacta. Ejem:
Form11.Adodc1.RecordSource = "Select *from Pasante Where " & Label1.Caption & "like '" & Combo1.Text & "'"
Yo creo que con esto valdria. Si combo1.text=Juan, pues te seleccionaria los dos registros de tu ejemplo. El operador like tiene dos comodines:
%, es equivalente al *. Es comodin de cualquier trozo de cadena.
_, es equivalente a la ?. Es comodin de un caracter en la cadena.
Hace mucho que no funciono con bbdd, creo que con la sentencia anterior funcionará, pero si no, pruebalo con Form11.Adodc1.RecordSource = "Select *from Pasante Where " & Label1.Caption & "like '" & Combo1.Text & "%'".
Saludos.