FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
En un principio si la diferencia te la devuelve en días para consultar los que tengan mas de 3 semanas
Diferencia > 21 No sé si es esto lo que pides. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#2
|
||||
|
||||
Solamente necesito que en la consulta se muestren aquellos alumnos que me deban de 3 semanas de colegiatura en adelante, y lo voy a compara con lo que yo ponga en un edit. Ya que mi sistema determina adeudos de acuerdo a semanas.
Si yo tengo un campo calculado llamado atrasos, como puedo consultar en base a ese campo. Utilizo en este sistema Paradox de delphi 5. Atrasos es un campo calculado que logicamente no existe realmente en ninguna tabla, y es por este campo que quiero realizar la consulta. Agradezco tu gentileza de quererme ayudar, pero no lo he resuelto. Gracias Marcos. |
#3
|
||||
|
||||
Saludos
El campo calculado lo creaste con Field Editor? Si es asi, muestranos el codigo con la formula que utilizas para mostrar el atrazo. Creo que puedes realizar esa misma formula en SQL :P
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
||||
|
||||
Mi codigo es el siguiente( este codigo esta en un boton)
Código:
procedure TFrm_ConsultaAtrasos.BitBtn1Click(Sender: TObject); begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('SELECT Alumnos.matricula, Alumnos.ApPat, Alumnos.ApMat, Alumnos.Nombre, Alumnos.Horario, Alumnos.status, Alumnos.Nombreprof, Alumnos.Colegiatura, Alumnos.UltSem, sum(Cobranza.Buenopor)as TotalPagado'); Query1.SQL.Add('FROM cobranza, Alumnos'); Query1.SQL.Add('Where (Alumnos.Matricula=Cobranza.Matricula) and (Alumnos.Status="ACTIVO")'); Query1.SQL.Add('Group by Alumnos.matricula, Alumnos.ApPat, Alumnos.ApMat, Alumnos.Nombre, Alumnos.horario, Alumnos.status, Alumnos.nombreprof, Alumnos.colegiatura, Alumnos.UltSem'); Query1.SQL.Add('Order by Alumnos.NombreProf, Alumnos.Horario, Alumnos.ApPat, Alumnos.ApMat, Alumnos.Nombre'); Query1.Open; end; y este otro en mi evento onClacFields Código:
procedure TFrm_ConsultaAtrasos.Query1CalcFields(DataSet: TDataSet); var SemanaComparacion: Integer; Atraso: Integer; Colegiatura: Integer; begin SemanaComparacion := StrToInt(Edt_SemComparacion.Text); Atraso := SemanaComparacion - Query1.FieldByName('UltSem').AsInteger; Colegiatura := Query1.FieldByName('Colegiatura').AsInteger; Query1.FieldByName('Atraso').AsInteger:= Atraso; Query1.FieldByName('Adeudo').AsInteger := Colegiatura*Atraso; end; A ver si asi me pueden ayudar, lo que quiero solamente es que se muestren en la consulta solo los que deban de 3 a mas semanas de colegiatura Gracias |
#5
|
||||
|
||||
utilizé atraso como una variable a la que le das el valor de tu campo atraso... tambien podrías cambiar la parte del SELECT para que lo selecciones junto con los otros campos.... ¿en que tablas tienes guardado el campo atraso?
__________________
Última edición por ContraVeneno fecha: 27-06-2005 a las 19:46:21. |
#6
|
||||
|
||||
gracias por responder en realidad el campo atraso no esta guardado en ninguna tabla, puesto que es un campo calculado, es decir solo esta en mi unico query que tengo pero como campo calculado, pero este campo llamado atraso no pertenese a ninguna tabla.
Gracias |
#7
|
||||
|
||||
a una variable global dale el valor de tu campo calculado y luego la utilizas como te menciono...
en teoría debe funcionar...
__________________
|
|
|
|