O.T. xBrowse con MySQL [SOLUCIONADO]

O.T. xBrowse con MySQL [SOLUCIONADO]

Postby MarioG » Sat Apr 09, 2016 10:15 am

Estimados;
Tengo una Tabla de personas en la que la estructura esta definida de manera que los campos de Apellido, Nombre y otros datos estan repetidos.
Para clarificar. la Tabla corresponde a Tutores de alumnos. Y seria mas o menos así:
IDTutor1,ApellidosT1, NombresT1, DctoT1..., IDTutor2,ApellidosT2, NombresT2, DctoT2
La implemente de esta manera porque a uno de ellos es a quien se le factura, esto se define mediante un campo Tinyint (1,0)
De manera que al ingresar al Facturador, cuando se va capturar un cliente (o Tutor), se despliega un xbrowse donde, ahora si, en esta lista se presentan, en dos columnas: Dcto y, Apellidos y Nombres
Este browse lo hago mediante un select definido así:
Code: Select all  Expand view
"SELECT id_tutor,tutor1 AS TUTORFAC,dniT1 AS DNI,doctipot1 AS DOCTIPO,direcnrot1 AS DIREC,totcuotas " + ;
               "FROM tutores WHERE FacAfipT1=" +Str( nFiltro,1,0 )+" "+ ;
               "UNION SELECT id_tutor,tutor2 AS TUTORFAC,dniT2 AS DNI,doctipot2 AS DOCTIPO,direcnrot2 AS DIREC,"totcuotas " + ;
               "
FROM tutores WHERE FacAfipT2=" +Str( nFiltro,1,0 )+" ORDER BY TutorFac"
Last edited by MarioG on Mon Apr 11, 2016 10:03 pm, edited 1 time in total.
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: O.T. xBrowse con MySQL

Postby MarioG » Sat Apr 09, 2016 10:28 am

Disculpas, (en lugar de Vista Previa pulse Enviar :oops: )
sigo...
El xBrowse en dos columnas, se muestra de acuerdo a lo esperado, en 2 columnas de Dcto y, Apellidos y Nombres
El problema que se me plantea es cuando pulso sobre la cabecera de una de estas para activar la búsqueda (y realizar busquedas incrementales), se produce el mensaje de error: You have an erro en your syntax... "ORDER BY TUTORFAC"
Esto es correcto debido a que esta columna esta en UNION
Entonces la pregunta es: No puedo implementar la busqueda, mediante tal función de xBrowse?
Si se puede, como?

gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: O.T. xBrowse con MySQL

Postby armando.lagunas » Sat Apr 09, 2016 12:15 pm

hola

en MySql yo creo "Vistas"..(Views), que son instrucciones SQL que generan una "vista" como si fuera una tabla mas de MySql, después la llamo desde el programa con las clausulas Where que necesito en el momento de llamarlas..., yo utilizo Navicat para hacerlo, pero estuve viendo Workbench (se descarga desde el sitio www.mysql.com ..comunity, y es gratis) y se puede hacer lo mismo de forma sencilla.
te muestro unas imagenes...

Image

este es el resultado de esa vista

Image

y asi lo llamo desde el programa

Code: Select all  Expand view


   oDbf  := oApp:oConnect:Query("SELECT * FROM V_PALLET_SIN_INSPECCION_DETALLE WHERE GRUPO='"+cGrupo+"' AND ESPECIE='"+cEspecie+"' AND FOL_INTERNO='"+cFolio+"' ")

 


la clausula where hago el filtro para hacer mas pequeña la consulta

viendo tu código lo sería algo asi

Code: Select all  Expand view


CREATE
    ALGORITHM = TEMPTABLE
    DEFINER = `root`@`%`
    SQL SECURITY DEFINER
VIEW `vista_tutores` AS

        SELECT id_tutor, tutor1 AS TUTORFAC,dniT1 AS DNI,doctipot1 AS DOCTIPO,direcnrot1 AS DIREC,totcuotas FROM tutores
        UNION SELECT id_tutor,tutor2 AS TUTORFAC,dniT2 AS DNI,doctipot2 AS DOCTIPO,direcnrot2 AS DIREC,totcuotas
               FROM tutores ORDER BY TutorFac

 


y lo llamas desde tu programa algo asi...

Code: Select all  Expand view

"SELECT * FROM vista_tutores WHERE FacAfipT1=" +Str( nFiltro,1,0 )+" AND "+ "FacAfipT2=" +Str( nFiltro,1,0 )
 


la verdad es solo un tip...que te puede ayudar

saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: O.T. xBrowse con MySQL

Postby MarioG » Sat Apr 09, 2016 12:17 pm

Armando; muchas gracias por contestar
Lo voy a estudiar con cuidado y te comento
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: O.T. xBrowse con MySQL

Postby MarioG » Mon Apr 11, 2016 10:02 pm

Armando;
muchisimas gracias!
Evidentemente aún me queda mucho por leer y aprender de MariaDB/MySQL
De lo que estoy seguro es que cada día amo mas a MariaDB/MySQL :D
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: O.T. xBrowse con MySQL [SOLUCIONADO]

Postby armando.lagunas » Mon Apr 11, 2016 10:07 pm

mario:

me alegro de que hayas solucionado tu problema, cualquier cosa estaré al pendiente.

saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 85 guests