| ID | Asunto | Fecha | Nick | |
| 40668 | Busquedas En Vb | 23/04/08 10:47 | FERNANDO LUIS | |  |
Hola a todos mi consulta es tengo un botón de comando que realiza búsquedas por título, si cambio la línea por tema , me busca por tema y si la cambio por formato me busca por formato pero sólo me presenta la primera coincidencia si hay dos no en título vale sólo debe de haber uno pero en tema puede haber varios del mismo tema. El evento es Private Sub BUSCAR_Click() Dim buscado As String, criterio As String buscado = InputBox("¿QUÉ TÍTULO BUSCAS ?") If buscado = "" Then Exit Sub criterio = "TÍTULO LIKE '*" & buscado & "*'" 'BUSCAR DESDE EL SIGUIENTE REGISTRO A LA POSICIÓN ACTUAL Data1.Recordset.MoveNext Data1.Recordset.FindFirst criterio If Data1.Recordset.NoMatch Then Data1.Recordset.MoveLast MsgBox " NO ENCUENTRO [ " & CStr(UCase(buscado)) & " ] EN TU VIDEOTECA " End If End Sub Donde está el fallo?. Un saludo Fernando [Editado: FERNANDO LUIS, 23/04/2008 16:00:02] |
|
| ID | Asunto | Fecha | Nick | |
| 40671 | Re: Busquedas En Vb (Resp: 40668) | 23/04/08 13:12 | ht_soft | | |
creo que debe ser en la consulta LIKE '%texto%' asi, reemplaza tu * por % en la construccion de la cosulta.
Saludos
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40695 | Re: Busquedas En Vb (Resp: 40671) | 23/04/08 16:08 | FERNANDO LUIS | | |
Hola lo he probado he cambiado el * por % y no funciona de todas formas gracios por el interes.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40700 | Re: Busquedas En Vb (Resp: 40668) | 23/04/08 17:20 | juanjoa | | |
Hola a ti también, yo creo que el problema estás en esta línea:
Data1.Recordset.FindFirst criterio
El método FindFirst busca el "primer" registro que coincida con el criterio de búsqueda, por lo tanto solamente mostrará un registro (el primero que encuentre). Si quieres mostrar todos los que coincidan, deberás asignar a la propiedad RecordSource del control Data el nuevo criterio y refrescarlo.
Un saludo
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40704 | Re: Busquedas En Vb (Resp: 40700) | 23/04/08 17:44 | FERNANDO LUIS | | |
Estoy de acuerdo yo tambien iva por ese camino , el problema es que no se como hacerlo. UN SALUDO Fernando.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40720 | Re: Busquedas En Vb (Resp: 40704) | 24/04/08 07:39 | juanjoa | |  |
Mira, te pongo un ejemplo: Private Sub BUSCAR_Click()
Dim buscado As String, criterio As String
buscado = InputBox("¿QUÉ TÍTULO BUSCAS ?")
If buscado = "" Then Exit Sub
criterio = "Select * From [LaTabla] Where [TÍTULO] = '" & buscado & "'"
Data1.RecordSource = criterio
Data1.Refresh
End SubNotas: Si no lo encuentra no mostrará nada. [LaTabla] = el nombre de la tabla que estás mostrando (propiedad RecordSource del control Data1) Si el campo TÍTULO está acentuado, lo tienes que encerrar entre corchetes [] sino dará error. Un saludo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40854 | Re: Busquedas En Vb (Resp: 40668) | 26/04/08 22:22 | Guillermo D | | |
Fernando: intentá usar findnext. Algo como ...
Data1.Recordset.FindFirst criterio
do while not Data1.Recordset.NoMatch
Data1.Recordset.FindNext criterio
msgbox "registro encontrado"
loopAdemás ten cuidado en ADO debes usar % en reemplazo de * si no falla la búsqueda. Sds. Guillermo Debiase
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40878 | Re: Busquedas En Vb (Resp: 40854) | 28/04/08 09:10 | FERNANDO LUIS | | |
Hola Juanjo he probado tu listado y funciona gracias por el interés. El ejemplo de Guillermo no lo he podido hacer funcionar pero me parece que es por qué lo tengo preparado en botones de comando y no en programa , de todas maneras lo probaré sólo y comentaré los resultados y agradecerte a ti Guillermo también el interés. El único problema es que se queda en un bucle sin fin de la primera coincidencia a la última y de la última a la primera, hr intentado un condicional if buscado<>"" and data1.recordset.eof then exit sub , pero no funciona. Doy por resuelto el hilo un saludo Fernando. [Editado: FERNANDO LUIS, 28/04/2008 11:01:51]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |