घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "मामले";
वर्तमान संग्रह: 2004.10.03;
डाउनलोड करें: [xml.tar.bz2];

नीचे

ग्रिड में, दो या अधिक क्षेत्रों की गणना। इसी तरह की शाखाएँ खोजें


Павел   (2004-09-02 10:08) [0]

Хочу в Гриде выполнить обыкновенную операцию по редактированию поля, чтобы в этот момент пересчитывались другие поля
मैं कोड लिख रहा हूँ
प्रक्रिया TForm1.DBGrid1KeyDown (प्रेषक: Tobject; var कुंजी: शब्द;
पारी: TShiftState);
var tup1,tup2: integer;
शुरू करना
if dbgrid1.SelectedField.FieldName="posl_god" then
शुरू करना
    tup1:=Query2.FieldByName("posl_god").asinteger;
    tup2:=Query2.FieldByName("sled_god").asinteger;
    tup1:=tup1+tup2;
    Query2.FieldByName("posl_god").asinteger:=tup1;
अंत

अंत;

एक त्रुटि फेंकता है।
डेटासेट एडिट या इंसर्ट मोड में नहीं

क्या बात है?



Алхимик ©   (2004-09-02 10:19) [1]

В том, что набор данных не находится в режиме редактирования.



Rule ©   (2004-09-02 10:30) [2]

Координально неправильный подход, зачем в базе хранить избыточные данные, в данном случае данные которые можно подсчитать на основе других полей, а в общем непонятен смысл данного подхода, объясни что ты хочешь сделать ?



Павел   (2004-09-02 10:33) [3]

хочу в момент редактирования одного поля, чтобы вёлся обсчёт других полей, именно этой строки...
टाइप
поле1 = поле 2 + поле3
но чтоб именно при вводе данных это происходило т.е. в моменнт обращения к конкретному полю.



Rule ©   (2004-09-02 10:40) [4]

тогда тебе надо сделать CalculatedField  и в обработчике событий твоего тейбла или квери OnCalculate  написать такой вот код
Table1.fieldByName("Field1").asInteger:=Table1.fieldByName("Field2").asInteger+Table1.fieldByName("Field3").asInteger;

соответсвенно посту 3, и тогда у тебя будет поле, которое будет автоматически считаться и хранить его в базе не надо и изменить нельзя (так как тогда изменится смысл его сущности, тоесть то что он является суммой) и всегда будет тебе показывать правильную сумму и не надо будет заботится о его правильности и ломать голову когда его менять надо в одном гриде или в другом или ещё где ...



Павел   (2004-09-02 10:46) [5]

так мне в том то и дело надо, чтобы всё-таки, хранилось значение в поле БД, после обсчёта



Ega23 ©   (2004-09-02 10:47) [6]

पॉल (02.09.04 10: 46) [5]
ЗАЧЕМ????? Если у тебя есть 2 поля в базе, то третье ты ВСЕГДА сможешь вычислить!



Павел   (2004-09-02 11:24) [7]

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



Sergey13 ©   (2004-09-02 11:26) [8]

2[7] Павел   (02.09.04 11:24)
И ты правда пишешь для MS SQL?



Алхимик ©   (2004-09-02 11:29) [9]


> [7] Павел   (02.09.04 11:24)
> мне третье поле нужно для того, чтобы потом вести выборку
> по нём в другой задаче.

А кто в другой задаче мешает вычислить это поле?



Павел   (2004-09-02 11:31) [10]

हाँ ...
пишу для MS SQL
Не пойму только какая проблема вычислить сумму/произведение и т.д. нескольких полей в момент редактирования определённого поля и занесения значения в другое поле. Мне нужно чтобы хранилось там значение.



Sergey13 ©   (2004-09-02 11:36) [11]

2[10] Павел   (02.09.04 11:31)
>Не пойму только какая проблема
Проблем нет. Надо.
1.Подумать стОит ли? (все таки)
2.Выбрать правильное событие
3.Правильно написать.

Если с 1 ты упорствуешь, то сделай правильно 2 и 3.
2.БифоПост
3.Едит добавь



Rule ©   (2004-09-02 11:44) [12]

Сразу говорю, это неправильно координально, ты не понимаешь сути, зачем хранить избыточную информацию, если третье поле несет в себе смысл суммы первого и второго и существует визически, то еслия я залезу и руками подправлю там значение то все завалится, значение не будет соответствовать истине, бред получается а при построении запроса всегда можно в самом запросе и подсчтитать сумму и разность и произвденеи и среднее значени и все что тебе надо,
не упорствуй я тебе говорю а лучше почитай про принципы организации БД, про самые основы, иначе потом столко подводных камне будет что караул, а ты даже не будешь понимать в чем же ты виноват



-SeM-   (2004-09-02 12:02) [13]

А в MSSQL calculated поля есть?
Если есть и очень хочется можно через них.



Rule ©   (2004-09-02 12:14) [14]

Интересный факт, тема звучит вот так
В Grid обсчёт двух полей и более
сразу поправка, GRID  служит тольео для визуализации, внем счиать ничего не надо .. считать надо в датасете



पन्ने: 1 पूरी शाखा

फोरम: "मामले";
वर्तमान संग्रह: 2004.10.03;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.6 एमबी
समय: 0.061 c
1-1095349984
jenbond
2004-09-16 19:53
2004.10.03
गर्भपात चक्र चलाना


8-1089107085
aplay
2004-07-06 13:44
2004.10.03
ज़ूम इन और आउट करें


14-1095385238
Dumkin
2004-09-17 05:40
2004.10.03
आपको जन्मदिन की शुभकामनाएं! 17 सितंबर


1-1095320178
क्रे
2004-09-16 11:36
2004.10.03
TcxDBTreeList - ColumnAutoWidth के साथ समस्या


8-1089658984
DimDim
2004-07-12 23:03
2004.10.03
Картинки в FastReport





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский