DriveSoft wrote:

Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1

Спасибо. Заработало!!
Как я понимаю это можно только через скрипт?
И вопрос, там в примере закомментированы строки, а что они дают?

Вопрос. Можно-ли при сужении ячейки и увеличении её-же по высоте, переносить  текст, или он будет виден не полностью и ячейка должна быть шире?

DriveSoft wrote:

kovalenko
Пожалуйста приложите ваш проект.

Дмитрий спасибо. Решил отказаться от отдельной таблицы для этих 3-х значений, сохраняю их в основную. Так что вопрос по этой ситуации уже закрылся. Ещё раз спасибо.

DriveSoft wrote:

В таком виде к сожалению не смогу помочь, это займет слишком много времени.

Будет тогда с отдельными формами. Ещё раз спасибо.

DriveSoft wrote:

Используйте событие OnAfterClick от кнопки сохранения, в основную таблицу S сохраняйте информацию с помощью кнопки с действием Сохранить запись, а в таблицу D с помощью данного скрипта

procedure Form1_Button1_OnAfterClick (Sender: string);
begin
   SQLExecute( 'INSERT INTO D (X, Y, Z) VALUES ("' + Form2.Edit1.Text + '","' + Form2.Edit2.Text + '","' + Form2.Edit3.Text +'")' );
end;

Дмитрий здравствуйте. Убрал из записи в основную таблицу X,Y.Z (edBuilding,edLitera,edApartmentOffice) , но почему-то они не сохраняются в свою? Что делаю не так

procedure frmAddClient_Button1_OnAfterClick (Sender: string);
begin
  SQLExecute( 'INSERT INTO address (building, litera, apartmentOffice) VALUES ("' + frmAddClient.edBuilding.Text + '","' +  rmAddClient.edLitera.Text + '","' + frmAddClient.edApartmentOffice.Text +'")' );
end;

DriveSoft wrote:

Здравствуйте.


Приложите пожалуйста данный проект с тестовыми данными, постараюсь что-нибудь придумать.

Здравствуйте Дмитрий. Форма frmMailinvoiceAQ. Я пока сделал с отдельными формами, но если поможете, буду благодарен. Думаю и в дальнейшем этот механизм может пригодиться. Спасибо.

DriveSoft wrote:

kovalenko


Так можно. Телефоны будут показаны в компонентах Edit2,Edit4,Edit5

пример:

procedure frmOrder_GridOrder_OnCellClick (Sender: string; ACol, ARow: Integer); 
var
    sl: TStringList;
begin
   //Первый метод
      //Form1.Edit2.Text := SQLExecute('SELECT firstname FROM employees WHERE id = ' + IntToStr(Form1.GridEmployees.dbItemID));
     //frmOrder.Edit2.Text := SQLExecute('SELECT notes FROM application WHERE id = ' + IntToStr(frmOrder.GridOrder.dbItemID));
     //frmOrder.Edit2.Text := SQLExecute('SELECT number FROM phones WHERE id = ' + IntToStr(frmApplication.edPhone.dbItemID));
     //Второй метод
     frmOrder.edNotes.Text := frmOrder.GridOrder.Cells[12, ARow];
     frmOrder.Edit1.Text := frmOrder.GridOrder.Cells[9, ARow];


     frmOrder.Edit2.Clear;
     frmOrder.Edit4.Clear;
     frmOrder.Edit5.Clear;
     sl := TStringList.Create;
     sl.Text := SQLExecute('SELECT group_concat(phones.number, char(13) || char(10)) FROM application LEFT OUTER JOIN client ON client.id=application.id_client LEFT OUTER JOIN phones ON phones.id_client=client.id WHERE Application.id='+frmOrder.GridOrder.sqlValue);
     if sl.Count > 0 then frmOrder.Edit2.Text := sl[0];
     if sl.Count > 1 then frmOrder.Edit4.Text := sl[1];
     if sl.Count > 2 then frmOrder.Edit5.Text := sl[2];
     sl.Free;
