Búsqueda en Subformulario

Hola kieleze... ¿te acuerdas de la consulta que te hice el día de ayer?.. Quisiera saber si me puedes ayudar con lo del ejemplo de la consulta en un subformulario.
Saludos y Gracias

1 Respuesta

Respuesta
1
Private Sub cmdMostrar_Click()
Dim seleccionar
Dim CamposClientes
CamposClientes = " [clientes].[cod_cliente], [clientes].[ape_cliente], [clientes].[nom_cliente], [tpo_doc].[dsc_tpo_doc], [clientes].[nro_doc], [clientes].[tel_cliente], [clientes].[dir_cliente], [localidades].[cod_localidad], [localidades].[nom_localidad]"
seleccionar = "Select " & CamposClientes & " FROM tpo_doc INNER JOIN (localidades INNER JOIN clientes ON [localidades].[cod_localidad]=[clientes].[cod_localidad]) ON [tpo_doc].[tpo_doc]=[clientes].[tpo_doc] WHERE"
If cboTipoDoc.ItemData(cboTipoDoc.ListIndex) <> 0 Then
seleccionar = seleccionar & " tpo_doc.tpo_doc = " & cboTipoDoc.ItemData(cboTipoDoc.ListIndex) & " AND"
End If
If txtNroDoc <> "" Then
seleccionar = seleccionar & " nro_doc = " & txtNroDoc.Text & " AND"
End If
If txtApellido <> "" Then
seleccionar = seleccionar & " ape_cliente LIKE '%" & txtApellido.Text & "%' AND"
End If
If txtNombre <> "" Then
seleccionar = seleccionar & " nom_cliente LIKE '%" & txtNombre.Text & "%' AND"
End If
If txtDireccion <> "" Then
seleccionar = seleccionar & " dir_cliente LIKE '%" & txtDireccion.Text & "%' AND"
End If
If cboLocalidad.ItemData(cboLocalidad.ListIndex) <> 0 Then
seleccionar = seleccionar & " localidades.cod_localidad = " & cboLocalidad.ItemData(cboLocalidad.ListIndex) & " AND"
End If
If txtTelefono.Text <> "" Then
seleccionar = seleccionar & " tel_cliente LIKE '%" & txtTelefono.Text & "%'"
Else
seleccionar = Left(seleccionar, Len(seleccionar) - 3)
End If
MostrarClientes (seleccionar)
End Sub
Esta consulta chequea algunos indeces de combo... y el contenido de textbox...
mostrarclientes lo único que hace es realizar la consulta...
Yo creo que tu pregunta era orientada a como obtener una select con distintos datos
La variable campos... la uso para no poner *
Private Sub MostrarClientes(seleccion As String)
iniciarADO adoClientes, adOpenForwardOnly, adCmdText
With adoClientes
.RecordSource = seleccion
.Refresh
End With
If adoClientes.Recordset.RecordCount = 0 Then
cmdSeleccionar.Enabled = False
Else
cmdSeleccionar.Enabled = True
End If
Set DGClientes.DataSource = adoClientes
End Sub
Esto debe estar entre ""
"SELECT [Educacion].[Fecha], [Educacion].[Tipo], [Educacion].[Area], [Educacion].[Nombre], [Educacion].[Contacto], [Educacion].[Tipocontacto], [Educacion].[Materia], [Educacion].[Nivel], [Educacion].[Direccion], [Educacion].[Sector], [Educacion].[Ciudad], [Educacion].[Telefono], [Educacion].[Correo]
FROM Educacion
WHERE (([Educacion].[Nombre]) LIKE '" & IIf(IsNull([Forms]![busqueda]![txtnombre]),[Educacion]![Nombre],[Forms]![busqueda]![txtnombre])) & "%'"
Creo que así debería de funcionar
Sino podrías usarlo en el iif
Cuando el dato de form este vacío que busque '%' todos
sino que devuelva el nombre
Mira tengo este código:
SELECT [Educacion].[Fecha], [Educacion].[Tipo], [Educacion].[Area], [Educacion].[Nombre], [Educacion].[Contacto], [Educacion].[Tipocontacto], [Educacion].[Materia], [Educacion].[Nivel], [Educacion].[Direccion], [Educacion].[Sector], [Educacion].[Ciudad], [Educacion].[Telefono], [Educacion].[Correo]
FROM Educacion
WHERE (([Educacion].[Nombre]) LIKE IIf(IsNull([Forms]![busqueda]![txtnombre]),[Educacion]![Nombre],[Forms]![busqueda]![txtnombre]));
Y necesito que ese like me funcione bien pero no se como hacer para colocar el % para la comparación parcial con el texto. ¿Sabes cómo puedo hacer?
La verdad creo que no me expliqué, lo que quiero hacer es en el código que te envié, que esta hecho en una consulta de SQL y esta consulta se activa cuando yo presiono un botón... quiero que en la parte del Where, el operador LIKE me funcione, porque la consulta esta funcionando pero solo si ingreso la palabra exacta en la búsqueda y no parcial. Eso es lo que necesito, que la consulta me permita realizar búsqueda parcial del nombre. Pero no se como usar el LIKE en SQL con consulta ACCESS.. ¿tienes idea?
A ver...
Si la consulta esta hecha en access y guardada en access y puedes hacer que te funcionen los where... me dices como lo haces porque a mi no me sale
A ver si pued... copio la parte de atrás del WHERE que es la que nos interesa
Para probarlo quitemoles lo del iff y lo de isNull para poder lograrlo... luego le agregamos eso
"WHERE [Educacion].[Nombre] LIKE '%" & txtnombre.text & "%'"
Esto debería funcionar
Aceptara nombres por ejemplo si pones en la text ana
Debe dar los resultados
ANA
JuANA
ANAbel
Si esto es lo que quieres
Pruébalo así como te lo mando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas