شاپرک
دوشنبه 26 دی 1384, 07:43 صبح
سئوال چرا Acess Project؟
جواب: قدرت SQLو سرعت و سهولت Access
ابتدا لازمه به معرفیAccess Project بپردازیم.متاسفانه بدلیل نداشتن اطلاعات لازم از سوی برنامه نویسان Access Project که از این به بعد برای سهولت (A_P) صداش میزنیم A_Pبه صورت گسترده مورد توجه برنامه نویسان بانک های اطلاعاتی ایران قرار نگرفته.برا همین تصمیم گرفتم که این نرم افزار رو با دوستانی که باهاش آشنا نیستند آشنا کنم.
A_P از والدین خود Access چیزهای فراوانی به ارث برده و تو زمینه مدیریت بانک اطلاعاتی تحولی اساسی پیدا کرده میشه گفت :جهش ژنی داشته....
از ضعف های گسترده ای که Accessدر زمینه مدیریت بانک های اطلاعاتی داشته دیگه خبری نیست مدونین چرا؟
چون اصطلاحاً Access این کاره نبود ترجیح داده این وظیفه رو به برنامه های مدیریت بانک های اطلاعاتی که این کاره ان بده .درست شنیدین تعجب نکنین A_P این وظیفه رو به Database Server های قوی مثل Microsoft SQL server و Oracel و …. خلاصه ODBC ها محول کرده.
A_P رو میتونین تو بسته نرم افزای Microsoft Office 2000& 2003 ملاقاتش کنین.
تقریبا میشه گفت 80% انتظارات برنامه نویسان بانک های اطلاعاتی بر آورده شده بهتره بگم مزیت A_P اینه که شما میتونین با سرعت زیاد پروژه های بزرگ نرم افزاری رو اجرا کنین فقط کافیه Acess رو بلد باشین و SQL رو شروع کنین.بقیشم همت و تمرین.
8 ساله حرفه ای تو زمینه بانک های اطلاعاتی برنامه نویسی میکنم 2 یا 3 سالم تفریحی با QW Basic بازی میکردم ولی به نظر من A_Pآخرشه.اینم نمونه کارش:
face="Tahoma, Arial, Helvetica, sans-serif">
تو این وبلاگ سعیم اینه که کسانی رو که با سیستم های مدیریت پایگاه داده دیگه مثل Microsoft Acess کار کردن و حالا می خوان A_P و SQL Server رو تجربه کنن کمک کنم هیچ منتی هم نیست من با درگیر شدن با مشکلات شما خودمم قوی تر میشم پس این به اون در..
درس (1)شروع کار:
برای شروع کار ابتدا لازمه نسبت به معرفی بعضی از اصطلاحها یه اقدامی بکنیم از کجا شروع کنیم ......
اهان . اول شناسایی کاربر به SQL_Server *** مهم
شناسایی کاربر به یه ODBCکه تو این درس SQL_Server هستش رو Attenticationمیگن.
برا شناسایی یه کاربر به SQL_Server دو روش وجود داره یه روش اینه که Windowsکاربرا رو شناسایی کنه Windows Attentication یه روشم اینه که SQLاونارو شناسایی کنه که بهش میگن SQL_Server Attentication .
(1)Windows Attentication: این روش زمانی استفاده می شه که ما داریم تو یه شبکه Domain Baseکار میکنیم .اگه نمی دونین شبکتون Domain Base هستش یا نه میتونین از مدیر شبکه تون یا به اصطلاح فرنگیا Network Administratorبپرسین.داشتیم میگفتیم توWindows Attentication سروربرا شناسایی از بانک اطلاعاتی کاربرای Domain استفاده میکنه .که (Active Directory) بهش مگن .و تقریبا خودشو راحت مکنه و از یه طرفم امنیت رو بالا می بره.
یه چیزی بگم خیالتون راحت بشه از اصطلاحایی که به کار برده مشه نترسین موضوع ساده تر از این حرفهاست اینها را دارم میگم که اگه بعدا که پیش رفتین خواسیتین بفهمین مفهوم اینا چیه بتونین به این درس برگردین و ما مجبور نشیم زیاد تو درسهای بعدی متوقف بشیم چون می خواییم سریع تر بریم سره اصل مطالب.
(2)SQL_Server Attentication : یه روش دیگه هم اینه که خود SQL_Server وظیفه شناسایی رو انجام میده. این حالت رو فقط تو مواقع ای استفاده میشه که یا شبکه ای ندارین و فقط دارین با یه کامپیوتر کار میکنین و یا زمانی که شبکه شما Domain Base نیستش و Workgroup هستش .
وقتی شما سعی میکنین به SQL_Server وصل بشین یه Login ID به SQLمیفرستین در روش اول SQL از Active Directory می پرسه که آیا این کاربر تائید شده هست و اگه تائید بشه حالا SQL میبینه چه دسترسی هایی دارین(Table_View_Stor Procedure) و از چه نوعی (Read Only _ Full_Read_Wright) .
در روش دوم شما با یک User Name و یک Password که قبلا بر روی سرور تعریف کردین به SQL وصل میشین.و بقیه کارم مثل قبلیه SQL مبینه شما چه دسترسی دارین(Permission).
توجه: Microsoft پیشنهاد میکنه که حتی المقدور از روش اول استفاده کنین. میدونین به نظر من Microsoft روش نمیشه بگه روش دوم چه گندیه میگه حتی المقدور.
فکر کنم برا درس اول بس باشه فرادا با Aceess Project به SQL _ Server وصل میشیم و اسمشو می ذاریم درس دو.موافقین.......
درس 2 :طریقه اتصال از Access Project به SQL_Server
برای وصل شدن به SQL_Server از طریق Access Project ابتدا باید هر دوتا نرم افزار رو Install کرده باشیم .
حالا میریم داخل محیط A_P و منوی File\New رو می زنیم گوشه سمت راست Screen (صفحه پیش رو) روی Project Using New Database رو کلیک میکنیم A_P از ما مسیری از Hard Disk رو که باید فایلش رو اونجا Save کنه رو می پرسه.
بلا فاصله بعد از تائید محل ذخیره A_P یک فرم Wizard به اسم Microsoft SQL Server Wizard را براتون باز میکنه که نام بانک اطلاعاتی و طریقه وصل شدن به اون (رجوع به درس 1) رو از شما میپرسه.
مانند شکل ذیل:
توجه : بانک اطلاعاتی بر روی SQL_Server ایجاد میشه.
به شما تبریک میگم بانک اطلاعاتی تون رو ساختین.
حالا برا اینکه چند تا نمونه کار هم دیده با شین می تونین به بانک اطلاعاتی Northwindهمیشه همراه SQL_Server هستش مراجعه کنین برا این کار منوی File\Connection رو بزنین و مطابق شکل همه چی رو میزون کنین بغیر از Server Name که شما باید نام SQL_Server خودتون رو وارد کنین.
درس 3 : چرا و چگونه ADO Activex Data Object
تواین درس مخوایم یه کار متفاوت بکنبم چون هدف این وبلاگ بیشتر پوشش دادن نیازهای برنامه نویسهای حرفه ای و نیمه حرفه اییه برا همین می خوام درباره ADOبیشتر صحبت بکنم.
ADO رو میشه اینجوری هم معرفیش کرد که مدل کوچیک شده ء RDO(Remote Data Object).
با اینکه این دو مدل ارتباط مشخصی با هم دیگه ندارن ولی هر دوتاشون تحمیل بار اضافی DAO رو ندارن.
ADOپشت صحنه از OLEDB کمک میگیره و با اون میشه به منابع داده غیر SQL مثل E_Mail وحتی سرویس دایر کتوری شبکه هم دسترسی داشت.
ADO مزیت اصلی که نسبت به DAO داره اینه که میشه به یک Database وصل شد اطلاعات رو خوند و ارتباط رو قطع کرد و پس از اعمال تغییرات بر روی فیلدها دو باره به همون Database وصل شد و اطلاعات رو یکسان کرد.
ADO از سه شی اصلی تشکیل شده.
Connection : که یک رشته است که امکان اتصال به بانک اطلاعاتی رو فرا هم میکنه.
Command : که برای جستجو استفاده میشه
Recordset : که میشه گفت همه کارست این یادتون باشه که رکوردست همه کارست.
بهتر دیدم بخاطر اینکه بحث اصلی این وبلاگ درباره Access Project هستش یه Example درباره وصل شدن به یه Record Set براتون بزارم به امید اینکه به دردتون بخوره
تواین نمونه از بانک اطلاعاتی NorthWindهمراه SQL_Server استفاده شده در قسمت StrSQLبنا به مشخصات بانک اطلاعاتی شما میتوان از دستور SQL اختصاصی شما استفاده نمود.
Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT Auid From Autore"
Set rst = New ADODB.Recordset
Set cn = Application.CurrentProject.Connection
rst.open strSQL, cn, adOpenForwardOnly, adLockOptimistic
منبع : http://sarami.blogfa.com/
جواب: قدرت SQLو سرعت و سهولت Access
ابتدا لازمه به معرفیAccess Project بپردازیم.متاسفانه بدلیل نداشتن اطلاعات لازم از سوی برنامه نویسان Access Project که از این به بعد برای سهولت (A_P) صداش میزنیم A_Pبه صورت گسترده مورد توجه برنامه نویسان بانک های اطلاعاتی ایران قرار نگرفته.برا همین تصمیم گرفتم که این نرم افزار رو با دوستانی که باهاش آشنا نیستند آشنا کنم.
A_P از والدین خود Access چیزهای فراوانی به ارث برده و تو زمینه مدیریت بانک اطلاعاتی تحولی اساسی پیدا کرده میشه گفت :جهش ژنی داشته....
از ضعف های گسترده ای که Accessدر زمینه مدیریت بانک های اطلاعاتی داشته دیگه خبری نیست مدونین چرا؟
چون اصطلاحاً Access این کاره نبود ترجیح داده این وظیفه رو به برنامه های مدیریت بانک های اطلاعاتی که این کاره ان بده .درست شنیدین تعجب نکنین A_P این وظیفه رو به Database Server های قوی مثل Microsoft SQL server و Oracel و …. خلاصه ODBC ها محول کرده.
A_P رو میتونین تو بسته نرم افزای Microsoft Office 2000& 2003 ملاقاتش کنین.
تقریبا میشه گفت 80% انتظارات برنامه نویسان بانک های اطلاعاتی بر آورده شده بهتره بگم مزیت A_P اینه که شما میتونین با سرعت زیاد پروژه های بزرگ نرم افزاری رو اجرا کنین فقط کافیه Acess رو بلد باشین و SQL رو شروع کنین.بقیشم همت و تمرین.
8 ساله حرفه ای تو زمینه بانک های اطلاعاتی برنامه نویسی میکنم 2 یا 3 سالم تفریحی با QW Basic بازی میکردم ولی به نظر من A_Pآخرشه.اینم نمونه کارش:
face="Tahoma, Arial, Helvetica, sans-serif">
تو این وبلاگ سعیم اینه که کسانی رو که با سیستم های مدیریت پایگاه داده دیگه مثل Microsoft Acess کار کردن و حالا می خوان A_P و SQL Server رو تجربه کنن کمک کنم هیچ منتی هم نیست من با درگیر شدن با مشکلات شما خودمم قوی تر میشم پس این به اون در..
درس (1)شروع کار:
برای شروع کار ابتدا لازمه نسبت به معرفی بعضی از اصطلاحها یه اقدامی بکنیم از کجا شروع کنیم ......
اهان . اول شناسایی کاربر به SQL_Server *** مهم
شناسایی کاربر به یه ODBCکه تو این درس SQL_Server هستش رو Attenticationمیگن.
برا شناسایی یه کاربر به SQL_Server دو روش وجود داره یه روش اینه که Windowsکاربرا رو شناسایی کنه Windows Attentication یه روشم اینه که SQLاونارو شناسایی کنه که بهش میگن SQL_Server Attentication .
(1)Windows Attentication: این روش زمانی استفاده می شه که ما داریم تو یه شبکه Domain Baseکار میکنیم .اگه نمی دونین شبکتون Domain Base هستش یا نه میتونین از مدیر شبکه تون یا به اصطلاح فرنگیا Network Administratorبپرسین.داشتیم میگفتیم توWindows Attentication سروربرا شناسایی از بانک اطلاعاتی کاربرای Domain استفاده میکنه .که (Active Directory) بهش مگن .و تقریبا خودشو راحت مکنه و از یه طرفم امنیت رو بالا می بره.
یه چیزی بگم خیالتون راحت بشه از اصطلاحایی که به کار برده مشه نترسین موضوع ساده تر از این حرفهاست اینها را دارم میگم که اگه بعدا که پیش رفتین خواسیتین بفهمین مفهوم اینا چیه بتونین به این درس برگردین و ما مجبور نشیم زیاد تو درسهای بعدی متوقف بشیم چون می خواییم سریع تر بریم سره اصل مطالب.
(2)SQL_Server Attentication : یه روش دیگه هم اینه که خود SQL_Server وظیفه شناسایی رو انجام میده. این حالت رو فقط تو مواقع ای استفاده میشه که یا شبکه ای ندارین و فقط دارین با یه کامپیوتر کار میکنین و یا زمانی که شبکه شما Domain Base نیستش و Workgroup هستش .
وقتی شما سعی میکنین به SQL_Server وصل بشین یه Login ID به SQLمیفرستین در روش اول SQL از Active Directory می پرسه که آیا این کاربر تائید شده هست و اگه تائید بشه حالا SQL میبینه چه دسترسی هایی دارین(Table_View_Stor Procedure) و از چه نوعی (Read Only _ Full_Read_Wright) .
در روش دوم شما با یک User Name و یک Password که قبلا بر روی سرور تعریف کردین به SQL وصل میشین.و بقیه کارم مثل قبلیه SQL مبینه شما چه دسترسی دارین(Permission).
توجه: Microsoft پیشنهاد میکنه که حتی المقدور از روش اول استفاده کنین. میدونین به نظر من Microsoft روش نمیشه بگه روش دوم چه گندیه میگه حتی المقدور.
فکر کنم برا درس اول بس باشه فرادا با Aceess Project به SQL _ Server وصل میشیم و اسمشو می ذاریم درس دو.موافقین.......
درس 2 :طریقه اتصال از Access Project به SQL_Server
برای وصل شدن به SQL_Server از طریق Access Project ابتدا باید هر دوتا نرم افزار رو Install کرده باشیم .
حالا میریم داخل محیط A_P و منوی File\New رو می زنیم گوشه سمت راست Screen (صفحه پیش رو) روی Project Using New Database رو کلیک میکنیم A_P از ما مسیری از Hard Disk رو که باید فایلش رو اونجا Save کنه رو می پرسه.
بلا فاصله بعد از تائید محل ذخیره A_P یک فرم Wizard به اسم Microsoft SQL Server Wizard را براتون باز میکنه که نام بانک اطلاعاتی و طریقه وصل شدن به اون (رجوع به درس 1) رو از شما میپرسه.
مانند شکل ذیل:
توجه : بانک اطلاعاتی بر روی SQL_Server ایجاد میشه.
به شما تبریک میگم بانک اطلاعاتی تون رو ساختین.
حالا برا اینکه چند تا نمونه کار هم دیده با شین می تونین به بانک اطلاعاتی Northwindهمیشه همراه SQL_Server هستش مراجعه کنین برا این کار منوی File\Connection رو بزنین و مطابق شکل همه چی رو میزون کنین بغیر از Server Name که شما باید نام SQL_Server خودتون رو وارد کنین.
درس 3 : چرا و چگونه ADO Activex Data Object
تواین درس مخوایم یه کار متفاوت بکنبم چون هدف این وبلاگ بیشتر پوشش دادن نیازهای برنامه نویسهای حرفه ای و نیمه حرفه اییه برا همین می خوام درباره ADOبیشتر صحبت بکنم.
ADO رو میشه اینجوری هم معرفیش کرد که مدل کوچیک شده ء RDO(Remote Data Object).
با اینکه این دو مدل ارتباط مشخصی با هم دیگه ندارن ولی هر دوتاشون تحمیل بار اضافی DAO رو ندارن.
ADOپشت صحنه از OLEDB کمک میگیره و با اون میشه به منابع داده غیر SQL مثل E_Mail وحتی سرویس دایر کتوری شبکه هم دسترسی داشت.
ADO مزیت اصلی که نسبت به DAO داره اینه که میشه به یک Database وصل شد اطلاعات رو خوند و ارتباط رو قطع کرد و پس از اعمال تغییرات بر روی فیلدها دو باره به همون Database وصل شد و اطلاعات رو یکسان کرد.
ADO از سه شی اصلی تشکیل شده.
Connection : که یک رشته است که امکان اتصال به بانک اطلاعاتی رو فرا هم میکنه.
Command : که برای جستجو استفاده میشه
Recordset : که میشه گفت همه کارست این یادتون باشه که رکوردست همه کارست.
بهتر دیدم بخاطر اینکه بحث اصلی این وبلاگ درباره Access Project هستش یه Example درباره وصل شدن به یه Record Set براتون بزارم به امید اینکه به دردتون بخوره
تواین نمونه از بانک اطلاعاتی NorthWindهمراه SQL_Server استفاده شده در قسمت StrSQLبنا به مشخصات بانک اطلاعاتی شما میتوان از دستور SQL اختصاصی شما استفاده نمود.
Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT Auid From Autore"
Set rst = New ADODB.Recordset
Set cn = Application.CurrentProject.Connection
rst.open strSQL, cn, adOpenForwardOnly, adLockOptimistic
منبع : http://sarami.blogfa.com/