end;


Огромнейшее спасибо!!!

Здравствуйте. Вопрос такой. Есть форма, на ней PageControl с двумя закладками. На первой "Накладные" выводиться инфа по внесённым в таблицу данным, на второй закладке "Новая накладная" есть ещё один PageControl тоже с двумя закладками "Поступление" и "Отгрузка".  Ввод данных по поступлению и отгрузке, как правило, разнесены по датам и первым может вводиться как поступление, так и отгрузка. А теперь вопрос- как сделать так, что-бы у меня на закладке "Накладные" была возможность при выборе ранее внесённой записи по "Поступлению" или "Отгрузке" в Gride переходить на запись в нужную закладку "Поступление" или "Отгрузка". Как вариант под Grid-ом на "Накладные" две кнопки "Поступление" и "Отгрузка" при нажатии которых я добавляю запись переходя на соответствующую закладку. Стандартными  методами никак, потому что там ссылка только на формы, а у меня по факту всё это в одной форме. Можно конечно сделать отдельную, но хотелось бы реализовать всё в одной. Спасибо.

DriveSoft wrote:

в событие

procedure frmOrder_GridOrder_OnCellClick (Sender: string; ACol, ARow: Integer); 

добавьте эту строку

frmOrder.Memo1.Text := SQLExecute('SELECT group_concat(phones.number, char(13) || char(10)) FROM application LEFT OUTER JOIN client ON client.id=application.id_client LEFT OUTER JOIN phones ON phones.id_client=client.id WHERE Application.id='+frmOrder.GridOrder.sqlValue);

номера телефонов будут выведены в Memo, в отдельные поля TextBox возможно, но сложней, т.к. их придется создавать на форме динамически, потому что количество телефонов может быть разное.

Спасибо! По поводу TextBox. А если предположить, что №№ телефонов на клиента будет не более 3 шт, то в этом случае можно упростить процедуру вывода номеров в TextBox?

DriveSoft wrote:

kovalenko
Решить ее можно по разному, например с помощью вычисляемого поля выводить все номера телефонов в грид GridOrder на форме frmOrder, либо выводить все телефонные номера заказа в отдельный грид или в Memo. Просто опишите, как бы вы хотели, чтобы это выглядело.

Здравствуйте. Лучше в поле MEMO, или в отдельные (сделать 2-3 шт) поля TextBox. Если можно, то оба варианта. Спасибо!

kovalenko wrote:
DriveSoft wrote:
kovalenko wrote:

Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в  форме frmOrder  с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
Спасибо

Здравствуйте.


Судя по вашей структуре БД, клиент может иметь несколько телефонных номеров, поэтому не ясно, какой номер телефона нужно выводить на форму frmOrder

А какие есть варианты решения? Хотелось бы иметь возможность заводить под клиента более одного телефона. Может вариант как-то сделать что-то вроде основного номера? А остальную информацию брать из карточки клиента?

Дмитрий ещё раз здравствуйте. Хотел напомнить о себе...Так есть возможность как-то решить мою "проблеммку"?

DriveSoft wrote:
kovalenko wrote:

Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в  форме frmOrder  с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
Спасибо

Здравствуйте.


Судя по вашей структуре БД, клиент может иметь несколько телефонных номеров, поэтому не ясно, какой номер телефона нужно выводить на форму frmOrder

А какие есть варианты решения? Хотелось бы иметь возможность заводить под клиента более одного телефона. Может вариант как-то сделать что-то вроде основного номера? А остальную информацию брать из карточки клиента?

Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в  форме frmOrder  с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
Спасибо

DriveSoft wrote:

kovalenko
Если сделаете маску, которую я привел выше, то именно так и будет.

Вот спасибо!!! Работает)))

DriveSoft wrote:

