Rangos de valores en tablas
Moderator: Rathinagiri
Rangos de valores en tablas
Hola,
Tengo la necesidad de en una tabla ingresar rangos de valores, por ejemplo rango1 de 1 a 100 pesos descontar al empleado 0.5%, rango2 de 101 a 1000 descontar 1.5%.
Por el momento aun no tengo idea de como meter esas condiciones de rangos de valores y después en código como aplicarlos...
Alguna idea...?.
Gracias.
Saludos,
Javier
Tengo la necesidad de en una tabla ingresar rangos de valores, por ejemplo rango1 de 1 a 100 pesos descontar al empleado 0.5%, rango2 de 101 a 1000 descontar 1.5%.
Por el momento aun no tengo idea de como meter esas condiciones de rangos de valores y después en código como aplicarlos...
Alguna idea...?.
Gracias.
Saludos,
Javier
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Rangos de valores en tablas
Hola Javier,
Seria un grid con cuatro columnas:
RANGO | DE | HASTA | PORCENTAJE
LOCATE SALARIO>=DE .and. SALARIO<=HASTA
If found()... colocar el valor porcentual a ser utilizado en una variable de acuerdo el valor del campo PORCENTAJE.
Ya dijiste todo vos mismo.jparada wrote:rango1 de 1 a 100 pesos descontar al empleado 0.5%, rango2 de 101 a 1000 descontar 1.5%.
Seria un grid con cuatro columnas:
RANGO | DE | HASTA | PORCENTAJE
Grabalos en un DBF.Por el momento aun no tengo idea de como meter esas condiciones de rangos de valores
Solo ver el valor del empleado y buscarlo en el dbf utilizando los dos nombres de campos DE y HASTA.y después en código como aplicarlos...
Con este comando:Alguna idea...?.
LOCATE SALARIO>=DE .and. SALARIO<=HASTA
If found()... colocar el valor porcentual a ser utilizado en una variable de acuerdo el valor del campo PORCENTAJE.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola jparada
Necesitas incluirlos en una grid RANGO | DE | HASTA | PORCENTAJE como dice Pablo César, o solo las cantidades ya con los descuentos?
Saludos
Necesitas incluirlos en una grid RANGO | DE | HASTA | PORCENTAJE como dice Pablo César, o solo las cantidades ya con los descuentos?
Saludos
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola jparada
Quieres trabajar directamente en la Grid o Primero en TextBox y después meterlos en la grid?
Saludos
Quieres trabajar directamente en la Grid o Primero en TextBox y después meterlos en la grid?
Saludos
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola jparada
Así es como lo necesitas?
el código es el siguiente:
Emplea otra base de datos que es Proveedores.DBF, con "CodVend" y "NomVend"
Disculpa por las imágenes que no se muestran bien.
Espero que sea de tu ayuda.
Saludos
Así es como lo necesitas?
el código es el siguiente:
Emplea otra base de datos que es Proveedores.DBF, con "CodVend" y "NomVend"
Disculpa por las imágenes que no se muestran bien.
Espero que sea de tu ayuda.
Saludos
- Attachments
-
- Salarios.rar
- (5.55 KiB) Downloaded 239 times
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola... a todos.
Disculpas, se repite el mismo archivo con el código.
Saludos
Disculpas, se repite el mismo archivo con el código.
Saludos
Re: Rangos de valores en tablas
Hola Javier/Pablo,
Gracias por sus respuestas.
En realidad por el momento no me refiero a lo gráfico, y por "tabla" quiero decir un archivo dbf.
A ver si puedo ser más claro...
Lo que intento es esta tabla: Cómo se definen esos rangos en un archivo dbf...?, estoy tratando de hacer las primeras implementaciones de un sistema de nómina y de entrada tengo esta duda.
Alguna idea...?.
Gracias.
Saludos,
Javier
Gracias por sus respuestas.
En realidad por el momento no me refiero a lo gráfico, y por "tabla" quiero decir un archivo dbf.
A ver si puedo ser más claro...
Lo que intento es esta tabla: Cómo se definen esos rangos en un archivo dbf...?, estoy tratando de hacer las primeras implementaciones de un sistema de nómina y de entrada tengo esta duda.
Alguna idea...?.
Gracias.
Saludos,
Javier
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola jParada
No entiendo bien tu pregunta, pero tratare de explicarte lo que te mando.
Te mando una ventana donde puedes ingresar tus rangos, tiene 5 campos
1.- Consecutivo: que nada más enumera los registros.
2.- Fecha: que solo sirve para saber en que fecha se hizo el movimiento del registro.
3.- De: es otro campo donde ingresas la primera cantidad.
4.- Hasta: Es otro campo donde ingresas la cantidad limite.
5.- Subsidio: Es otro campo de tu DBF donde ingresas el subsidio.
En esta ventana puedes ingresar nuevos registros, borrarlos, modificarlos, etc.
Este programa que te mando genera la base de datos y después te muestra la ventana. Solo te lo mando para que veas como se hace todo y tomes lo que necesites.
Archivo con funciones y procedimientos de la ventana:
No entiendo bien tu pregunta, pero tratare de explicarte lo que te mando.
Te mando una ventana donde puedes ingresar tus rangos, tiene 5 campos
1.- Consecutivo: que nada más enumera los registros.
2.- Fecha: que solo sirve para saber en que fecha se hizo el movimiento del registro.
3.- De: es otro campo donde ingresas la primera cantidad.
4.- Hasta: Es otro campo donde ingresas la cantidad limite.
5.- Subsidio: Es otro campo de tu DBF donde ingresas el subsidio.
En esta ventana puedes ingresar nuevos registros, borrarlos, modificarlos, etc.
Este programa que te mando genera la base de datos y después te muestra la ventana. Solo te lo mando para que veas como se hace todo y tomes lo que necesites.
Archivo con funciones y procedimientos de la ventana:
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
-
Javier Tovar
- Posts: 1275
- Joined: Tue Sep 03, 2013 4:22 am
- Location: Tecámac, México
Re: Rangos de valores en tablas
Hola jParada
Aquí te mando otra forma de hacerlo, espero que sea de tu ayuda.
Saludos
Aquí te mando otra forma de hacerlo, espero que sea de tu ayuda.
Code: Select all
/*
* HMG - Harbour Win32 GUI library
* Copyright 2002-2008 Roberto Lopez <mail.box.hmg@gmail.com>
* http://www.hmgforum.com//
*/
#include "hmg.ch"
Function Main()
set century on
REQUEST DBFCDX
RddSetDefault( "DBFCDX" )
CreaBase() //CREA LA BASE DE DATOS DBF
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 200 ;
HEIGHT 200 ;
MAIN;
TITLE 'Button Test'
DEFINE MAIN MENU
POPUP 'Test'
ITEM 'Disable button' ACTION Form_1.Button_1.Enabled := .f.
ITEM 'Enable button' ACTION Form_1.Button_1.Enabled := .t.
END POPUP
END MENU
@ 30,70 BUTTON Button_1 CAPTION "OK" WIDTH 50 HEIGHT 50 ACTION MeteDatosaDBF()
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
*-------------------------------------------------------------------------------------------------------------------------------------------------------------
PROCEDURE CreaBase()
LOCAL nAreaSala := SELECT('Salarios1')
LOCAL aMidb := {}
IF nAreaSala == 0
IF ! FILE('Salarios1.DBF' )
aMidb:= {{ "CodSala" , "N", 010, 0}, ;
{ "Fecha" , "D", 008, 0}, ;
{ "De" , "N", 010, 2}, ;
{ "Hasta" , "N", 010, 2}, ;
{ "Subsidio" , "N", 010, 2}}
DBCREATE('Salarios1.DBF', aMidb )
USE Salarios1 ALIAS Salarios1 NEW SHARED
IF ! FILE( 'Salarios1.CDX' )
INDEX ON STR(CodSala, 10) TAG ICodSala
INDEX ON DTOS(Fecha) TAG IFecha
INDEX ON STR(De, 10) TAG IDe
INDEX ON STR(Hasta, 10) TAG IHasta
INDEX ON STR(Subsidio, 10) TAG ISubsidio
ENDIF
Salarios1->(ORDSETFOCUS('ICodSala'))
Salarios1->(ORDSETFOCUS('IFecha'))
Salarios1->(ORDSETFOCUS('IDe'))
Salarios1->(ORDSETFOCUS('IHasta'))
Salarios1->(ORDSETFOCUS('ISubsidio'))
Salarios1->(DBCLOSEAREA())
ENDIF
ENDIF
USE Salarios1 ALIAS Salarios1 NEW EXCLUSIVE
IF ! FILE( 'Salarios1.CDX' )
INDEX ON STR(CodSala, 10) TAG ICodSala
INDEX ON DTOS(Fecha) TAG IFecha
INDEX ON STR(De, 10) TAG IDe
INDEX ON STR(Hasta, 10) TAG IHasta
INDEX ON STR(Subsidio, 10) TAG ISubsidio
ENDIF
Salarios1->(ORDSETFOCUS('ICodSala'))
Salarios1->(ORDSETFOCUS('IFecha'))
Salarios1->(ORDSETFOCUS('IDe'))
Salarios1->(ORDSETFOCUS('IHasta'))
Salarios1->(ORDSETFOCUS('ISubsidio'))
RETURN NIL
*------------------------------------------------------------------------------------------------------------------------------------------------------------
PROCEDURE MeteDatosaDBF()
LOCAL cSueldo:= ""
LOCAL nSueldo:= 0
LOCAL nSubsidio:=0
LOCAL cSubsidio:= ""
DBSELECTAREA("Salarios1") //SELECCIONA LA BASE DE DATOS A UTILIZAR
ZAP //BORRA TODO LO QUE HAY EN LA DBF
Salarios1->(dbAppend()) // AGREGA UN REGISTRO EN BLANCO
Salarios1->CodSala := 1 //EMPIEZA A INGRESAR LOS DATOS EN LOS CAMPOS DE LA DBF
Salarios1->Fecha := Date()
Salarios1->De := .01
Salarios1->Hasta := 1768.96
Salarios1->Subsidio := 407.02
Salarios1->(dbAppend())
Salarios1->CodSala := 2
Salarios1->Fecha := Date()
Salarios1->De := 1768.97
Salarios1->Hasta := 2653.38
Salarios1->Subsidio := 406.83
Salarios1->(dbAppend())
Salarios1->CodSala := 3
Salarios1->Fecha := Date()
Salarios1->De := 2653.39
Salarios1->Hasta := 3472.84
Salarios1->Subsidio := 406.62
Salarios1->(dbAppend())
Salarios1->CodSala := 4
Salarios1->Fecha := Date()
Salarios1->De := 3472.85
Salarios1->Hasta := 3537.87
Salarios1->Subsidio := 392.77
Salarios1->(dbAppend())
Salarios1->CodSala := 5
Salarios1->Fecha := Date()
Salarios1->De := 3537.88
Salarios1->Hasta := 4446.15
Salarios1->Subsidio := 382.46
Salarios1->(dbAppend())
Salarios1->CodSala := 6
Salarios1->Fecha := Date()
Salarios1->De := 4446.16
Salarios1->Hasta := 4717.18
Salarios1->Subsidio := 354.23
Salarios1->(dbAppend())
Salarios1->CodSala := 7
Salarios1->Fecha := Date()
Salarios1->De := 4717.19
Salarios1->Hasta := 5335.42
Salarios1->Subsidio := 324.87
Salarios1->(dbAppend())
Salarios1->CodSala := 8
Salarios1->Fecha := Date()
Salarios1->De := 5335.43
Salarios1->Hasta := 6224.67
Salarios1->Subsidio := 294.63
Salarios1->(dbAppend())
Salarios1->CodSala := 9
Salarios1->Fecha := Date()
Salarios1->De := 6224.68
Salarios1->Hasta := 7113.90
Salarios1->Subsidio := 253.54
Salarios1->(dbAppend())
Salarios1->CodSala := 10
Salarios1->Fecha := Date()
Salarios1->De := 7113.91
Salarios1->Hasta := 7382.33
Salarios1->Subsidio := 217.61
Salarios1->(dbAppend())
Salarios1->CodSala := 11
Salarios1->Fecha := Date()
Salarios1->De := 7382.34
Salarios1->Hasta := 9999999.99
Salarios1->Subsidio := 0
cSueldo := InputBox ( 'Ingrese sueldo' , 'InputBox Demo' , 'Default Value' ) // TE PREGUNTA QUE SUELDO TIENES?
MsgBox(cSueldo)
nSueldo := Val(cSueldo)
MsgBox("El sueldo es: "+STR(nSueldo))
*CHECA QUE SUBSIDIO TIENES:
n:= 1
Salarios1->(dbGoTop())
DO WHILE !EOF() // AQUI HACE LA COMPARACION Y BUSCA EL "SUBSIDIO" EN LA DBF
IF (( nSueldo >= Salarios1->De ) .AND. ( nSueldo <= Salarios1->Hasta ))
nSubsidio := Salarios1->Subsidio
EXIT
ENDIF
dbSkip()
n:= n + 1
END DO
cSubsidio := Str(nSubsidio,15,2)
MsgBox("El subsidio es de: " + cSubsidio)
RETURN NIL