Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2010
Avatar de sisne
sisne sisne is offline
Miembro
 
Registrado: mar 2010
Posts: 71
Poder: 15
sisne Va por buen camino
buscando en registros particulares

Hola foreros, necesito su ayuda...
En esta ocasion pues tengo un planteamiento similar a los anteriores.
El caso es, como puedo buscar teniendo varios alumnos y sus materias respectivas q tienen que prograrmarse, donde una materia (con su codigoMateria y Nombre Materia) puede repetirse al momento de programarrse en toda la Base de datos.
Lo que debo hacer es, si un alumno se programa MAT-100 pues quiero que este dato busque en todo el registro que pertencen al alumno PERO solo del alumno y no asi de la Base de datos. de la misma tabla.
El codigo que me sugerieron es este, que me lo busca en toda la Base de datos.
Código Delphi [-]
procedure TFmateria.CodigoMExit(Sender: TObject);
begin
    with Query1 do
      begin
        Close;
        SQL.Text:= 'SELECT * FROM BDmateria WHERE CodigoM = '+QuotedStr(CodigoM.Text);
        Open;
        if not IsEmpty then
          begin
            MessageDlg('Datos EXISTENTE',mtError,[mbOk],0);
            CodigoM.SetFocus;
          end;
      end;
end;
Estaba intentando con la sentencia Inner, para que solo me lo busque en el registro de un solo alumno.
Código Delphi [-]
        SQL.Text:= 'SELECT m.* FROM BDmateria m INNER RIGHT BDinscripcion i ON m.IdE=i.IdE and CodigoM = '+QuotedStr(CodigoM.Text);
También intente con la sentencia if
Código Delphi [-]
if (Query1.Locate('CodigoM',CodigoM.Text, [loPartialKey]))and (DM.TmateriaIdE.text=DM.TinscripcionIdE.text) then
  ShowMessage('Codigo repetido, o existente en su registro')
else
   NombreM.SetFocus;
Como ven intente realizar de estas formas, con la primera me lo busca en toda la Base de tados y las otras pues no me funcionan, se me repiten igual la informacion.

Donde: CodigoM= Es la sigla de la materia
NombreM=Es el nombre de la materia
IdE= es un contador, que en BDinscripcion es unico y en BD materia se repite cuantas materias se programa.

POr favor alguien...donde esta mi error....

Gracias
Responder Con Cita
  #2  
Antiguo 12-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Lo que sugiero es que hagas una consulta de las materias inscritas por alumno, asi podras validar que una materia no se repita para un alumno.
Código Delphi [-]
procedure TFmateria.CodigoMExit(Sender: TObject);
begin
    with Query1 do
      begin
        Close;
        SQL.Text:= 'SELECT * FROM BDmateria WHERE CodigoM =:CodigoM AND IDAlumno=:IdAlumno ';
        ParamByName('IdAlumno').AsString:=IdAlumno.Text;
        ParamByName('CodigoM').AsString:=CodigoM.Text;

        Open;
        if not IsEmpty then
          begin
            MessageDlg('Datos EXISTENTE',mtError,[mbOk],0);
            CodigoM.SetFocus;
          end;
      end;
end;

Saludos cordiales
Responder Con Cita
  #3  
Antiguo 12-04-2010
Avatar de sisne
sisne sisne is offline
Miembro
 
Registrado: mar 2010
Posts: 71
Poder: 15
sisne Va por buen camino
Hola cloayza:
Agradecerte por tu interés, comentarte que me funcionó, solo ahora tengo que acomodarlo cuando un XXXalumno se reprograma,ahi si puede repetirse el mismo nombre y codigo.
Si no es mucha molestia, queria consultarte:
Cita:
SQL.Text:= 'SELECT * FROM BDmateria WHERE CodigoM =:CodigoM AND IDAlumno=:IdAlumno ';
ParamByName('IdAlumno').AsString:=IdAlumno.Text;
ParamByName('CodigoM').AsString:=CodigoM.Text;
Exactamnte :
Cita:
=: ///quisiera saber su funcionamiento...
ParamByName // Quisiera saber su funcionamiento
Muuuuchas gracias!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
buscando componente laukri Varios 3 22-05-2008 09:29:16
Buscando buitrago Varios 3 11-09-2004 20:54:10
Buscando archivos TheBearWhite Varios 4 16-08-2004 13:34:22
buscando un exe en c jorch_yr Varios 1 02-01-2004 13:40:32


La franja horaria es GMT +2. Ahora son las 01:59:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi