PDA

View Full Version : ACCESS PROJECT



ITST-1
دوشنبه 01 اسفند 1384, 14:20 عصر
دوستان با سلام

من چگونه می توانم در ACCESS PROJECT اطلاعات را از یک فرم به کوئری بفرستم مثلا چگونه می توان
از طریق فرم محدوده یک تاریخ را به دست آورد برای استفاده در گزارش

ITST-1
دوشنبه 01 اسفند 1384, 14:39 عصر
با سلام

ولی وقتی از []استفاده می کنم ERROR می گیرد
در ACCESS می نوشتم [FORMS]![FORMNAME]![TEXT1 ولی در اکسس پروجکت نمتونم

شاپرک جان مثله همیشه اگر کمک کنی مننون می شم
امیدوارم همیشه موفق باشی

ykm145
دوشنبه 01 اسفند 1384, 21:44 عصر
از داخل خود کوئری با پیشوند @ استفاده میشه مثلا a@(درکوئری باید نوع دوم stor..انتخاب بشه )
ولی از داخل فرم نتوانستم پیدا کنم حتی این سوال در بخش اس کیو ال مطرح شده بود که بی جواب مانده
این اکسس هر چقدر هم که ساده باشه وپرسرعت چون کمتر مورد توجه قرار گرفته وکمتر کسی بصورت حرفه ای با ان
کار کرده بنابراین بسیاری از سوالات ادم بی جواب میمونه بنظر اگر کسی می خواهد از اس کیو ال استفاده کنه بهتر بره vb.net کار کنه که تاهم چند منظوره باشه وهم هر جا به مشکلی بر بخورهستد افراد ومنابع زیادی که جوابش را بدندتا انجاکه من جستجو کردم مثل اینکه کد نویسی دران کمتر
با این حال دوستان اگه میدانند ما راهم بی نصیب نذارند

شاپرک
سه شنبه 02 اسفند 1384, 09:14 صبح
خوب ykm145 درست گفتن
با @ میشه اینکار رو کرد
راستی تو Northwind هم نمونه اش هست

اینجوری بود :
BETWEEN @Beginning_Date AND @Ending_Date

ITST-1
سه شنبه 02 اسفند 1384, 12:04 عصر
شاپرک مرسی از همکاری شما

من می خوام برای کوئری ام فرمی طراحی کنم که کاربر از طریق آن فرم اطلاعات را به کوئری بفرستد اگر این را بگوئید مننون می شم. مانند اکسس در اکسس پروجکت چگونه است من northwind را دیدم ولی اون چیزی که من می خواستم نبود.

با تشکر از شما

شاپرک
سه شنبه 02 اسفند 1384, 13:47 عصر
این Query رو در Northwind ببین :
Sales by Year

ITST-1
سه شنبه 02 اسفند 1384, 14:37 عصر
شاپرک جان من از شما بسیار متشکرم ولی باز هم من نتوانستم منظورم را خوب بیان کنم

من می خوام اطلاعات این کوئری از درون یک فرم کاربر آنرا وارد کند چون فکر می کنک زیبا تر است
در واقع می خوام یک فرم داشته باشم که درون آن دو ت تکست باکس باشه و یک دکمه اجرا که کاربر مثلا محدوده تاریخ را در آن دو تکست باکس وارد کند و با زدن دکمه اجرا کوئری اجرا شود.امیدوارم توانسته باشم منظورم را بیان کنم
از حمات شما سپاسگزارم

شاپرک
چهارشنبه 03 اسفند 1384, 07:13 صبح
فرم Sales by Year Dialog تو Northwind مربوط به Access Project رو ببینید خواهش میکنم با دقت ببینید من منظورتون رو درست فهمیدم دقیقا همونیه که میخواهید
Beginning_Date اسم همون تکست اول و Ending_Date دومی است

ITST-1
چهارشنبه 03 اسفند 1384, 09:04 صبح
شاپرک جان مرسی از راهنمائی شما
من اون کاری را که شما گفتید انجام دادم ولی وقتی از روی فرم دکمه اجرا را کلیک می کنم پیام now printing می آید ولی بعد پیام خطا ویژوال بیسیک می آید که microsoft access couldnot print your object اگر لطف کنی و راهنمایی بفرمایید ممنون مشم البته در کد دکمه اجرا دستور docmd.opereport را می نویسم
با تشکر

ITST-1
چهارشنبه 03 اسفند 1384, 09:29 صبح
شاپرک جان مشکل بالا حل شد
اما یک سئوال دیگر من که دکمه اجرا را کلیک می کنم عملیات ارسال پرینت انجام می شود اما باز کادر دریافت اطلاعات که مربوط به کوئری است باز می شود در صورتی که من می خواهم ای اطلاعات از طریق فرم وارد شود و با زدن دکمه اجرا گزارش نمایش داده شود

مرسیییییییی از شما

شاپرک
چهارشنبه 03 اسفند 1384, 12:36 عصر
Text1 ,Text2 رو روی فرم ایجاد کن

تو Query در قسمت Criteria مربوط به تاریخ بنویس :
BETWEEN @Text1 AND @Text2

ITST-1
چهارشنبه 03 اسفند 1384, 13:06 عصر
سلام
این کار را کردم ولی فرم و کادر کوئری با هم باز می شوند و اطلاعات را از کادر کوئری می گیرد
مرسی از شما اگر پاسخ دهید مننون می شم که مشکل ممکنه از کجا باشه

moustafa
جمعه 05 اسفند 1384, 10:29 صبح
اول یک کوئری ازنوع StoredProcedure باپارامتر مثلا a@ بساز
گزارشت به کوئری فوق ست کن
در properties گزارش قسمت dataخاصیت input parameters قرار بده:
[a=[forms]![f]![t0@
اگر چند پارامتر داشتی بهمین صورت عمل کن منتها با کاما انها راهم جدا کن (اگه با کاما جواب نداد از سیمیکالون استفاده کن )
[a=[forms]![f]![t0],@b=[forms]![f]![t0

ITST-1
یک شنبه 07 اسفند 1384, 07:56 صبح
با سلام

من این کار را کردم که شما گفتید ولی جواب نداد چگونه این اطلاعات از فرم به کوئری پاس داده می شود و با کلیک کردن بر روی دکمهای که در فرم است گزارش ساخته شده نمایش داده شود
از کمک شما ممنون هستم . به نظر من ای تنظیماتی را که که شما فرمودید بر روی فرم چگونه اطلاعات را به کوئری می فرستد

moustafa
یک شنبه 07 اسفند 1384, 10:12 صبح
معذرت می خوام به این طریق اصلاح کن
در properties گزارش قسمت dataخاصیت input parameters قرار بده
بقیه همان می باشد

ITST-1
یک شنبه 07 اسفند 1384, 10:22 صبح
مصطفی مرسی از کمک شما
ولی باز یک مشکلی وجود دارد من می خوام وقتی روی گزارش کلیک کنم یک فرم باز شود

نه باکس مربوط به کوئری. و وقتی که فرم باز شد اطلاعات را وارد کنم و با زدن دکمه مثلا اجرا گزلرش مربوطه نمایش داده شود

moustafa
یک شنبه 07 اسفند 1384, 22:19 عصر
خوب پارامتر را داری از فرم برمیداری (forms!f1!t0)
شما یه فرم داری با دو تکس باکس و یک باتن پس ازورود مقدار در تکس باکسها و کلیک روی باتن گزارش به نمایش در می اید منتها در خاصیت inputparameter گزارش همانطور که گفتم عمل کن

فایل نمونه را گذاشتم یه نگاه بنداز

ITST-1
دوشنبه 08 اسفند 1384, 10:53 صبح
مصطفی جان

مرسی از زحماتی که کشیدی
ممنون

mohammadgij
دوشنبه 22 اسفند 1384, 14:16 عصر
اگه می خواین از توی فرم متغیر هاتونو پاس بدین اول باید به جای View از گزینه Stored Procedure استفاده کنید
که به ازای هر متغیر باید قبل از اون @ رو بذارید.
برای ورودی ها
اول در فرمتون یه متغیر تعریف میکنید
Dim adocmdObject As New ADODB.Command
دقت کنید که حتما باید Object از نوع Command باشه
سپس از دستورات زیر برای متغیر هاتون در فرم استفاده می کنید
Set adocmdObject.ActiveConnection = CurrentProject.Connection
adocmdObject.CommandText = "نام Stored Procedure"
adocmdObject.CommandType = adCmdStoredProc
adocmdObject.Parameters.Append adocmdObject.CreateParameter("نام پارامتر در پروسیجر بدون @", DataType, adParamInput, length, مقدار ورودی)

به تعداد مقادیر ورودی دستور خط فوق را می نویسید و پس از آن

adocmdObject.Execute
Set adocmdObject=Nothing
اگر می خواهید که جواب را در یک رکورد ست ذخیره نمایید به جای خط بالا می نویسید

Set adorstSelect= adocmdObject.Execute
Set adocmdObject=Nothing

ITST-1
دوشنبه 22 اسفند 1384, 16:40 عصر
با سلام
این کد را در کدم قسمت کد بنویسم

Sheerkoshan
یک شنبه 03 اردیبهشت 1385, 17:29 عصر
آقا شما رو به خدا یکم ساده تر توضیح بدید
توی کوری اکسس با تعریف [forms]![myform]![mycombo] خیلی راحت کوری رو وادار می کردیم با شرایط ما اجرا بشه .
حالا توی اکسس پروجکت واقعا گیج شدم . نمی خوام شرط رو به گزارش بفرستم که کد دوستامون رو اعمال کنم . میخوام خود کوری طبق شرط من توی mycombo اجرا بشه همین . لطفا یکی ساده بگه چه تغییری توی ( [forms]![myform]![mycombo]) باید بدم تا توی اکسس پروجکت کار کنه .

Mahsa Hatefi
دوشنبه 04 اردیبهشت 1385, 22:18 عصر
شما رو به خدا منم تو این قضیه مشکل دارم . یکی واضح توضیح بده اولا شرطی که به قول دوستمون توی اکسس (توی قسمت criteria) مربوط به کوری می نوشتیم : [forms]![myform]![mycombo]

تا شرطی از داخل فرم اعمال بشه حالا توی Access Project این عبارت چه تغییری بکنه ؟
من برای اصلاح اطلاعات وارد شده توی برنامه هام یه کوری می ساختم با یه همچین شرطی که بالا ذکر شد وقبل از اجرای کوری فرمی بود که توی کومبو شرط را می دادم . اما حالا توی اکسس پروجکت نمی دونم چرا عمل نمی کنه همه ی کارایی که گفته شده بود هم تست کردم . شما رو به خدا یکی بگه اشتباهم کجاست ؟ ممنون

شاپرک
سه شنبه 05 اردیبهشت 1385, 09:56 صبح
لطفا یه نگاهی به گزارش Sales By Year نمونه (NorthWind CS) بندازید .

moustafa
سه شنبه 05 اردیبهشت 1385, 14:06 عصر
StoredProcedure پارامتر از فرم نمیگیره بیخودی سعی نکنید اگر میخواهید گزارشاتون از طریق پارامترهای فرم کارکنه از روشی که گفتم استفاده کنید وجواب هم میده
اگر میخواهید از کد نویسی استفاده کنید:

docmd.RunSql("select from table1="&forms!form1!mycommbo1)

mohammadgij
سه شنبه 05 اردیبهشت 1385, 14:17 عصر
آقا والا بالله از فرم می شه پارامتر داد به Stored Procedure چرا می گی نمی شه؟
والا اگه ما داریم با اکسس پروجکت کار می کنیم که می تونیم پارامتر بدیم. من حس خوندن این 3 صفحه رو نداشتم که کامل جواب بدم.
شما میای یه متغیر از نوع Command تعریف می کنی
به ترتیب Connection و Name و متغیر هاتو پاس میدی در آخر هم Execute می کنی
اگه خواستی جواب رو توی یه Recordset میای Execute می کنی و می تونی اونو توی Combo Box بریزی

Mahsa Hatefi
سه شنبه 05 اردیبهشت 1385, 14:32 عصر
آقای mohammadgij عزیز از راهنماییتون واقعا متشکرم . ما تازه کار با اکسس پروجکتو شروع کردیم و متاسفانه صفرکیلومتریم . شما لطف بفرمایید طوری توضیح بدید که برای ما قابل درک باشه ممنون میشم .
همونطور که قبلا ذکر کردم من مثلا بعد از ثبت مشخصات یک فرد (مثلا فرداش) مجبور به اصلاح مشخصات می شدم . توی اکسس معمولی می یومدم یه کوری از مشخصات ثبت شده می ساختم و مثلا کد شناسایی (یونیک) فرد رو در قسمت criteria به فرمی نسبت می دادم و توی فرم از کاربر می خواستم کد فردی رو که می خواهد مشخصات را اصلاح کند وارد کنه . و با زدن دگمه ای فرم با شرط داده شده باز می شد یعنی فقط رکوردی که کاربر خواسته .به همین راحتی .
اما حالا توی اکسس پروجکت دقیقا این کار چطوری باید صورت بگیره . اگر روش بهتر و ساده ای برام لطف کنید ذکر کنید واقعا ممنون می شم و محبت شما رو هرگز فراموش نمی کنم . فراموش نفرمایید من توی sql صفرم . ممنون

mohammadgij
سه شنبه 05 اردیبهشت 1385, 15:34 عصر
دوستان من یه فایل میذارم براتون
توش یه PleaseRunWithQueryAnalizer.sql فایل هست. اول Query Analizer رو اجرا کنید و این فایل رو اجرا کنید دقت کنید که این فایل رو توی DataBase خودتون اجرا کنید.
یعنی قبل از اجرا از Combo Box ای که در بالا قرار داره نام Datebase خودتون رو انتخاب کنید و سپس کلید F5 رو بزنید. سپس فایل AdpTest رو باز کنید از منوی File گزینه Connection رو انتخاب کنید و Connection رو با سرور و پایگاه داده خودتون برقرار کنید . سپس فرم frmTest رو اجرا کنید و دکمه RowSoource رو بزنید.یبینید که اول Combo خالی بود و بعد پر میشه. من به StoredProcedure پارامتر به صورت Static پاس دادم. هم Stored Procedur رو نگاه کنید و هم On Click دکمه روی فرم.
تا یادم نرفته بگم که من زیاد خوب بلد نیستم توضیح بدم اما اگه شما فایلت رو اون قسمتی که می خوای تغییر بدی رو همرا با Script جداولت برام بذاری درستش می کنم و بعد توضیح میدم

moustafa
سه شنبه 05 اردیبهشت 1385, 20:12 عصر
آقا والا بالله از فرم می شه پارامتر داد به Stored Procedure چرا می گی نمی شه؟
والا اگه ما داریم با اکسس پروجکت کار می کنیم که می تونیم پارامتر بدیم. من حس خوندن این 3 صفحه رو نداشتم که کامل جواب بدم.
دوستان میخواهند کوئری مستقیم اجرا بشه نه فرم یا گزارشات وابسته انهم به شکل forms!form1!mycommbo1 مثل اکسس معمولی
بدون کد نویسی یا اعمال شرایط خاص بهر حال برای تازه کارانی مثل من یکم سخت !

والا برای گزارشات یا فرمهای وابسته من طریقه ارسال پارامتر را شرح دادم

این بحث داره داغ میشه و طرفداران زیادی پیدا کرده خوشحال میشم از تجربیات جنابعالی درتاپیکهای اموزشی استفاده کنیم

شاپرک
چهارشنبه 06 اردیبهشت 1385, 06:29 صبح
جواب آقای Moustafa رو منم امتحان کردم درست بود :
http://www.barnamenevis.org/forum/showthread.php?t=44165

تو رو خدا دیگه اینقدر پیچیدش نکنید . همه گیج شدن

mohammadgij
چهارشنبه 06 اردیبهشت 1385, 13:20 عصر
بله اونم کار میده

moustafa
چهارشنبه 06 اردیبهشت 1385, 13:35 عصر
خود اموز جامع Access 2003 از انتشارات اریا پژوه با ترجمه سید امیر حسین رضوی -مهندس ملیحه دهقان - معصومه حزین
بهمراه سی دی به قیمت 8900 تومان
در چهار فصل مطالبی را به اکسس پروجکت اختصاص داده

Mahsa Hatefi
شنبه 09 اردیبهشت 1385, 16:54 عصر
آقا این کیسی که آقای Mohammadgij لطف کرده بودند رو این فروم گذاشته بودند رو نتونستم استفاده کنم . از ایشون تمنا دارم یکم واضحتر و با توضیح بیشتر لطفشون رو بیشتر کنن و اولا بفرماین queryAnalyzer........... و ..... رو چطوری اجرا کنیم . دوم اینکه من همونطور که توی صفحه قبل گفته بودم می خوام یه کوری که یه نفر رو از توی جدولم فیلتر کرده مشخصاتشو بیاره توی فرم B اما میخوام ابتدا کد اون فرد , اول توسط کاربر با فرمA به اون کوری بفرسته , کوری اجرا بشه و فرد فیلتر شده توی فرم B بیاد . نمی خوام گزارشی رو باز کنم بلکه می خوام فرمی رو باز کنم . دادن پارامتر توی storedProcedure و تعیین آن پارامتر در input parameter مربوط به فرم برای گزارش کار داد . اما برای فرم ابتدا اون فرم Enter Parameter Value باز میشه و بعد کلیک OK فرمی که آدرس داددم باز می شه عیب کجاست ؟
خواهش دارم کمکم کنید حیاتیه .....
واقعا ممنون می شم

شاپرک
یک شنبه 10 اردیبهشت 1385, 06:17 صبح
اگه دقت می کردید نمونه اش رو من گذاشته بودم لطفا دقت کنید

http://www.barnamenevis.org/forum/showthread.php?t=44165

mohammadgij
یک شنبه 10 اردیبهشت 1385, 16:15 عصر
[QUOTE=]ضمن تشکر و عذرخواهی
با عرض معذرت فایلی که گذاشته بودید توی فروم در ارتباط با ارسال پارامتر از طریق فرم رو نتونستم استفاده کنم
از اینکه مزاحمت ایجاد می کنم واقعا ببخشید . ولی واقعا توی مسئله باز شدن یه فرم با پارمترهای داده شده از توی یه فرم دیگه مشکل دارم . و گیر کردم (توی اکسس پروجکت). فرض کن از توی فرمی اطلاعاتی رو وارد یه جدول کردیم و بعدها می خوایم اصلاحاتی انجام بدیم . خوب بهترین کار چیه ؟ . توی اکسس معمولی من یه کوری می ساختم و برای فیلدی (با کد مخصوص ) توی criteria اون فیلد آدرس فرمی رو می دادم تا کاربر کد مورد نظر رو وارد کنه و مطابق اون فرم اصلاح باز می شد . حالا این عمل رو توی اکسس پروجکت چطوری باید انجام بدم ؟
واقعا ممنون می شم اگه با یه نمونه برام توضیح بدی
در ضمن یه سوال دیگه
وقتی یه فایل adp رو از انترنت میگیری یا از سیستم خودت به جایی منتقل می کنی چرا جداول و کوری ها مشخص نیستند . موقع انتقال آیا باید بانکsql رو هم همراه اون منتقل کرد ؟
بازم تشکر می کنم .



اول یه فرم بساز که Bound کن به جدولی که می خوای رکوردش و اصلاح کنی.
سپس از توی یه فرم دیگه بذار شروطی که اون فیلدت رو باش پیدا می کنی(Ceriteria) رو با استفاده از TextBox Or ComboBox ها انتخاب کن و بای ه دکمه که On Click اش نوشتی
DoCmd.OpenForm "frmTest", , , "fieldTest=" & Me.txtFieldTest.Value & ""
فرم اول رو باز کن.
فرم اول RecordSource اش باید به جدولت که می خوای Update کنی وصل بشه بدون هیچ شرطی. این دکمه هم وقتی فرم اول رو Open می کنه ، میتونی چندین شرط بذاری ، با توجه به شرایط باز می کنه. هر کدوم از ( ", ") رو بعد از دستور OpenForm بزن و ببین که در مرحله ای که من نوشتم
"fieldTest=" & Me.txtFieldTest.Value & ""
یعنی Where Criteria باشرط یا شروطی فرم رو باز می کنه.
fieldTest باید رد جدولت باشه و منظور از Me.txtFieldTest.Value هم فیلدی که از روی فرم دوم پر میشه تا شرط رو بخونیم. همون کاری که توی Query می کردی و آدرس فرم رو میدادی. Ok?
اما در مورد سوال دومت باید بگم که آره حتما باید از Sql یعنی Database ای که توی Sql داری حتما یک Backup بگیری. بعد در مقصد هم Sql نصب کنی و این Backup رو Restore کنی. باید دقت کنی که User & Password هم باید در مقصد مطابق مبدا تعریف شه.

Mahsa Hatefi
یک شنبه 10 اردیبهشت 1385, 17:09 عصر
دوست عزیز جناب Mohammadgij واقعا متشکرم مشکلم حل شد . برای شما آرزوی سربلندی دارم