kovalenko
У компонент TextBox есть свойство EditMask, присвойте ему значение:
!\(999\)000-0000;1;_

Здравствуйте. Это я нашёл. Вопрос о выводе (показе) номера телефона. В гриде например, идут цифры без пробелов, типа 89111223344, а можно-ли выводить как 8-911-122-33-44?

DriveSoft wrote:

kovalenko

Провери дубликат пока можно только скриптом, пример
http://myvisualdatabase.com/forum/viewtopic.php?id=1062


Дмитрий и ещё вопрос, а возможно добавление записи в memo из ComboBox без использования дополнительной кнопки, в моём случае это Button4. Т.е я выбираю строку и когда она высвечивается в ComboBox, то сама добавляется в memo.

Можно:

procedure frmApplication_cdComplet_OnCloseUp (Sender: string);
begin
    frmApplication.textcomplet.Lines.Add(frmApplication.cdComplet.Text );
end;

Спасибо Дмитрий!!!
Есть ещё вопрос. При вводе тел.номера есть шаблон ввода, а есть возможность редактирования вывода н.телефона в гриде или ещё где? А то идёт сплошной набор цифр, что немножко неудобно воспринимать визуально.

DriveSoft wrote:

Можно и с помощью ComboBox, в вашем проекте замените эту строку

   frmApplication.textcomplet.Lines.Add(frmApplication.TableGrid1.Cells[0,frmApplication.TableGrid1.SelectedRow] );

на эту

   frmApplication.textcomplet.Lines.Add(frmApplication.cdComplet.Text );

На счет дублирования, вы про дубликаты в компоненте Memo при добавлении комплектации?

Скорее про добавление позиций/наименований в справочник комплектующих, ну и в другие. Что-бы не дублировались позиции в справочниках.

Дмитрий и ещё вопрос, а возможно добавление записи в memo из ComboBox без использования дополнительной кнопки, в моём случае это Button4. Т.е я выбираю строку и когда она высвечивается в ComboBox, то сама добавляется в memo.

kovalenko wrote:
DriveSoft wrote:

Готово.

На форме frmApplication разместил грид, из которого вы можете выбирать комлектацию, двойным кликом либо нажав кнопку "< Добавить <"

Огромнейшее Спасибо!
Пойду дальше пробовать!

Дмитрий если можно ещё вопрос. А ту-же операцию только с выбором из ComboBox можно сделать?
И можно сделать запрет на дублирование при добавлении записей в таблицу.

DriveSoft wrote:

Готово.

На форме frmApplication разместил грид, из которого вы можете выбирать комлектацию, двойным кликом либо нажав кнопку "< Добавить <"

Огромнейшее Спасибо!
Пойду дальше пробовать!

kovalenko wrote:

Дмитрий здравствуйте. Есть необходимость при приёме в ремонт указывать комплектность товара. Есть-ли возможность заполнять поле данными не в ручную, а брать необходимые строчки из справочника. Т.е не одна строка из справочника с перечнем комплектующих, а ввод в поле нескольких строк. Т.е выбираю АКБ-добавляю,  выбираю БЛОК ПИТАНИЯ-добавляю, и т.д.
Спасибо.

Дмитрий здравствуйте. Скромно напоминаю о своём вопросе/просьбе.

Приложил. пароль можно 1-1

Да, справочник будет типовой (при необходимости будет пополняться). Конечно хотелось-бы при необходимости и ручками добавлять, но это уже УХ!  За базу не пеняйте, "нащупываю" то, что хочу))))

Дмитрий здравствуйте. Есть необходимость при приёме в ремонт указывать комплектность товара. Есть-ли возможность заполнять поле данными не в ручную, а брать необходимые строчки из справочника. Т.е не одна строка из справочника с перечнем комплектующих, а ввод в поле нескольких строк. Т.е выбираю АКБ-добавляю,  выбираю БЛОК ПИТАНИЯ-добавляю, и т.д.
Спасибо.