Re: Отображение данных из поля таблицы в форме My Visual DB
annihillator
Должно работать. Приложите ваш проект, протестирую.
My Visual Database → Russian → Отображение данных из поля таблицы в форме My Visual DB
annihillator
Должно работать. Приложите ваш проект, протестирую.
К сожалению проект не приложен, возможно слишком большой размер. Создайте ZIP архив без exe и dll файлов.
К сожалению проект не приложен, возможно слишком большой размер. Создайте ZIP архив без exe и dll файлов.
Вот ссылка:
готово
1. для onShow не нужно было капировать условия чекбокса.. В с войствах установил начальные значения
2. В свойствах групбокса (Жидкость и смазка) было Enbled=False, это и создавало ошибку..
готово
1. для onShow не нужно было капировать условия чекбокса.. В с войствах установил начальные значения
2. В свойствах групбокса (Жидкость и смазка) было Enbled=False, это и создавало ошибку..
Архив поврежден или имеет неизвестный формат
Архив поврежден или имеет неизвестный формат
наверное у вас другой архиватор
вот архив в 7zip
Добрый день. Хочу сделать форму в которой будет CheckBox и TableGrid при выборе значения в CheckBox в TableGrid отображаются выборочные данные. Как это реализовать?
Добрый день. Хочу сделать форму в которой будет CheckBox и TableGrid при выборе значения в CheckBox в TableGrid отображаются выборочные данные. Как это реализовать?
Приветствую.
Если я правильно понял вопрос, то так
procedure Form1_CheckBox1_OnClick (Sender: TObject);
begin
If Form1.CheckBox1.Checked then Form1.TableGrid1.dbUpdate else Form1.TableGrid1.ClearRows;
end;
при этом компонент TableGrid1 должен быть настроен, также должна быть установлена настройка "Показать дочерние записи", чтобы компонент автоматически не показал данные при показе формы самостоятельно.
Ошибся. Не Checkbox, а Combobox. Прошу прощения.
В принципе это стандартный функционал, реализуется без скриптов, просто настройте кнопку с действием Поиск, в первый список добавьте данный ComboBox. В свойстве Increm.Search данного комбобокса выберите кнопку, которую ранее настроили с действием Поиск и готово, таким образом данная кнопка будет автоматически нажиматься при изменении в ComboBox. Саму кнопку можете скрыть, установив ее свойство Visible = False
В принципе это стандартный функционал, реализуется без скриптов, просто настройте кнопку с действием Поиск, в первый список добавьте данный ComboBox. В свойстве Increm.Search данного комбобокса выберите кнопку, которую ранее настроили с действием Поиск и готово, таким образом данная кнопка будет автоматически нажиматься при изменении в ComboBox. Саму кнопку можете скрыть, установив ее свойство Visible = False
Огромное спасибо, все заработало.
Дмитрий, хотел вас попросить объяснить мне один момент.
В приложенном проекте, в форме frmCardAuto, при запуске проекта, если я добавляю новое авто, а затем перехожу на вкладку "Сведения о владельце", информация из TextBox и CheckBox несанкционированно сохраняется в таблице. А после того, как я добавил сведения о владельце программа не сохраняет данные, так как видит дубликат. В чем здесь дело???
Вот ссылка на проект
Пожалуйста опишите поподробней, на форме frmCardAuto нет вкладки "Сведения о владельце", есть "Информация о владельцах"
Также я не вижу на форме CheckBox, речь о какой то другой форме?
Пожалуйста опишите поподробней, на форме frmCardAuto нет вкладки "Сведения о владельце", есть "Информация о владельцах"
Также я не вижу на форме CheckBox, речь о какой то другой форме?
В общих чертах так:
Я через Form1 хочу добавить новый автомобиль: Нажимаю кнопку "Новое авто".
Открывается форма "frmCardAuto", я заполняю поля в графах "Общая информация". Не нажимая кнопку "Ок" внизу формы, хочу добавить информацию о влдельце автомобиля, для чего выбираю вкладку "Информация о владельцах" и нажимаю кнопку "Добавить". При вызове фомы "frmOwners" я вижу как информация из раздела "Общая информация" сохраняется в БД. Я добавляю владельца нажимаю "Ок". И теперь при нажатии "Ок" система сообщает мне о наличии дубликата в БД. Т.Е. произошло сохранение в БД данных из формы, вне зависимости от моего желания сохранить инфо. Видимо это связано с тем что для ввода данных о владельце в таблицу добавляется id автомобиля.
Как то так.
Попробуйте данную функцию для проверки дубликата
function CheckDublicate (Action, sTable, sField, sValue: string; id: integer;): boolean; // процедура проверки на дубликаты
var
s: string;
sIdSQL: string;
arrFields: array of string;
arrValues: array of string;
sWhere: string;
i,c: integer;
begin
result := False;
arrFields := SplitString(sField, ';');
arrValues := SplitString(sValue, ';');
if Length(arrFields) <> Length(arrFields) then exit;
sWhere := '';
c := Length(arrFields)-1;
for i := 0 to c do
begin
if arrValues[i] <> 'NULL' then
sWhere := sWhere + arrFields[i]+' LIKE ' + arrValues[i] + ' AND '
else sWhere := sWhere + arrFields[i]+' IS NULL AND '
end;
if sWhere<>'' then SetLength(sWhere, Length(sWhere)-4);
//if Action = 'NewRecord' then
if id = -1 then
begin
s := SQLExecute ('SELECT Count(*) FROM '+sTable+' WHERE '+sWhere);
if StrToInt(s) > 0 then result := True;
end;
//if Action = 'ShowRecord' then
if id > 0 then
begin
if id <> -1 then sIdSQL := ' AND (id <> '+ IntToStr(id) +')';
s := SQLExecute ('SELECT Count(*) FROM '+sTable+' WHERE ('+ sWhere +') ' + sIdSQL);
if StrToInt(s) > 0 then result := True;
end;
end;
разница лишь в этих строка
//if Action = 'NewRecord' then
if id = -1 then
//if Action = 'ShowRecord' then
if id > 0 then
Еще вопрос. Подскажите пожалуйста что добавить в скрипт на проверку дубликатов, чтобы он не считал за дубликаты пустые ячейки?
попробуйте так
function CheckDublicate (Action, sTable, sField, sValue: string; id: integer;): boolean; // процедура проверки на дубликаты
var
s: string;
sIdSQL: string;
arrFields: array of string;
arrValues: array of string;
sWhere: string;
i,c: integer;
begin
result := False;
arrFields := SplitString(sField, ';');
arrValues := SplitString(sValue, ';');
if Length(arrFields) <> Length(arrFields) then exit;
sWhere := '';
c := Length(arrFields)-1;
for i := 0 to c do
begin
if arrValues[i] = 'NULL' then continue;
sWhere := sWhere + arrFields[i]+' LIKE ' + arrValues[i] + ' AND '
//if arrValues[i] <> 'NULL' then
// sWhere := sWhere + arrFields[i]+' LIKE ' + arrValues[i] + ' AND '
//else sWhere := sWhere + arrFields[i]+' IS NULL AND '
end;
if sWhere<>'' then SetLength(sWhere, Length(sWhere)-4) else exit;
//if Action = 'NewRecord' then
if id = -1 then
begin
s := SQLExecute ('SELECT Count(*) FROM '+sTable+' WHERE '+sWhere);
if StrToInt(s) > 0 then result := True;
end;
//if Action = 'ShowRecord' then
if id > 0 then
begin
if id <> -1 then sIdSQL := ' AND (id <> '+ IntToStr(id) +')';
s := SQLExecute ('SELECT Count(*) FROM '+sTable+' WHERE ('+ sWhere +') ' + sIdSQL);
if StrToInt(s) > 0 then result := True;
end;
end;
My Visual Database → Russian → Отображение данных из поля таблицы в форме My Visual DB
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi