Clipper/FiveWin - Ayuda con clipper

 
Vista:
sin imagen de perfil

Ayuda con clipper

Publicado por Adrian (1 intervención) el 02/10/2016 04:08:05
Muy buenas,

Tengo una base de datos con una tabla de productos, la cual esta tiene los campos codigo, nombre, familia, precio y stock. Tengo que hacer un programa que le indique yo un numero de stock, llame a la base de datos, filtre por el campo stock y me muestre en pantalla los que tengan menos del stock que yo he introducido. El resultado tiene que ser como el de la foto que adjunto ( solo me falta esa parte del listado, el resto esta ok). Os adjunto el codigo que tengo a ver si me podéis ayudar, muchas gracias!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CASE opcion2 = 2
		existencia := 0
		anterior = savescreen(3,0,23,78)
		SET COLOR TO W+/B,W+/G
		@ 3,0 CLEAR TO 23,78
		@ 4,5 SAY "Productos con existencias menores a:" GET existencia
		READ
		SELECT productos
		SET FILTER TO productos->stock < existencia
		GO TOP
		linea1:=8
		@ ++linea1, 1 SAY "Codigo     producto  stock  pedir "
		@ ++linea1, 1 SAY "---------- ---------------- ------- -------- "
DO WHILE !EOF()
	if FIELD->stock < existencia
		@ ++linea1, 1 SAY (productos->codigo) + " " + ;
		padr(substr(productos->nombre,1,16),16," ")
	endif
	SKIP
ENDDO
WAIT
	restscreen(3,0,23,78, anterior)
ENDCASE

Captura
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
sin imagen de perfil
Val: 6
Ha mantenido su posición en Clipper/FiveWin (en relación al último mes)
Gráfica de Clipper/FiveWin

Ayuda con clipper

Publicado por Javier (46 intervenciones) el 18/01/2017 06:07:52
Hola master: no logro descifrar cual es tu problema. El If dentro del while me parece que está de más. Supuestamente si estás dentro del ciclo es porque los registros cumplen la condición del filtro. Por otro lado si no hay registros que cumplan la condición, no va a ingresar al ciclo. Luego del GO TOP, escribirías un IF ! EOF() y por true poner el ciclo y por ELSE un msg que indique que no existen registros.
Saludos.
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