Ver Mensaje Individual
  #1  
Antiguo 12-04-2010
Avatar de sisne
sisne sisne is offline
Miembro
 
Registrado: mar 2010
Posts: 71
Reputación: 17
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