PDA

View Full Version : اضافه کردن فیلد در query



sajadvahedi
یک شنبه 01 آذر 1388, 13:38 عصر
سلام دوستان خسته نباشید.
من یک Query نوشتم که دو جدولو با هم join میکنه حالا می خوام یه فیلد جدیدی رو به این Query اضافه کنم و می خوام این فیلد از نوع auto number باشه.
چطوری این کارو کنم؟
ممنون میشم کمکم کنید.

حسین شهریاری
یک شنبه 01 آذر 1388, 13:57 عصر
سلام

من درست متوجه نشدم ولی احساس میکنم شما میخاین یه فیلدی مثل ردیف داشته باشید درسته؟
برای این کار میتونید توی هر دیتابیسی که هستید فیلد Autonumber تعریف کنید در این صورت دیگه به صورت اتوماتیک به ازای هر رکورد یه شماره به اون رکورد اختصاص میده.

راه دیگه اینه که شما یه فیلد محاسباتی ایجاد کنید و کد زیر را در رویداد OnCalcField آن بنویسید:

Adoquery1.fieldbyname('Calc').asinteger:=Adoquery1 .RecNo

البته با کد فوق مقدار رکورد اول برابر منهای یک میشه که کد زیر را به کد بالا اضافه کنید حل میشه:

if Adoquery1.fieldbyname('Calc').asinteger<0 then
Adoquery1.fieldbyname('Calc').asinteger:=Adoquery1 .fieldbyname('Calc').asinteger*(-1)

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

موفق باشید

sajadvahedi
یک شنبه 01 آذر 1388, 17:31 عصر
دوست عزیز ممنون از راهنمایت .
چیزهای که گفته بودی در قسمت OnCalcField نوشتم اما هیچ رکوردی به query من اضافه نشد.
دوباره سوالمو مطرح می کنم .
من دوتا جدولو با هم join کردم که در هیچکدوم از دو جدول فیلدی به نام ردیف وجود نداره. حالا می خوام بعد از ادقام دو جدول فیلدی به نام ردیف در query ایجاد کنم که از نوع auto number باشه
در ضمن منظورتونو از فیلد محاسباتی نمیدونم چیه .

alinikaein
یک شنبه 01 آذر 1388, 21:16 عصر
سلام دوست عزيز؛

شما بر روي كامپوننت كوئري، دبل كليك كنيد. بعد داخل پنجره ظاهر شده، كليك راست كنيد و New Field را انتخاب كنيد. (مي‌تونيد قبلش همه فيلدها را اضافه كنيد)
اسم فيلد را انتخاب كنيد، تايپش از نوع Integer و نوعش را Calculated بذاريد.
حالا روندي كه آقا شهريار گفتند را انجام بديد. (من فكر كنم شما اين كارها را انجام نداديد).

يا علي... موفق باشيد...

حسین شهریاری
دوشنبه 02 آذر 1388, 08:56 صبح
سلام دوست عزيز؛

شما بر روي كامپوننت كوئري، دبل كليك كنيد. بعد داخل پنجره ظاهر شده، كليك راست كنيد و New Field را انتخاب كنيد. (مي‌تونيد قبلش همه فيلدها را اضافه كنيد)
اسم فيلد را انتخاب كنيد، تايپش از نوع Integer و نوعش را Calculated بذاريد.
حالا روندي كه آقا شهريار گفتند را انجام بديد. (من فكر كنم شما اين كارها را انجام نداديد).

يا علي... موفق باشيد...


بله شما درست حدس زدید.دوستمون با بحث فیلدهای محاسباتی آشنایی نداشتند.
البته ته تاپیک عرض کرده بودم "فرض کردم که شما بلد هستید"