Busqueda de un campo string en SQL-Server

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
Responder
euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Busqueda de un campo string en SQL-Server

Mensaje por euro500g » Mié Ago 08, 2018 3:06 pm

Buenos días, necesito que me ayuden en el siguiente problema:
Tengo una tabla en Tps que contiene un campo llamado cuenta que es del tipo string y quiero buscar el contenido de ese campo en una tabla que
esta en sql-server que también contiene el campo cuenta del tipo cstring. El problema que tengo es que al realizar un proceso donde recorre la primera tabla busca las coincidencias en la segunda para totalizar un importe, no lo encuentra. El codigo es el siguiente:
set(umsatzfinal)
Loop until access:umsatzfinal.next()
UMZ:Cuenta = UMF:CUENTA
set(umsatz_sql,UMZ:Cuentas)
Loop until access:umsatz_sql.next()
IF UMZ:Cuenta <> L:Cuenta then break. !!!!! NO INGRESA A TOTALIZAR.
L:TOTAL+=UMZ:Importe
END
.......
. .. . ..
........
END
END
Como recien estoy pasando mis tablas a sql no se si para recorrerlas o comparar campos es diferente.
Saludos.
Ramón Rodríguez
C.6.3


Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1054
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Busqueda de un campo string en SQL-Server

Mensaje por Mauricio » Vie Ago 10, 2018 12:32 pm

Por qué no haces un SELECT en SQL pasando como parámetro el texto que buscas?
Algo como: SELECT Sum(Campo a Sumar) FROM TablaSQL WHERE CampoSQL = CampoTPS GROUP BY CampoSQL
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

duenda
Al nivel de RZ
Mensajes: 117
Registrado: Mar Mar 01, 2011 8:36 pm
Contactar:

Re: Busqueda de un campo string en SQL-Server

Mensaje por duenda » Mar Ago 14, 2018 2:57 pm

Hola Ramón:

Te mando como lo haría yo... en principio recortar espacios y llevar a mayúsculas para que las comparaciones entre campos de TPS y SQL sean exactas, además hay una variable "L:Cuenta" que no sé si fue por error o en otro lugar la estás igualando al campo, pero la comparación debería ser entre los campos de la tabla. Como dice Mauricio, sería mejor hacerlo con un SELECT, pero si querés usar el código convencional de Clarion, tal vez esto te ayude:

set(umsatzfinal)
Loop until access:umsatzfinal.next()
CLIP(UPPER(UMZ:Cuenta)) = CLIP(UPPER(UMF:CUENTA))
set(UMZ:Cuentas,UMZ:Cuentas)
NEXT(umsatz_sql)
Loop WHILE CLIP(UPPER(UMZ:Cuenta)) = CLIP(UPPER(UMF:CUENTA)) AND NOT ERRORCODE()
L:TOTAL+=UMZ:Importe
NEXT(umsatz_sql)
END
.......
. .. . ..
........
END
END

Saludos! Ileana

euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Re: Busqueda de un campo string en SQL-Server

Mensaje por euro500g » Lun Sep 10, 2018 5:26 pm

Muchas gracias a todos, fui por la implementación de la tabla boba y funciono perfecto, renegue un poco con las fechas pero le encontre la vuelta.
Gracias.


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 1 invitado