FoxPro/Visual FoxPro - Consultas Select

   
Vista:

Consultas Select

Publicado por Antonio (16 intervenciones) el 04/01/2016 22:27:47
Buenas a todos, a ver si me podéis ayudar con un problema que tengo, pues estoy intentando desarrollar poco a poco un sistema informático y me encuentro con el siguiente problema:

Tabla1
Código, descripcion, pvp
1;arroz;10
2;maiz;5
3;pan;7
4;arroz2
5;maiz2;8
6;maiz3;7

Tabla2
codigo, codigo2
1;4
2;5
2;6
4;1
5;2
5;6
6;2
6;5


Teniendo estas dos tablas en la cual una es un listado de artículos que esta en un grid, tengo otro grid donde van a aparecer las equivalencias que sería la tabla2 pero quiero que salga tambien la descripción que se encuentra en la tabla 1 y el pvp

si me coloco encima del grid1 del artículo 1 arroz en el grid2 debería aparecer:
4;arroz2;2

si me coloco encima del grid1 del artículo 2 arroz en el grid2 debería aparecer:
5;maiz2;8
6;maiz3;7


Gracias.
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

Consultas Select

Publicado por Saúl Hernández Aguilar (676 intervenciones) el 08/01/2016 03:57:28
Hola Antonio:

Tomando en cuenta lo que estas diciendo, que es lo que necesitas.

a) Que base de datos usas
b) Que quieres hacer ? que el sistema busque en el Grid (obvio el grid lo llenas con una tabla temporal)
o lo quieres ir a buscar a la data central


Damos mas detalles y te ayudo con gusto.

Atte.

Sha
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

Consultas Select

Publicado por ANTONIO (16 intervenciones) el 10/01/2016 01:58:18
Gracias por responder, llevo comiendome la cabeza unos días y he resuelto el tema de una forma pero me va lento y con algunos miles de registros no debería de ir lento.

Te lo describo para que lo veas mas facil.

Estoy intentando realizar poco a poco un programa de gestión de venta y tengo lo siguiente:
Una base de datos de fox (No SQL) y en ellas unas tablas con sus indices correspondientes.

Una de las opciones es ver los artículos donde aparecen ciertos datos de estos en un grid1
Tengo otra tabla donde solo se guarda solo la referencia y la equivalencia o igualdad según se le quiera llamar y lo quiero guardar en el grid2

Si por ejemplo en el grid1 estoy dentro de un artículo que se llama RUEDA, en la tabla de equivalencias tendré ciertos registros que digan que rueda = rueda1 y rueda=rueda2 (estos rueda1 y rueda2 son artículos que se encuentran tambien creados en la tabla articulos, entonces en el grid2 quiero que aparezca ademas de la equivalencia el nombre que se cogería de la tabla articulos y el precio venta publico que se cogería tambien de la tabla1)

Te adjunto el código de como lo he creado pero de esta forma va lento, me interesaría q con una sentencia select se hiciera todo de una vez (si es posible)


******************* GRID INFERIOR ********************************
CREATE CURSOR ;
larticulos2 (cod C(15),;
codb C(15),;
des C(50),;
exi N(10,2),;
ppub N(11,3),;
ppub2 N(11,3))

SELECT Igualdad.igualdad AS codigo FROM ARTICULOS INNER JOIN IGUALDAD ;
ON Articulos.codigo = Igualdad.codigo;
WHERE Articulos.codigo = larticulos.codigo INTO CURSOR TMP




SELECT TMP
DO WHILE !EOF()
SELECT articulos
SEEK (tmp.codigo)
IF FOUND()
SELECT larticulos2
APPEND BLANK
REPLACE cod WITH tmp.codigo
REPLACE codb WITH articulos.codigob
REPLACE des WITH articulos.descripcion
REPLACE exi WITH articulos.existencia
REPLACE ppub WITH articulos.Ppublico
REPLACE PPUB2 WITH ppub*(1+(articulos.iva/100))
ENDIF
SELECT tmp
SKIP
ENDDO
SELECT larticulos2
GOTO TOP

thisform.pageframe1.page1.grlistado.RecordSource = "larticulos2"
thisform.pageframe1.page1.gralmacen.RecordSource = "lartialm2"
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

Consultas Select

Publicado por ANTONIO (16 intervenciones) el 10/01/2016 15:01:25
Por fin tengo un Select que lo hace todo.... pero lo sigo viendo lento.


SELECT articulos.codigo,articulos.codigob, articulos.descripcion, articulos.existencia, articulos.ppublico, ROUND(articulos.ppublico*(1+(articulos.iva/100)),2) ;
FROM articulos WHERE codigo in( SELECT Igualdad.igualdad AS codigo FROM ARTICULOS INNER JOIN IGUALDAD ;
ON Articulos.codigo = Igualdad.codigo;
WHERE Articulos.codigo = larticulos.codigo) into cursor larticulos2
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