Topic: Нужна помощь...
Всем привет!!!
1) как сделать: если в гриде есть пустые поля , чтоб они горели красным???
2)
if MessageDlg( 'мое сообщение ', mtInformation, mbYes+mbNo, 0) = mrYes then
как поменять Yes....на Да, а No...на Нет???
My Visual Database → Russian → Нужна помощь...
Всем привет!!!
1) как сделать: если в гриде есть пустые поля , чтоб они горели красным???
2)
if MessageDlg( 'мое сообщение ', mtInformation, mbYes+mbNo, 0) = mrYes then
как поменять Yes....на Да, а No...на Нет???
Приветствую,
1. Все пустые поля во всех столбцах? или в каких то определенных столбцах?
2. К сожалению пока нет такой возможности.
в определенных столбцах пустые поля...
в определенных столбцах пустые поля...
procedure Form1_GridEmployees_OnChange (Sender: string);
var
i,c: integer;
begin
c := Form1.GridEmployees.RowCount - 1;
for i := 0 to c do
begin
if Form1.GridEmployees.Cells[0,i] = '' then Form1.GridEmployees.Cell[0,i].Color := clRed; // для первого столбца
if Form1.GridEmployees.Cells[2,i] = '' then Form1.GridEmployees.Cell[2,i].Color := clRed; // для третьего столбца
end;
end;
Ок!!! Нормуль...
А что надо сделать с поиском чтоб показать строчки, где пустые поля в гриде???
Ок!!! Нормуль...
А что надо сделать с поиском чтоб показать строчки, где пустые поля в гриде???
Кнопка с действием "Поиск" к сожалению не поддерживает поиск по пусттым строкам, для его реализации придеться использовать кнопку "SQL запрос"
Кнопка с действием "Поиск" к сожалению не поддерживает поиск по пусттым строкам, для его реализации придеться использовать кнопку "SQL запрос"
Подскажите..."SQL запрос" к примеру по двум полям???
RZ-007
SELECT lastname, firstname FROM tablename
WHERE
lastname is NULL or
firstname is NULL
ОК!!! это РАБОТАЕТ...
СПАСИБО!!!
Здравствуйте!!!
Из Вашего примера Дмитрий взял скрипт...
procedure Form2_Button1_OnClick (Sender: string; var Cancel: boolean);
var
sid: string;
begin
if (Form2.ComboBox1.dbItemID = -1) and (Form2.ComboBox1.Text <> '') then
begin
// проверить, если оценка уже существует...
sid := SQLExecute ('SELECT id FROM AAA WHERE aaa LIKE "'+Form2.ComboBox1.Text+'"');
if ValidInt(sid) then
Form2.ComboBox1.dbItemID := StrToInt(sid)
// если оценка не существует, предложить...
else begin
if 6 = MessageDlg('Добавить запись ??? "..... ' + Form2.ComboBox1.Text, mtConfirmation, mbYes + mbNo, 0) then
begin
SQLExecute('INSERT INTO AAA (aaa) VALUES ("'+Form2.ComboBox1.Text+'")');
UpdateDatabase('AAA');
Form2.ComboBox1.dbItemID := Last_Insert_id('aaa');
end else
begin // если Нет...делаем:
Cancel := True;
end;
end;
end;
end;
Этот скрипт делает проверку в таблице "ААА" в поле "ааа" используя "ComboBox1" и если такой записи НЕТ предлагает её сделать!!!
Скрипт РАБОЧИЙ...ОК!!!
ВОПРОС:
Таблица "ААА" имеет два поля "ааа" и "id_BBB"
Как к данному скрипту прикрутить...
сделать проверку в таблице "ААА" в поле "ааа" и "id_BBB" используя "ComboBox1" и теперь уже "ComboBox2" ...
и если такой записи НЕТ предложить её сделать используя "ComboBox1" и "ComboBox2" ...
P./S. Таблица "ВВВ" имеет поле "bbb"
Заранее благодарен за любую помощь!!!
RZ-007
К сожалению я уже не помню подробностей данного примера, по данному описанию сложно посоветовать что то конкретное.
пост № 10
К сожалению я уже не помню подробностей данного примера, по данному описанию сложно посоветовать что то конкретное.
Дмитрий я нашёл ваш пример...
Помогите дописать ваш скрипт...(надо к существующему скрипту добавить и проверку и запись с "ComboBox1"...
P./S. т.е. с формы "frmEmployee" используя "cbGroup" и "ComboBox1"
сделать проверку для таблицы "groups" с полем "groupname" и "id_AAA"....
И если такой записи НЕТ в поле "groupname" и "id_AAA"...
тогда сделать запись СКРИПТОМ...в таблицу "groups" в поле "groupname" из "cbGroup"(скрипт уже готовый есть)
и выбрав значения из "ComboBox1" в поле "id_AAA"...(что надо дописать???)
Проект для теста прилагается...
Увы, я могу помочь только с конкретным вопросом либо простым примером, ваш вопрос сформулирован довольно запутано.
Ок....ещё проще...
есть две таблицы: "ААА" с полем "ааа" и "ВВВ"с полем "id_AAA"
Как сделать скриптом запись в таблицу "ВВВ" с полем "id_AAA"
используя ComboBox1, который берёт значения из таблицы: "ААА" с полем "ааа"???
Ок....ещё проще...
есть две таблицы: "ААА" с полем "ааа" и "ВВВ"с полем "id_AAA"
Как сделать скриптом запись в таблицу "ВВВ" с полем "id_AAA"
используя ComboBox1, который берёт значения из таблицы: "ААА" с полем "ааа"???
SQLExecute('INSERT INTO BBB (id_AAA) VALUES ('+Form1.ComboBox1.sqlValue+')');
Ок....
делаем так:
SQLExecute('INSERT INTO BBB (id_AAA) VALUES ('+Form3.ComboBox1.sqlValue+')');
SQLExecute('INSERT INTO BBB (bbb) VALUES ('+Form3.Edit1.sqlValue+')');
запись делается в разные строчки,
как объеденить скрипт, что бы запись в таблице была в одной строчке???
SQLExecute('INSERT INTO BBB (id_AAA, bbb) VALUES ('+Form3.ComboBox1.sqlValue+', '+Form3.Edit1.sqlValue+')');
Спасибо!!!
То что надо...
Эта часть скрипта :делает проверку в таблицы "ААА" с полем "ааа" используя ComboBox1...
var
sid: string;
begin
if (Form2.ComboBox1.dbItemID = -1) and
(Form2.ComboBox1.Text <> '') and
// (Form2.ComboBox2.dbItemID = -1) and
// (Form2.ComboBox2.Text <> '') then
begin
// проверить, если оценка уже существует
sid := SQLExecute ('SELECT id FROM AAA WHERE aaa LIKE "'+Form2.ComboBox1.Text+'"');
//sid := SQLExecute ('SELECT id FROM AAA WHERE aaa,id_BBB LIKE "'+Form2.ComboBox1.Text+','+Form2.ComboBox2.Text+' "');
if ValidInt(sid) then
Form2.ComboBox1.dbItemID := StrToInt(sid)
Вопрос:
Как изменить скрипт..., что бы используя ComboBox2 сделать проверку в таблицы "ААА" с полем "id_BBB" в этой же строчке таблицы???
Всем привет!!!
1.) как заставить CheckBox запомнить своё значение...???
открыли проект установили значение в CheckBox закрыли проект...
при новом открытии проекта....в CheckBox осталось значение какое было при закрытии...
2.) + пост №19
Всем привет!!!
1.) как заставить CheckBox запомнить своё значение...???
открыли проект установили значение в CheckBox закрыли проект...
при новом открытии проекта....в CheckBox осталось значение какое было при закрытии...
где вы планируете хранить значение CheckBox? в базе данных или в реестре?
где вы планируете хранить значение CheckBox? в базе данных или в реестре?
1.)просто на форме ...он не к чему не подключен!!!
2.) взгляните пожалуйста пост №19...?
RZ-007
1. Сделал для вас проект с примером.
2. С данной формулировкой вопроса я не могу посоветовать что то конкретное.
Всем хорошего настроения!!!
DriveSoft пишет:
1. Сделал для вас проект с примером.
Огромное СПАСИБО!!! это то, что мне надо...
посты № 10,19...
DriveSoft пишет:
2. С данной формулировкой вопроса я не могу посоветовать что то конкретное.
ОК!!!...попробую изложить суть вопроса в другом формате...
Ваш скрипт... взят из одного вашего проекта
он перед сохранением записи в таблицу делает проверку этой же записи в другой таблицы...
procedure frmEmployee_bSave_OnClick (Sender: string; var Cancel: boolean);
var
sid: string;
begin
if (frmEmployee.cbGroup.dbItemID = -1) and (frmEmployee.cbGroup.Text <> '') then
begin
// проверьте, если группа уже существует
sid := SQLExecute ('SELECT id FROM groups WHERE groupname LIKE "'+frmEmployee.cbGroup.Text+'"');
if ValidInt(sid) then
frmEmployee.cbGroup.dbItemID := StrToInt(sid)
// если группа не существует, предложить добавить новую группу
else begin
if 6 = MessageDlg('Вы действительно хотите добавить новую группу: ' + frmEmployee.cbGroup.Text, mtConfirmation, mbYes + mbNo, 0) then
begin
SQLExecute('INSERT INTO groups (groupname) VALUES ("'+frmEmployee.cbGroup.Text+'")');
UpdateDatabase('groups');
frmEmployee.cbGroup.dbItemID := Last_Insert_id('groups');
end;
end;
end;
end;
это РАБОТАЕТ!!! ОК...
я пытаюсь Ваш скрипт отредактировать для своей задачи...
это мой скрипт:
procedure Form3_Button1_OnClick (Sender: string; var Cancel: boolean);
var
sid: string;
begin
//---1 часть----------что сдесь надо изменить???----------------------------------------------------------
if (frmEmployee.cbGroup.dbItemID = -1) and (frmEmployee.cbGroup.Text <> '') then
begin
// проверьте, если группа уже существует
sid := SQLExecute ('SELECT id FROM groups WHERE groupname LIKE "'+frmEmployee.cbGroup.Text+'"');
if ValidInt(sid) then
frmEmployee.cbGroup.dbItemID := StrToInt(sid)
//---2 часть "методом научного тыка" работает ОК!!!-----------------------------------------------------------------------------------
// если оценка не существует, предложить добавления
else begin
if 6 = MessageDlg('Добавить запись' + Form3.ComboBox2.Text, mtConfirmation, mbYes + mbNo, 0) then
begin
SQLExecute('INSERT INTO BBB (id_AAA,bbb) VALUES ('+Form3.ComboBox1.sqlValue+',"'+Form3.ComboBox2.Text+'")');
Form3.Combobox2.DoOnChange; //дал понять, что у него значение обновилось...
UpdateDatabase('BBB');
Form3.ComboBox2.dbItemID := Last_Insert_id('bbb');
end else
begin // если Нет...делаем:
Cancel := True;
Form3.ComboBox2.dbItemID:= -1;
Form3.ComboBox2.Text := '';
end;
end;
end;
end;
Суть ВОПРОСА постарался изложить в рисунке , который прикрепил ниже...
My Visual Database → Russian → Нужна помощь...
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi