PDA

View Full Version : counter نمودن یک فیلد جدول



ALINAMAZI
پنج شنبه 27 تیر 1387, 13:06 عصر
من چند تا جدول دارم که به همدیگر master نمودهام حالا می خواهم در جدول اولم یکی از فیلده counter شود یعنی با فشار دادن هر بار یک دکمه به مقدار قبلی فیلد یک عدد اضافه شده و در جدول ذخیره شود
با تشکر

Hsimple11
پنج شنبه 27 تیر 1387, 13:30 عصر
خب اینکار را بکنید. مشکل کجاست؟؟
مقدار قبل+1

در ویرایش جدول اشکال دارید؟

ALINAMAZI
پنج شنبه 27 تیر 1387, 13:40 عصر
خب اینکار را بکنید. مشکل کجاست؟؟
مقدار قبل+1

در ویرایش جدول اشکال دارید؟

سوالم این بود که در رویداد onclick دکمه چه دستوری بنویسم این کار انجام بگیرد

خودم با sql انجام داده ام اما باید شماره را دستی وارد کنم من میخواهم با فشاردادن دکمه به مقدار قبلی یکی اضافه شده و در جدول بانک ذخیره گردد
با تشکر ازازاز همه همه همه

Hsimple11
پنج شنبه 27 تیر 1387, 14:37 عصر
مقدار فعلی فیلد را بگیرید. و در رویداد onclick دکمه بنویسید:


Table1.Fieldbyname ('myfield').AsInteger := Table1.Fieldbyname ('myfield').AsInteger+1;

و بعد Post کنید.

میتوانید آن را در یک متغیر هم بریزید و از دستور INC استفاده کنید. Increase یک شماره به متغیر مربوطه اضافه میکند :


INC (I) = I:=I+1

ALINAMAZI
شنبه 29 تیر 1387, 09:37 صبح
ضمن تشکر از توجه شما
من این دستور اجرا کردم
کار کرد ولی هردفعه که این کلید را فشار م فقط عدد یک را وارد میکند
من میخواهم وقتی که بار اول دکمه را فشاردادم یک عدد در جدول ذخیره شد بار دوم که مجددا دکمه را فشار میدهم در رکورد دوم یک عدد بالاتر از آن (در رکورد دوم) ذخیره شود

delphiprog3000
شنبه 29 تیر 1387, 10:05 صبح
با سلام.

دوست عزیزم . دوست ما که این کد رو گذاشت کلی گفت .

شما باید یه پرس و جو یا کوری از جدولت بگیری بعد اون کد رو اضافه کنی.

مثلا من میخوام بزرگترین مقداری که وارد شده رو با یک جمع کنم به این صورت :



str1:='select * from tbluser where [id] in (select max ([id]) from tbluser)';
with Qry_tbluser do
begin
close;
sql.Text:=str1;
Open;
if not IsEmpty then
begin
txtid1.Text:=inttostr(FieldValues['id']+1);
end;
end;

موفق باشید.................