Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1
Спасибо. Заработало!!
Как я понимаю это можно только через скрипт?
И вопрос, там в примере закомментированы строки, а что они дают?
My Visual Database → Posts by kovalenko
Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1
Спасибо. Заработало!!
Как я понимаю это можно только через скрипт?
И вопрос, там в примере закомментированы строки, а что они дают?
Вопрос. Можно-ли при сужении ячейки и увеличении её-же по высоте, переносить текст, или он будет виден не полностью и ячейка должна быть шире?
kovalenko
Пожалуйста приложите ваш проект.
Дмитрий спасибо. Решил отказаться от отдельной таблицы для этих 3-х значений, сохраняю их в основную. Так что вопрос по этой ситуации уже закрылся. Ещё раз спасибо.
В таком виде к сожалению не смогу помочь, это займет слишком много времени.
Будет тогда с отдельными формами. Ещё раз спасибо.
Используйте событие 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;
Здравствуйте.
Приложите пожалуйста данный проект с тестовыми данными, постараюсь что-нибудь придумать.
Здравствуйте Дмитрий. Форма frmMailinvoiceAQ. Я пока сделал с отдельными формами, но если поможете, буду благодарен. Думаю и в дальнейшем этот механизм может пригодиться. Спасибо.
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-ом на "Накладные" две кнопки "Поступление" и "Отгрузка" при нажатии которых я добавляю запись переходя на соответствующую закладку. Стандартными методами никак, потому что там ссылка только на формы, а у меня по факту всё это в одной форме. Можно конечно сделать отдельную, но хотелось бы реализовать всё в одной. Спасибо.
в событие
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?
kovalenko
Решить ее можно по разному, например с помощью вычисляемого поля выводить все номера телефонов в грид GridOrder на форме frmOrder, либо выводить все телефонные номера заказа в отдельный грид или в Memo. Просто опишите, как бы вы хотели, чтобы это выглядело.
Здравствуйте. Лучше в поле MEMO, или в отдельные (сделать 2-3 шт) поля TextBox. Если можно, то оба варианта. Спасибо!
DriveSoft wrote:kovalenko wrote:Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в форме frmOrder с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
СпасибоЗдравствуйте.
Судя по вашей структуре БД, клиент может иметь несколько телефонных номеров, поэтому не ясно, какой номер телефона нужно выводить на форму frmOrder
А какие есть варианты решения? Хотелось бы иметь возможность заводить под клиента более одного телефона. Может вариант как-то сделать что-то вроде основного номера? А остальную информацию брать из карточки клиента?
Дмитрий ещё раз здравствуйте. Хотел напомнить о себе...Так есть возможность как-то решить мою "проблеммку"?
kovalenko wrote:Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в форме frmOrder с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
СпасибоЗдравствуйте.
Судя по вашей структуре БД, клиент может иметь несколько телефонных номеров, поэтому не ясно, какой номер телефона нужно выводить на форму frmOrder
А какие есть варианты решения? Хотелось бы иметь возможность заводить под клиента более одного телефона. Может вариант как-то сделать что-то вроде основного номера? А остальную информацию брать из карточки клиента?
Дмитрий здравствуйте. Подскажите как можно сделать вывод номера телефона в форме frmOrder с привязкой к ранее заполненному заказу в frmApplication. Я там что-то "поковырял" , но что-то соображаловки и знаний как это сделать не хватает.
Спасибо
kovalenko
Если сделаете маску, которую я привел выше, то именно так и будет.
Вот спасибо!!! Работает)))
kovalenko
У компонент TextBox есть свойство EditMask, присвойте ему значение:
!\(999\)000-0000;1;_
Здравствуйте. Это я нашёл. Вопрос о выводе (показе) номера телефона. В гриде например, идут цифры без пробелов, типа 89111223344, а можно-ли выводить как 8-911-122-33-44?
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;
Спасибо Дмитрий!!!
Есть ещё вопрос. При вводе тел.номера есть шаблон ввода, а есть возможность редактирования вывода н.телефона в гриде или ещё где? А то идёт сплошной набор цифр, что немножко неудобно воспринимать визуально.
Можно и с помощью 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.
DriveSoft wrote:Готово.
На форме frmApplication разместил грид, из которого вы можете выбирать комлектацию, двойным кликом либо нажав кнопку "< Добавить <"
Огромнейшее Спасибо!
Пойду дальше пробовать!
Дмитрий если можно ещё вопрос. А ту-же операцию только с выбором из ComboBox можно сделать?
И можно сделать запрет на дублирование при добавлении записей в таблицу.
Готово.
На форме frmApplication разместил грид, из которого вы можете выбирать комлектацию, двойным кликом либо нажав кнопку "< Добавить <"
Огромнейшее Спасибо!
Пойду дальше пробовать!
Дмитрий здравствуйте. Есть необходимость при приёме в ремонт указывать комплектность товара. Есть-ли возможность заполнять поле данными не в ручную, а брать необходимые строчки из справочника. Т.е не одна строка из справочника с перечнем комплектующих, а ввод в поле нескольких строк. Т.е выбираю АКБ-добавляю, выбираю БЛОК ПИТАНИЯ-добавляю, и т.д.
Спасибо.
Дмитрий здравствуйте. Скромно напоминаю о своём вопросе/просьбе.
Приложил. пароль можно 1-1
Да, справочник будет типовой (при необходимости будет пополняться). Конечно хотелось-бы при необходимости и ручками добавлять, но это уже УХ! За базу не пеняйте, "нащупываю" то, что хочу))))
Дмитрий здравствуйте. Есть необходимость при приёме в ремонт указывать комплектность товара. Есть-ли возможность заполнять поле данными не в ручную, а брать необходимые строчки из справочника. Т.е не одна строка из справочника с перечнем комплектующих, а ввод в поле нескольких строк. Т.е выбираю АКБ-добавляю, выбираю БЛОК ПИТАНИЯ-добавляю, и т.д.
Спасибо.
My Visual Database → Posts by kovalenko
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi