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