FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
TADOQuery.Sort, problema con campos con el mismo nombre
Que tal compañeros del club
Antes que nada aclarar que trabajo con Delphi 2010, MS SQL Sever 2005 Express, y me conecto a través de ADO Resulta que tengo la desgracia de tener dos tablas mas o menos así
Es decir tengo campos en distintas tablas pero con el mismo nombre y tipo. El campo que me esta dando problemas es el que se llama importe en ambas tablas A y B y lo tengo definido como tipo moneda La cuestion es la siguiente: Tengo un query similar a algo como esto
El cual funciona perfectamente y me devuelve el resultado deseado ordenado como yo quiero. Hasta ahí bien. Luego lo que se hace es volcar todos esos datos en un TStringGrid, proceso en el cual no hay problema alguno El tema es cuando se desea ordenar el resultado una ves presentado el "orden por defecto" Para eso agregue un manejador en evento OnMouseDown del Grid, el cual utilizo en tooodos mis grid y funciona bien
COL_Importe es una costante que utilizo para identificar cada columna del Grid (no hay problemas con esto) Cuando entra en el case para ordenar por el campo IMPORTE ordena por cualquier cosa y el problema es evidentemente porque hay dos campos que se llaman IMPORTE. Si le saco el join al query funciona bien el ordenamiento... pero claro pierdo la mitad de la informacion Otra solucion que encontre es usar alias. Es decir:
Lo cual es un problema para mi porque tendria que escudriñar por todo el codigo buscando donde estoy usando los campos (no estan definidos como persistentes). Al utilizar FieldByName para obtener el valor, el error se produciria en ejecucion, si al menos no dejara compilar.. pero bueno Lo extraño es que las consultas estas cuando tienen campos repetidos, el propio motor le va agregando _1, _2 al final del nombre para diferenciarlos. Pero cuando asigno por ejemplo Importe_1 en la propiedad Sort me lanza una excepcion indicando que no se encuentra el campo. Ahora bien, si puedo hacer lo siguiente:
Alguna idea?? |
#2
|
||||
|
||||
Eso no es una desgracia, eso es lo normal
tbArticulos id nombre tbVentas id idarticulo cantidad precio Obtenemos todos los nombres de artículos de una venta:
|
#3
|
||||
|
||||
Jajaj parece ser que estoy condenado, voy a tener que hacer un metodo con el mismo query pero usando alias, ya me pegaré los quebraderos de cabeza cuando haya que acordarse de mantener los dos metodos
|
#4
|
||||
|
||||
Hummm... no entiendo lo que dices, ¿condenado a qué?
|
#5
|
||||
|
||||
jaja es una expresion al estilo "estoy perdido!", como que no hay otra salida
Al final preferi retocar los report con los campos con alias y todo salio andando bien.. eso si, son el tipo de cosas que uno se quiere evitar pero bueno |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema Al Llenar Sort | monfa | Varios | 2 | 22-10-2013 08:43:49 |
Ficheros con el mismo nombre en el mismo directorio | Casimiro Notevi | La Taberna | 7 | 04-03-2011 16:52:07 |
usar dos archivos .pas del mismo nombre | robinsongm | Varios | 3 | 31-10-2007 13:02:30 |
Mostrar nombre de campos y filtar nombre de tablas .db en un combobox | Coco_jac | Varios | 1 | 24-06-2006 01:34:29 |
TADOQuery y campos Memo | SnaKe | Conexión con bases de datos | 4 | 29-10-2003 09:45:46 |
|