FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
como consulto lo siguiente
Saludos a todos los foristas de delphi, miren tengo el siguiente problema.
necesito consultas de mi tabla alumnos todos aquellos que no tengan pagada hasta la semana actual: Es decir si tengo un alumno que tiene pagada hasta la semana 4 y estoy en la 7 me lo debe mostar en la consulta, pero como el año trae 53 semanas, si el alumno pago hasta la 50 del año pasado ya no me lo muestra, en mi tabla de alumnos se registra automaticamente en un campo que se llama AnnoUltPago el año en que corresponde al ultimo pago del alumno, y la ultima semana que tiene pagada en el campo UltSem, ¿como mostrar unicamente los alumnos que tienen atrasos en sus pagos?.. esa es mi pregunta, les agradeceria me puedan ayudar, me despido enviandoles un cordial saludo y gracias. atte noe ah aqui les muestro los campos de mi tabla alumnos y la consulta qu tengo hasta ahora: object Tbl_AlumnosMatricula: TStringField FieldName = 'Matricula' Size = 15 end object Tbl_AlumnosBarCode: TGraphicField FieldName = 'BarCode' BlobType = ftGraphic end object Tbl_AlumnosApPat: TStringField FieldName = 'ApPat' Size = 30 end object Tbl_AlumnosApMat: TStringField FieldName = 'ApMat' Size = 30 end object Tbl_AlumnosNombre: TStringField FieldName = 'Nombre' Size = 30 end object Tbl_AlumnosCURP: TStringField FieldName = 'CURP' end object Tbl_AlumnosEdoCivil: TStringField FieldName = 'EdoCivil' Size = 15 end object Tbl_AlumnosEdad: TFloatField FieldName = 'Edad' end object Tbl_AlumnosSexo: TStringField FieldName = 'Sexo' Size = 10 end object Tbl_AlumnosOcupacion: TStringField FieldName = 'Ocupacion' Size = 50 end object Tbl_AlumnosDomicilio: TStringField FieldName = 'Domicilio' Size = 50 end object Tbl_AlumnosNivelEstudios: TStringField FieldName = 'NivelEstudios' end object Tbl_AlumnosFotografia: TGraphicField FieldName = 'Fotografia' BlobType = ftGraphic end object Tbl_AlumnosTelefono: TStringField FieldName = 'Telefono' Size = 10 end object Tbl_AlumnosCelular: TStringField FieldName = 'Celular' Size = 15 end object Tbl_AlumnosTutor: TStringField FieldName = 'Tutor' Size = 50 end object Tbl_AlumnosParentesco: TStringField FieldName = 'Parentesco' Size = 50 end object Tbl_AlumnosOcupacionTutor: TStringField FieldName = 'OcupacionTutor' Size = 50 end object Tbl_AlumnosDomicilioTutor: TStringField FieldName = 'DomicilioTutor' Size = 50 end object Tbl_AlumnosTelefonoTutor: TStringField FieldName = 'TelefonoTutor' Size = 15 end object Tbl_AlumnosFechaRegistro: TDateField FieldName = 'FechaRegistro' end object Tbl_AlumnosFechaInicio: TDateField FieldName = 'FechaInicio' end object Tbl_AlumnosHorario: TStringField FieldName = 'Horario' Size = 15 end object Tbl_AlumnosGrupo: TStringField FieldName = 'Grupo' Size = 1 end object Tbl_AlumnosPago: TCurrencyField FieldName = 'Pago' end object Tbl_AlumnosPromotor: TStringField FieldName = 'Promotor' Size = 30 end object Tbl_AlumnosSaldo: TCurrencyField FieldName = 'Saldo' end object Tbl_AlumnosSemana: TFloatField FieldName = 'Semana' end object Tbl_AlumnosUltSem: TFloatField FieldName = 'UltSem' end object Tbl_AlumnosColonia: TStringField FieldName = 'Colonia' Size = 30 end object Tbl_AlumnosCiudad: TStringField FieldName = 'Ciudad' Size = 30 end object Tbl_AlumnosEstado: TStringField FieldName = 'Estado' Size = 30 end object Tbl_AlumnosCarreraCurso: TStringField FieldName = 'CarreraCurso' Size = 40 end object Tbl_AlumnosNombreProf: TStringField FieldName = 'NombreProf' Size = 30 end object Tbl_AlumnosDescuentos: TStringField FieldName = 'Descuentos' end object Tbl_AlumnosDenominacion: TStringField FieldName = 'Denominacion' Size = 50 end object Tbl_AlumnosRFC: TStringField FieldName = 'RFC' Size = 15 end object Tbl_AlumnosDomicilioDenominacion: TStringField FieldName = 'DomicilioDenominacion' Size = 50 end object Tbl_AlumnosCPDenominacion: TStringField FieldName = 'CPDenominacion' Size = 10 end object Tbl_AlumnosTelefonoDenominacion: TStringField FieldName = 'TelefonoDenominacion' Size = 10 end object Tbl_AlumnosPuesto: TStringField FieldName = 'Puesto' Size = 50 end object Tbl_AlumnosColegiatura: TCurrencyField FieldName = 'Colegiatura' end object Tbl_AlumnosDebe: TFloatField FieldName = 'Debe' end object Tbl_AlumnosMonto: TFloatField FieldName = 'Monto' end object Tbl_AlumnosStatus: TStringField FieldName = 'Status' Size = 10 end object Tbl_AlumnosAnnoUltPago: TFloatField FieldName = 'AnnoUltPago' end object Tbl_AlumnosVacaciones: TStringField FieldName = 'Vacaciones' Size = 10 end Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('select *'); Query1.SQL.Add('from Alumnos.db'); Query1.sql.Add('Where upper(Horario) like :Hora and'); Query1.sql.Add('upper(NombreProf) like :maestro and'); Query1.sql.Add('upper(Status) like :estado and'); Query1.sql.Add('Ultsem<:actual and AnnoUltPago<=:anno'); Query1.sql.Add('Order by ApPat,ApMat,Nombre'); Query1.ParamByName('hora').AsString:=DBLCmbBx_Horario.Text; Query1.ParamByName('maestro').AsString:=DBLCmbBx_Profesor.text; Query1.ParamByName('estado').AsString:=CmbBx_Status.text; Query1.ParamByName('actual').Asinteger:=strtoint(Label43.caption); Query1.ParamByName('anno').Asinteger:=strtoint(Label4.caption); Query1.Open; |
#2
|
||||
|
||||
Creo que sería mas útil la estructura de la tabla de forma
IDALUMNO NUMERIC(10), etc, etc... y no todo lo que enviaste.. De la misma forma el SQL "Plano" Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|