|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
записать значение двух полей в третье поле
есть поля
field1, field2, field3 field1 - dbedit1.text - Пушкин field2 - dbedit2.text- Александр field3 -dbedit3.text Сергеевич как сделать чтобы значение field4 - dbedit4.text было Пушкин Александр Сергеевич использую zeos, dbgrid, mysql помогите очень нужно!!!! в делфи новичок, похожую темку находил, но сейчас не могу найти как сделать... |
#2
|
||||
|
||||
Код:
// Table1.Edit; Table1.FieldByName('FIO').AsString:=Table1.FieldByName('F').AsString+' '+ Table1.FieldByName('I').AsString+' '+ Table1.FieldByName('O').AsString; // Table1.Post; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Andrew_MSK (06.03.2012)
|
#3
|
|||
|
|||
спасибо
а как поступить с zquery...и если поле dbmemo... zquery1.SQL.Text:=(' update tbl set field4= (field1.AsString+.... так или как-то иначе... немного изменю вводные: необходимо чтобы в поле dbmemo1 автоматом записывались сведения из dbedit1,dbedit2,dbedit3,... данные заполняются посредством zquery1... причем к примеру если было в поле Пушкин Александр Сергеевич, и в DBEditы забили Толстой Лев Николаевич...то в dbmemo1 имееем Пушкин Александр Сергеевич,Толстой Лев Николаевич, и т.д. на какое событие dbmemo1 делать вставку новых значений... (без нажатия кнопки) использую dbmemo1 так как будет много информации.... ОЧЕНЬ НУЖНО!!! спасибо всем за помощь!!!! если можно помощь кодом delhi!!! Последний раз редактировалось Andrew_MSK, 05.03.2012 в 17:54. |
#4
|
||||
|
||||
по идее реальное поле ФИО в таблице вообще не нужно - можно запросом возвращать сумму полей Ф+И+О если потребуется.
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
вообще пример с фио просто так, в реальности будут вводиться даты, когда ходили к клиенту на работы... т.е. необходимо чтобы в одном поле было последнее посещение, а в мемо-поле были все посещения!!!!
конкатенация... случаем не то что мне нужно? dbmemo работает ли с string? |
#6
|
|||
|
|||
если поле делаю dbedit
то работает, но плохо следующее Код:
var p,p1,p2,p3 :string; ...dbedit4.change... dbedit4.text:=p p1:=dbedit1.text; p2:=dbedit2.text; p3:=dbedit3.text; p:=p1+p2+p3; если делаю Код:
p:=p+p1+p2+p3; 1. с dbmemo такое дело вообще не работает 2. зациклив получил в dbedit только порядка 70 символов, а у меня будет больше длина((( 3. ПОМОГИТЕ правда очень нужно!!!! (p.s.:продолжаю изучать сам) |
#7
|
||||
|
||||
надеюсь что даты, когда ходили к клиенту вообще в отдельной таблице? иначе как записать неограниченное число хождений к клиенту при ограниченном количестве полей в БД...
тогда пример из: Цитата:
Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 06.03.2012 в 11:41. |
#8
|
|||
|
|||
по правде, нет...
я новичок... а идея хорошая... даты я вношу в отдельную таблицу... из нее asstring беру поля... и вношу их в dbmemo, соединяя с ранним dbmemo.... правильно я понял? нужно чтобы в одном поле была просто дата (последняя), а в другом поле так сказать история дат из поля даты.... спасибо за помощь, но Ваш пример я не понял, можно поподробнее пожалуйста! |
#9
|
|||
|
|||
такой код:
Код:
procedure TForm5.DBMemo3Change(Sender: TObject); begin with DataModule1.ZQuery_rabzona1 do begin FieldByName('REGLAMENT').AsString:=FieldByName('REGLAM_RAB').AsString+' '+FieldByName('ELECTROMONTER').AsString+' '+FieldByName('INGENER').AsString; Post; end; end; Код:
with DataModule1.ZQuery_rabzona1 do как правильно? |
#10
|
|||
|
|||
немного изменил, попробывал сделать чтобы запись вносилась если значения внесены... не работает...dataset not edit or insert mode...
Код:
procedure TForm5.DBMemo3Change(Sender: TObject); begin if(not DataModule1.ZQuery_rabzona1.FieldByName('REGLAM_RAB').IsNull) and (not DataModule1.ZQuery_rabzona1.FieldByName('ELECTROMONTER' ).IsNull) and (not DataModule1.ZQuery_rabzona1.FieldByName('INGENER' ).IsNull) then with DataModule1.ZQuery_rabzona1 do begin edit; FieldByName('REGLAMENT').AsString:=FieldByName('REGLAM_RAB').AsString+' ' +FieldByName('ELECTROMONTER').AsString+' '+FieldByName('INGENER').AsString; Post; end; end; ПОМОГИТЕ ОЧЕНЬ НУЖНА ПОМОЩЬ! |
#11
|
||||
|
||||
делай это (AsString:=) в событии BeforePost
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Andrew_MSK (06.03.2012)
|
#12
|
|||
|
|||
Цитата:
вообще я правильно делаю? у меня значения в DBGrid выводятся через dataset ZQuery1.sql.text:= select * from tbl dbedit тоже соединены через dataset и Zqurery1 уже с дургим sql.text также используется в программе бля поиска и вывода значений в репорт.... |
#13
|
|||
|
|||
не знаю будет ли полезно указанное выше дополнение...
Код:
делай это (AsString:=) в событии BeforePost |
#14
|
|||
|
|||
Цитата:
спасибо большое заработало! АВЕ Вам!!!!! осталось сделать, чтобы данные добавлялись к существующим сведениям... пока не могу придумать как это сделать!((( сейчас данные беруться из той же таблицы... |
#15
|
||||
|
||||
BeforePost это событие у TDataSet, происходит когда данные записываются в набор данных после редактирования - самое то чтобы обновить вычисляемые вручную поля.
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Andrew_MSK (06.03.2012)
|