Lotus Notes - Hacer busqueda en vista por un campo

 
Vista:
sin imagen de perfil

Hacer busqueda en vista por un campo

Publicado por Ezan (28 intervenciones) el 14/06/2011 14:50:25
Bien os cuento mi problema que no encuentro solución.
Me han pedido que de alguna manera consiga buscar por un campo en una vista. Ahora bien, sin hacer uso de la busqueda avanzada.
Puedo usar formularios, acciones o lo que quiera, pero debe ser sin la búsqueda avanzada, porque eso resulta demasiado esfuerzo mental para los usuarios. Quieren poner simplemente el valor a buscar y que la vista muestre los documentos que tengan ese valor en un campo.

Se que cuando escribes con el teclado en una vista te abre un cuadro de búsqueda, pero eso tampoco funciona correctamente, porque busca en todos los campos del documento, y sólo debe buscar en uno.

Así que llegado a este punto invito a una paella a quien me ayude a resolverlo.


Un saludo noteros!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Hacer busqueda en vista por un campo

Publicado por Hugo Correa (286 intervenciones) el 06/07/2011 17:24:32
Puedes copiar este código en un botón o acción, solo cambia CAMPO_A_BUSCAR por el nombre de tu campo y NOMBRES por el nombre de tu vista donde buscaras.


Dim NS As New NOTESSESSION
Dim View As NotesView
Dim Doc As NotesDocument
Dim item As NotesItem
Set NWS=New notesuiworkspace
Set Ndb =NS.currentdatabase
Set Nuid=NWS.currentdocument
Set Nd=Nuid.document
If Nuid.FieldGetText("CAMPO_A_BUSCAR") = "" Then
Messagebox "Debes teclear una palabra a buscar.",_
0+16 , "Atención"
Nuid.GotoField("CAMPO_A_BUSCAR")
End If
'Si el campo es diferente de vacio
If Nuid.FieldGetText("CAMPO_A_BUSCAR") <> "" Then
'Abre la vista NOMBRES
Set View = Ndb.GetView("NOMBRES")
'Busca el contenido del CAMPO_A_BUSCAR con el GetDocumentByKey
Set Doc = View.GetDocumentByKey(Nd.CAMPO_A_BUSCAR,True)
'si esta el CAMPO_A_BUSCAR
If Not (Doc Is Nothing) Then
Messagebox "Campo encontrado"
'Comienza a llamar los valores de los campos(Doc) en las variables(Nd)
Nd.apellidos=Doc.ape
Nd.direccion=Doc.dir
Nd.colonia=Doc.col
Else
Messagebox "Campo no encontrado.",_
0+16 , "Atención"
Nuid.GotoField("CAMPO_A_BUSCAR")
End If
End If

Saludos

www.hugoxoft.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar