Página 1 de 1
TMemDataSet:Search
Publicado: Mié Ene 20, 2016 10:55 am
por mcastabaron
Buenos días,
::oMemDataSet1:Search("Agente='JOSEP'") hace la busqueda correctamente,
::oMemDataSet1:Search("Agente='::oParent:oParent:oDbfDataSet1:Agente'") no hace la busqueda correctamente. He comprobado que Agente y ::oParent:oParent:oDbfDataSet1:Agente devuelven la misma cadena.
¿Que estoy haciendo mal?
Saludos.
Miguel C.
Re: TMemDataSet:Search
Publicado: Mié Ene 20, 2016 12:03 pm
por ignacio
Buenos días,
Sólo la primera construcción es soportada.
Un saludo
Re: TMemDataSet:Search
Publicado: Mié Ene 20, 2016 12:21 pm
por mcastabaron
Gracias Ignacio,
Ocurre lo mismo con Locate y AutoSeek.
Con esto lo que quiero hacer es recorriendo una base de datos, ir creando un solo registro en el array para todos los registros de la base de datos que tengan esa cadena que estoy buscando e ir sumando algunos campos.
Si en vez de utilizar un array utilizara otra base datos no habría problema.
¿Alguna sugerencia?
Miguel C.
Re: TMemDataSet:Search
Publicado: Mié Ene 20, 2016 3:54 pm
por ignacio
Hola,
Sustituya esto:
Código: Seleccionar todo
::oMemDataSet1:Search("Agente='::oParent:oParent:oDbfDataSet1:Agente'")
Por esto:
Código: Seleccionar todo
::oMemDataSet1:Search("Agente= '" + ::oParent:oParent:oDbfDataSet1:Agente + "'")
Nota: Observe que hay comillas simples al final de la primera cadena y dentro de la última
Re: TMemDataSet:Search
Publicado: Mié Ene 20, 2016 7:00 pm
por mcastabaron
Gracias maestro, funciona perfecto.
No comprendo la solución.
Miguel.
Re: TMemDataSet:Search
Publicado: Jue Ene 21, 2016 9:42 pm
por jfgimenez
Miguel,
el problema es que estabas poniendo la expresión dentro de la cadena a buscar, y con eso, lo que estaba buscando realmente era "Agente='::oParent:oParent:oDbfDataSet1:Agente'", en vez de "Agente='JOSEP'".
Re: TMemDataSet:Search
Publicado: Lun Ene 25, 2016 9:55 am
por mcastabaron
Ok. Gracias José.