PDA

View Full Version : CrosTab Query در اکسس پروجکت



Fazaeli
شنبه 14 مرداد 1385, 06:40 صبح
دوستان سلام یک tableدارم با سه فیلد- نام مدرسه ،نام درس وتعداد دوست دارنده درس مثلاً در مدرسه محمدی درس زبان را 20 نفر دوست دارند میخواهم گزارشی درست کنم بصورت جدول متقاطع که نام مدرسه ستون عمودی(از بالا به پائین)ونام درس ستون افقی(از چپ به راست)و تعداد دوست دارنده درس تقاطع آنها باشد.
باتشکر
ماشاالله فضائلی

Fazaeli
شنبه 14 مرداد 1385, 11:29 صبح
کسی جواب سئوال من و نمی دونه

سنبله کار
شنبه 14 مرداد 1385, 11:41 صبح
از ویزارد crosstab استفاده کنید

mmha_85
شنبه 14 مرداد 1385, 11:41 صبح
دوست عزیز راه ایجاد این گزارش شما استفاده از نوعی کوئیری به نام کراس تب کوئری هستش. اگر تا بحال باهاش کار نکردین اکسس راهنمای خوبی در این مورد داره.
اگر هم خواستین براتون ساختارش رو تا اونجایی که بلدم توضیح میدم.

moustafa
شنبه 14 مرداد 1385, 17:51 عصر
درابجکت فرم
pivot table wizard
امکانات و تنوع بیشتردارد
گزارش کورستپ از کوئری اولا باید زیر جمعها را خودت دستی بذاری
اگر یه فیلد خالی باشه گزارش اجرا نمیشه و..................
واقعا از امکانات فوق العاده وسریع اکسس که خیلی بدرد میخوره

Fazaeli
یک شنبه 15 مرداد 1385, 14:44 عصر
آیا در اکسس پراجکت هم همچنین امکاناتی وجود دارد(crosstab)اگر هست بیشتر راهنمائی فرمایید

سنبله کار
یک شنبه 15 مرداد 1385, 15:03 عصر
نه متاسفانه نیست اونجا باید یک کمی کد نویسی SQL server انجام بدید .
یا اینکه از پیشنهاد دوستم مصطفی استفاده کنید یعنی :pivot table wizard

Fazaeli
یک شنبه 15 مرداد 1385, 15:07 عصر
نمیدونم Codeاونو باید در اینجا بپرسم یا بخش SQLلطفاً تا جای امکان راهنمائی فرمایید.

سنبله کار
یک شنبه 15 مرداد 1385, 15:16 عصر
در هر دو بهتره چون با داشتن چند راه حل بهتر به نتیجه میرسید .

Fazaeli
یک شنبه 15 مرداد 1385, 16:39 عصر
پس روش اس کیو ال آن رو برایم می گویید؟؟؟؟؟!!!!!

سنبله کار
یک شنبه 15 مرداد 1385, 16:59 عصر
چشم بزودی براتون می نویسیم

Fazaeli
یک شنبه 15 مرداد 1385, 17:25 عصر
لطفاً زودتر ممنون

moustafa
سه شنبه 17 مرداد 1385, 08:49 صبح
یه پرسجوی corsstab بساز
در نمای طرحی view/sqlview
دستورات را کپی کن
در محیط اس کیو ال شبیه سازی کن
ولی در گزارشات دچار مشکل میشی
حالا چرا از فرم استفاده نمیکنی که هم گزارش و هم پرسجو با انعطاف بیشتر یه جا در اختیارتء
حتی نمودار هم داره
پس این امکانات کی بدرد میخوره ؟

Fazaeli
چهارشنبه 18 مرداد 1385, 00:08 صبح
آقا من هرکاری کردم نتونستم در SQLشبیه سازی کنم لطفاً یک کمکی بکنید

sarami
چهارشنبه 18 مرداد 1385, 01:16 صبح
CREATE PROCEDURE sp_crosstab
@select varchar(8000),
@sumfunc varchar(100),
@pivot varchar(100),
@table varchar(100)
AS

DECLARE @sql varchar(8000), @delim varchar(1)
SET NOCOUNT ON
SET ANSI_WARNINGS OFF

EXEC ('SELECT ' + @pivot + ' AS pivot INTO ##pivot FROM ' + @table + ' WHERE 1=2')
EXEC ('INSERT INTO ##pivot SELECT DISTINCT ' + @pivot + ' FROM ' + @table + ' WHERE '
+ @pivot + ' Is Not Null')

SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' )

SELECT @delim=CASE Sign( CharIndex('char', data_type)+CharIndex('date', data_type) )
WHEN 0 THEN '' ELSE '''' END
FROM tempdb.information_schema.columns
WHERE table_name='##pivot' AND column_name='pivot'

SELECT @sql=@sql + '''' + convert(varchar(100), pivot) + ''' = ' +
stuff(@sumfunc,charindex( '(', @sumfunc )+1, 0, ' CASE ' + @pivot + ' WHEN '
+ @delim + convert(varchar(100), pivot) + @delim + ' THEN ' ) + ', ' FROM ##pivot

DROP TABLE ##pivot

SELECT @sql=left(@sql, len(@sql)-1)
SELECT @select=stuff(@select, charindex(' FROM ', @select)+1, 0, ', ' + @sql + ' ')

EXEC (@select)
SET ANSI_WARNINGS ON


GO

سنبله کار
چهارشنبه 18 مرداد 1385, 08:35 صبح
دست آقای صارمی درد نکنه که کار ایشونو راه انداخت

Fazaeli
دوشنبه 20 شهریور 1385, 17:42 عصر
درباره کراس تب در بانک اکسس توسط دوستان در تاپیکهای قبلی اطلاعات خوبی بدست آوردم ولی در اس کیو ال چیزی متوجه نشدم یک SP توسط سارمی عزیز دیدم ولی چون اطلاعات دقیقی درباره این نوع SP ندارم متاسفانه چیزی نفهمیدم من sp هایی رادیدم که تیبل سازی آپدیت و.....میکنند ولی از این نوع که پارامتر میخواهد برام جدید فکر کنم دوستانی که با اکسس پروجکت کار میکنند لازمشون بشه میخوام بدونم آیا میشه فقط حالت کراس تب ویو شود (توسط ویوها) اگه میشه کدشو ممکنه بنویسیدو بعد در باره SP ها در اکسس پروجکت اطلاعات دقیقی میخواهم.
مرسی
م فضائلی

sarami
دوشنبه 20 شهریور 1385, 20:48 عصر
مباحث مربوط به SQL رو در بخش مربوطه مطرح کنین با وجود اساتید بزرگواری همانند آقای ثباتی مطمئنا مشکلات شما و دیگر دوستان سریعتر و پر بار تر حل خواهد شد. در پایان دوست عزیز آقای Fazaeli شما که کم کم دارین تو این بخش جزو قدیمی ها میشین ارسال تاپیک تکراری باعث پراکندگی موضوع خواهد شد خواهشا در صورت موجود نبودن عنوان مورد نظر نسبت به ایجاد تاپیک جدید اقدام نمائید.البته من تاپیک شما رو با تاپیک قدیمی تری که در این مورد موجود بود پیوند زدم تا ادامه بحث رو از این تاپیک پیگیری نمائید...