Код:
procedure TForm1.BitBtn1Click(Sender: TObject); {зарегистрировать приём}
begin
ADOQuery4.Active:=False;
ADOQuery4.SQL.Clear;
ADOQuery4.SQL.Add('INSERT INTO Visit');
ADOQuery4.SQL.Add('(ID_Doctor, ID_Patient, VisitDate, VisitTime,Resultat,Symptoms,Diagnos)');
ADOQuery4.SQL.Add('VALUES(+Doctor.FieldByName(ID_Doctor).AsString+, +Patient.FieldByName(ID_Patient).AsString+,'+' "'+Edit2.Text+'", "'+Edit3.Text+'", "'+ComboBox1.Text+'", "'+Memo1.Lines.Text+'", "'+Memo2.Lines.Text+'")');
ADOQuery4.ExecSQL;
end;
procedure TForm1.BitBtn2Click(Sender: TObject); {сформировать рецепт}
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Recept');
ADOQuery1.SQL.Add('(ID_Visit, ReceptCode, Medicaments)');
ADOQuery1.SQL.Add('VALUES(+Visit.FieldByName(ID_Visit).AsString+, '+'"'+Edit4.Text+'", "'+Memo1.Lines.Text+'")');
ADOQuery1.ExecSQL;
end;
Это две основные процедуры. В данный момент
Ошибка синтаксиса (пропущен оператор) в выражении запроса +Doctor.FieldByName(ID_Doctor).AsString+
Сама программа-то заключается в следующем:
Врач пришёл на работу, запустил это приложение, там отобразились ФИО всех врачей в DBGrid1 и ФИО всех пациентов которые в этой больнице зарегистрированы в DBGrid2.
Доктор нажимает в DBGrid1 на ячейку со своей фамилией, потом нажимает в DBGrid2 на ячейку с фамилией пацента которого он осматривает, и пишет в эдитах и мемо дату и время визита, симптомы и диагноз. Затем нажимает на кнопку "зарегистрировать приём" - и все эти данные которые он написал отправляются в Акцесс в таблицу Visit, причем ID_Doctor и ID_Pacient там должны быть именно те которые были предварительно выбраны в гридах.
Также доктор может (опять же щёлкнув предварительно нужные ячейки в гридах) записать в эдите и мемо код лекарства и название лекарства, нажать кнопку "сформировать рецепт"- и всё что он записал отправится снова в Акцесс в таблицу Recept причем опять же ID_Doctor и ID_Pacient там должны быть именно те которые были предварительно выбраны в гридах.
Вот оно как
