نمایش نتایج 1 تا 6 از 6

نام تاپیک: پردازش ثانویه رو حاصل select یک view

  1. #1

    پردازش ثانویه رو حاصل select یک view

    در برنامه بعد از زدن select رو یک view می خواهیم در حاصل یک پردازش انجام دهیم
    مثلا در ستون سوم که از نوع رشته تحت داس است با یک تابع به رشته تحت ویندوز تبدیل کنیم
    یعنی ستون سوم را ردیف به ردیف خوانده و مقدار جدید درج کنیم توجه کنید ستون سوم ویو یک ستون صریح در یک جدول نیست مثلا ترکیب سه ستون
    نام + نام خانوادگی + آدرس
    است
    که این عملیات در هیچ کجا تاثیری نگذارد و فقط به کویک ریپورت جهت نمایش ارسال شود
    اما فیلدهایی که صریح نیستند را قابل ویرایش نمی باشند چه کنم ؟

  2. #2
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    فکر کنم منظورت این است.
    من یک Table با دوتا فیلد A , B ساختم

    SELECT A , B
    FROM Table1

    حالا A و B را بها هم جمع می کنم و یک فیلد با نام C می سازم.

    SELECT A + B as C
    FROM Table1

    حالا مقدار A و B را با هم جمع کرده وسه رقم سه رقم با تابع InsertCommaاز هم جدا می کنم و در C می ریزم.

    SELECT InsertComma(A + B) AS c
    FROM Table1

    تابع InsertComma در SQLServer نوشته ام.
    حالا به جای تابع InsertComma تابع ودت را قرار بده.

  3. #3
    با تشکر شما منظور مرا متوجه نشدید من در برنامه دلفی بر اساس یک query یک ADOQuery1: را باز کرده ام



    ( ADOQuer1.sql.add(my_query
    ADOQuer1.open


    حال می خواهم
    با یک حلقه for فیلد سوم ADOQuer1 را بایک مقدار عوض میکنم تا به quic report برای چاپ
    بفرستم


    for i:= 0 to ADOQuery1.fieldcount do
    begin
    ADOQuery1.edit ;
    ADOQuery1.field[3]:=DosToWin(ADOQuery1.field[3]) ;

    end


    به اهمیت تابع DosToWinos در سطر آخر دقت کنید دقت کنید
    شما تابع InsertComma در SQLServer نوشته اید ولی من DosToWinos را در دلفی نوشته ام

    موقع اجرا erorr میدهد چون فیلد سوم فیلد ضمنی / مجازی / ... است

  4. #4
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274

    Post

    شما این کوئری را در AdoQuery بنویس
    SELECT a, b ,(a+b )AS c FROM TABLE1

    بعد با این کد تابع را روی فیلد سوم یا همان c اجرا کن
    for i:= 0 to ADOQuery1.RecordCount -1 do 
    begin
    ADOQuery1.edit ;
    ADOQuery1.field[3]:=DosToWin(ADOQuery1.field[3]) ;
    ...
    ADOQuery1.Next;
    end

  5. #5
    میتونید برای این کار از CalculatedField استفاده کنید و به راحتی این کار را انجام دهید
    برای این کار
    1- روی AdoQuery دو بار کلیک کنید و همه فیلدها را به لیست اضافه کنید
    2- یک فیلد Calculated هم اضافه کنید
    3- در رویداد OnCalculated کد محاسبه خود رو بنویسید
    نیازی به حلقه هم نیست خیلی هم مطمئن تر هست
    You never know what you can do until you try

  6. #6
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    در رویداد GetText مربوط به فیلد هم می توانی بنویسی.

تاپیک های مشابه

  1. خروجی یهview براساس جدول مرتب شده(مهمه)
    نوشته شده توسط maryam_jamshid در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: چهارشنبه 09 آبان 1386, 07:40 صبح
  2. PDF VIEW را جهت مشاهده صفحات PDF نیاز دارم
    نوشته شده توسط BPROD_ASLANI در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 5
    آخرین پست: دوشنبه 12 شهریور 1386, 14:38 عصر
  3. کار با View ها
    نوشته شده توسط mahak_f در بخش SQL Server
    پاسخ: 9
    آخرین پست: سه شنبه 12 دی 1385, 12:51 عصر
  4. ایجاد یک فیلد ردیف در select از view
    نوشته شده توسط arya در بخش SQL Server
    پاسخ: 5
    آخرین پست: یک شنبه 18 تیر 1385, 23:17 عصر
  5. view
    نوشته شده توسط RASAM در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 20 مهر 1384, 11:45 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •