صفحه اصلی سایت | صفحه اصلی انجمنها | قوانین سایت | ارسال ترفند | تبلیغات | تماس با ما
انجمن های تخصصی ترفندستان |‌ Tarfandestan Forums

  

 


اطلاع رسانی

مقالات آموزشی پیرامون IT کلیه مقالات آموزشی دنیای IT با دسته بندی موضوعی در این بخش قرار می گیرند. در صورتی که درخواست مقاله خاصی را نیز دارید از این بخش استفاده کنید.

ارسال موضوع جدید  پاسخ
لینک تاپیک ابزارهای تاپیک نحوه نمایش
آموزش کامل ویژوال بیسیک
 
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
22 August 2006
 امتیاز:     
21 (#)  
 
ذخیره کردن تصویر در پایگاه داده





» قطعاً همه برنامه نویسان مایلند که در برنامه های مربوط به پایگاه داده خود بتوانند تصویر را نیز ذخیره کنند چون این امر یکی از ویژگیهای خوب و کارآمد برنامه خواهد بود . برای همین من این بار می خواهم روش ذخیره کردن تصویر را در پایگاه داده به شما عزیزان آموزش دهم .


» همینطور که شما عزیزان برنامه نویس می دانید در پایگاه داده اکسس نوع مشخصی برای ذخیره کردن تصویر وجود ندارد که ما به طور اختصاصی از آنها استفاده کنیم ولی یک نوع داده به نام OLE Object وجود دارد که می تواند هر گونه داده ای مانند صدا و تصویر را پشتیبانی کند . برای شروع شما برنامه Access را باز کرده و این فیلد ها را در آن ایجاد نمایید :

ID => AutoNumber

Picture => OLE Object

حال این جدول را با نام Sample ذخیره کنید و پایگاه داده را با نام db.mdb ذخیره نمایید . حال بدون این که داده ای در در این جدول وارد کنید از Access خارج شده و ویژوال بیسیک عزیز خودمان را باز کنید .


» مواد لازم: ابزارهای مورد نیاز برای کار را به صورت جدول زیر بر روی فرم خود قرار داده و خاصیت های آنها را تنظیم کنید :



نام کنترل
خاصیت DataSource
خاصیت DataField

Data1
-------------
------------

Text1
Data1
ID

Image1
Data1
Picture





نام کنترل
خاصیت Name
خاصیت Caption

Command1
CmdNew
New

Command2
CmdSave
Save

Command3
CmdCancel
Cancel

CommonDialog1
CmDialog
-------



کدهای زیر را برای ایجاد ارتباط با پایگاه داده در Form_Load بنویسید :


()Private Sub Form_Load

"Data1.DatabaseName = App.Path & "\db.mdb

"Data1.RecordSource = "SELECT * FROM Sample

Data1.Refresh

End Sub

» کد باز کردن کادر محاوره ای برای انتخاب عکس با دابل کلیک کردن بر روی ImageBox :


()Private Sub Image1_DblClick

"CmDialog1.Filter = "(*.jpg)|*.jpg

CmDialog.ShowOpen

If CmDialog.FileName <> "" Then

(Image1.Picture = LoadPicture(CmDialog.FileName

End If

End Sub

» کد برای ایجاد رکورد جدید :

()Private Sub CmdNew_Click

Data1.Recordset.AddNew

CmdNew.Enabled = False

CmdSave.Enabled = True

CmdCancel.Enabled = True

Call Image1_DblClick

End Sub

» کد برای ذخیره کردن رکورد ایجاد شده :

()Private Sub CmdSave_Click

Data1.Recordset.Update

CmdNew.Enabled = True

CmdSave.Enabled = False

CmdCancel.Enabled = False

Data1.Recordset.MoveLast

End Sub

» کد برای صرف نظر کردن از رکورد ایجاد شده :

()Private Sub CmdCancel_Click

Data1.Recordset.CancelUpdate

CmdNew.Enabled = True

CmdSave.Enabled = False

CmdCancel.Enabled = False

End Sub


نکته : باید توجه داشته باشید که ذخیره کردن تصویر در پایگاه داده ظرفیت آن را به اندازه زیادی افزایش خواهد داد .


» برای درک بهتر مطلب گفته شده شما می توانید از برنامه نمونه استفاده کنید .

http://www.mediavb.persiangig.com/Da.../PictureVB.zip

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
22 August 2006
 امتیاز:     
22 (#)  
 
ایجاد ارتباط با پایگاه داده رمزگذاری شده





» شاید یکی از مهمترین جنبه های برنامه نویسی پایگاه داده جلوگیری از دسترسی افراد غیرمسئول به اطلاعات درون بانک اطلاعاتی است . یعنی اگر افرادی که صلاحیتی برای دسترسی به اطلاعات از طریق برنامه ای که شما نوشته اید را ندارند بتوانند به راحتی از طریق باز کردن پایگاه داده اطلاعات و داده های ذخیره شده را دستکاری نمایند فاجعه ای وحشتناک رخ خواهد داد . برای همین من امروز می خواهم روش ایجاد ارتباط با پایگاه داده ای که شما قبلا توسط خود برنامه Access رمزگذاری کرده اید را به دو روش ADO و DAO را آموزش دهم .


» باز کردن پایگاه داده با استفاده از DAO : در این روش شما نمی توانید به طور مستقیم با استفاده از کنترل Data با پایگاه داده ارتباط برقرار کنید . برای همین باید از روش کد نویسی اقدام کنیم . برای این منظور یک کنترل Data روی فرم خود قرار دهید . توجه داشته باشید که ما از کنترل برای حرکت به رکورد بعدی یا کارهایی که قبلا با آن انجام می دادیم استفاده نخواهیم کرد . برای همین بهتر است خاصیت Visible = False باشد .


» در قسمت General تعریف های زیر را ایجاد می کنیم :

Dim db As DAO.Database

Dim rs As DAO.Recordset

با توجه به این تعریفات از db برای ایجاد ارتباط و از rs به عنوان رکوردست استفاده خواهیم کرد . کد های زیر را در Form_Load برای برقراری ارتباط بنویسید :

()Private Sub Form_Load

("Set db = OpenDatabase(App.Path & "\db.mdb", False, False, ";pwd=Media


("Set rs = db.OpenRecordset("SELECT * FROM Sample

End Sub

» همانطور که می بینید من کلمه عبور پایگاه داده را به طور پیش فرض Media قرار داده ام . ولی شما باید کلمه عبور پایگاه داده خود را به جای آن قرار دهید .


» همانگونه که ما در هنگام استفاده از کنترل Data از رکوردست آن برای انجام کارهایی از قبیل جستجو و یا حرکت در بین رکوردها استفاده می کردیم ، حال باید این کارها را با rs انجام دهیم . نکته مهمی که در اینجا باید به آن توجه داشته باشید این است که شما اگر بخواهید اطلاعات درون یک فیلد را در یک TextBox نمایش دهید باید به طور دستی داده ها را از فیلد مورد نظر به جعبه متن مورد نظر انتقال دهید .


در این حال شما نباید خاصیت های DataSource و DataField جعبه متن خود را تنظیم کند :


()Private Sub CmdNext_Click

rs.MoveNext

("Text1= rs("Name

End Sub

در این مثال کد مربوط به دکمه ای که به رکورد بعدی حرکت می کند را می بینید که محتویات فیلد نام را در Text1 نمایش می دهد .


» همانطور که دیدید استفاده از DAO برای اتصال به پایگاه داده با کمی کد نویسی بیشتر همراه است ولی اگر شما مایل به این گونه از کارها نیستید پیشنهاد می کنم که از ADO استفاده کنید .


» باز کردن پایگاه داده با استفاده از ADO : کنترل Adodc که شکلی شبیه به کنترل Data دارد نماینده ADO می باشد و دستورات آن بسیار شبیه به کنترل Data است . با استفاده از این ابزار به راحتی می توان با پایگاه داده رمزگزاری شده ارتباط برقرار نمود . برای این کار شما باید ابتدا این کنترل را که با نام MicroSoft ADO Data Control 6.0 درلیست Componnent ها قرار دارد به جعبه ابزار خود اضافه کنید . سپس آن را روی فرم خود قرار داده و دستورات زیر را برای ایجاد ارتباط در Form_Load بنویسید :


()Private Sub Form_Load

_& ";Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0

" Data Source=" & App.Path & "\db.mdb;Jet OLEDBatabase Password=Media;"

"Adodc1.RecordSource = "SELECT * FROM Sample

Adodc1.Refresh

End Sub

» در واقع شما با نوشتن این کد فقط عمل ایجاد ارتباط را انجام داده اید و دیگر نیازی به کار اضافی ندارید و می توانید کارهای قبلی خود را به راحتی انجام دهید . یعنی هم از کنترل Adodc برای حرکت در بین رکوردها استفاده کنید و هم خاصیت DataSource و DataField سایر کنترل ها را در زمان طراحی تنظیم نمایید .


» این هم برنامه های نمونه هر دو روش ذکر شده برای دانلود .

http://www.mediavb.persiangig.com/Da...OpendbPass.zip

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
22 August 2006
 امتیاز:     
23 (#)  
 
استفاده از دستورات SQL در ویژوال بیسیک (2)





» همانطور که در درس 6 مشاهده کردید ، با دو نوع از دستورات SQL آشنا شدیم : دستورات پردازش داده ها (DML ) و دستورات تعریف داده ها (DDL ) ، همچنین با تعداد زیادی از دستورات نوع اول کار کردیم . من در این درس می خواهم تعدادی از دستورات نوع دوم یعنی دستورات تعریف داده یا سازماندهی پایگاه داده را معرفی کرده و نحوه استفاده از آنها را به شما عزیزان آموزش دهم .


» شاید بارها برای شما هم پیش آمده باشد که بخواهید در پایگاه داده خود جدول یا جداولی جدیدی را با استفاده از کد نویسی ایجاد کنید ، یعنی پروژه شما توانایی این را داشته باشد که در صورت نیاز بتواند جدولی را به پایگاه داده ای که با آن در ارتباط است اضافه کند و یا از آن حذف نماید . تعدادی دستور SQL در این زمینه وجود دارد که به راحتی و حتی با یک خط می تواند جدول مورد نظر شما را ایجاد و یا حذف نماید . البته برای ایجاد جدول روشهای دیگری مانند استفاده از امکانات DAO نیز وجود دارد ، که دارای پیچیدگی بیشتری نسبت به دستورات SQL است .


» روش استفاده این دستورات در برنامه : قبل از این که شما با این دستورات آشنا شوید باید بدانید که این دستورات را در کجا و چگونه به کار ببرید تا کارایی لازم را داشته باشند . برخلاف دستورات مدیریت پایگاه داده که در قسمت RecordSource به کار می رفتند این دستورات باید به گونه ای دیگر استفاده شوند .


_ ابتدا شما باید از قسمت Refrences گزینه MicroSoft DAO 3.5 Object Library نسخه جدیدتر آن یعنی MicroSoft DAO 3.5 Object Library را علامت بزنید تا بتوانیم از امکانات آن استفاده نماییم . سپس در قسمت General برنامه تعریفات زیر را انجام دهیم :


Dim DBase As Database

Dim SQL As String

_ از DBase برای باز کردن پایگاه داده مورد نظر و از SQL برای نگهداری دستورات اس کیو ال به صورت رشته استفاده خواهیم کرد .


» Create Table : این دستور که از مهمترین دستورات SQL است برای ایجاد جدول استفاده می شود و روش استفاده از آن به صورت زیر است :


" ( ... ,نوع فیلد2 ,نوع فیلد1 ) نام جدول SQL= " CREATE TABLE

" ( (SQL= " CREATE TABLE Media1 ( ID INTEGER , Name TEXT(20) , Family TEXT(20

_ همینطور که در مثال می بینید با این دستور جدولی با نام Media1 که سه فیلد : ID از نوع عدد صحیح ، نام از نوع رشته با طول 20 ، نام خانوادگی از نوع رشته با طول 20 ، ایجاد می شود . حال برای مثال ما این کد را درون یک دکمه قرار می دهیم تا با حالت کد اجرایی آن نیز آشنا شوید :


()Private Sub CmdNewTable_Click

( Set DBase = OpenDatabase( App.Path & "\db.mdb", True , False


" ( (SQL= " CREATE TABLE Media1 ( ID INTEGER , Name TEXT(20) , Family TEXT(20


DBase.Execute SQL


End Sub

» مهمترین قسمت در این مثال خط آخر است که دستورات SQL را به اجرا در می آورد . تقریبا همه دستوراتی که در این درس معرفی خواهند شد به این روش استفاده می شوند .


نکته : شما می توانید به جای استفاده از نوع TEXT از نوع CHAR به جای آن استفاده کنید که در هر حالت نتیجه یکسان خواهد بود .


» Alter Table : از این دستور برای تغییر دادن ساختار یک جدول استفاده می شود و می تواند کاربرد زیادی داشته باشد . برای مثال می توان با این دستور یک فیلد به جدول اضافه یا از آن حذف کرد بدون این که اطلاعات درون جدول تغییر کند یا از بین برود . خود این دستور به دو شکل قابل استفاده است :


" نوع فیلد SQL1 = " ALTER TABLE TableName ADD COLUMN

" فیلد SQL2 = " ALTER TABLE TableName DROP COLUMN

مثال :


" SQL1 = " ALTER TABLE Media1 ADD COLUMN BDate Date

" SQL2 = " ALTER TABLE Media1 DROP COLUMN BDate

_ در مثال 1 فیلد تاریخ تولد با نام BDate از نوع تاریخ به جدول Media1 اضافه می شود و در مثال 2 همین فیلد از جدول Media1 حذف می شود . مشاهده می کنید که در حذف کردن فیلد نوشتن نام فیلد کافی است و به نوع آن نیازی نداریم .


» Drop Table : این دستور برای پاک کردن یک جدول از پایگاه داده استفاده می شود . در استفاده از این دستور باید نهایت دقت را داشته باشید :


" نام جدول SQL = " DROP TABLE


" SQL = " DROP TABLE Media1

» Create Index : این دستور برای تعیین فیلد کلید در یک جدول به کار می رود . باید توجه داشته باشید که فیلد کلید یا ایندکس از قبل در جدول وجود دارد و ما فقط خاصیت کلید بودن به آن می دهیم :


" SQL = " CREATE INDEX NewIndex ON Media1(ID) WITH PRIMARY

_ در این مثال ما به فیلد ID از جدول Media1 خاصیت ایندکس یا کلیدی بخشیدیم . در این حالت کلیدی ساخته می شود که از ورود داده ی تکراری و مقدار NULL یا تهی به داخل این فیلد در جدول جلوگیری می کند .


" SQL = " CREATE UNIQUE INDEX NewIndex ON Media1(ID) WITH IGNORE NULL

_ این شکل دستور مانند دستور قبلی کلیدی می سازد که از داده تکراری جلوگیری می کند ، ولی می تواند مقدار تهی یا NULL نیز داشته باشد .


» Constraint :

" ( SQL = " CREATE TABLE T1( ID INTEGER CONSTRAINT NewTable PRIMARY KEY

_ این شکل دستور هم مانند دستورهای فوق عمل می کند با این تفاوت که ما عمل ایجاد ایندکس را در همان زمان ساخت جدول باید مشخص کنیم . البته این نوع ایندکس در یکپارچگی داده ها نیز تاثیر دارد .


_ ساخت کلید خارجی : برای این کار نیز از دستورConstraint به همراه References استفاده میشود :


" ( (SQL= " CREATE TABLE Media1( ID Integer CONSTRAINT ID REFERENCES Media2(ID


_ در این مثال بین کلید ID موجود در جدول Media1 که قبلا به عنوان کلید اصلی تعریف شده است با فیلد ID موجود در جدول Media2 رابطه یک به چند برقرار می شود .


» من تا آنجا که می توانستم دستورات مهم این بخش را برای شما معرفی کردم . البته تعداد این دستورات زیاد است و من هم توانایی آن را ندارم که همه آنها را توضیح دهم . برای همین توصیه میکنم خود شما عزیزان برای آشنایی بیشتر با این دستورات تلاش زیادی از خود نشان داده و مطالعه کتابهی مفید در این زمینه را فراموش نکنید . همیشه موفق و پیروز باشید .



 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
30 August 2006
 امتیاز:     
24 (#)  
 
درس یازدهم




انتقال اطلاعات از یک پایگاه به پایگاه داده دیگر





» شاید یکی دیگر از جنبه های برنامه نویسی پایگاه داده توانایی کپی کردن اطلاعات از پایگاه داده ای به پایگاه داده دیگر است که بیشترین کاربرد این عمل در پشتیبان گیری یا انتقال اطلاعات از جدول فرعی به جدول اصلی ( مادر ) مشخص می شود .


» برای انجام این انتقال دو نوع روش وجود دارد. روش اول این است که ما اطلاعات را به صورت رکورد به رکورد از جدول فرعی خوانده و به صورت رکورد به رکورد در جدول اصلی قرار دهیم و مراقب باشیم که اطلاعات تکراری در این عملیات کپی نگردند ، که انجام کد نویسی برای این روش به نظر من کاری مشکل و دشوار است . روش دوم استفاده از دستورات SQL است که برای انجام چنین عملیاتی ایجاد شده اند و امکان انجام همه این کارها را در یک خط کد نویسی فراهم می نمایند . در این درس من می خواهم روش دوم را به شما عزیزان آموزش دهم .


» برای مثال شما دو پایگاه داده با نام های mdb1 ( پایگاه داده مادر ) و mdb2 ( پایگاه داده فرعی ) که دارای ساختار یکسانی هستند را در نظر بگیرید . ما قصد داریم اطلاعات موجود در پایگاه داده فرعی را بر روی اطلاعات موجود در پایگاه داده مادر بیفزاییم . پس در این حالت اطلاعاتی باید از پایگاه داده فرعی یا رابط به پایگاه داده مادر کپی گردند که نظیری در پایگاه داده مادر ندارند تا به این صورت از ذخیره سازی داده های تکراری در پایگاه داده مادر جلوگیری شود .


_ به دلیل این که انجام این کار در یک خط کد نویسی صورت می گیرد ما دیگر توانایی مراقبت از ورود داده های تکراری را نداریم . پس بهتر است که انجام این کار را هم بر عهده خود دستور قرار دهیم . به این صورت که اگر ما در پایگاه داده مادر فیلدی را به عنوان کلید قرار دهیم در هنگام انتقال داده ها این کلید به طور خودکار اجازه ورود داده های تکراری را نخواهد داد و فقط داده های کپی خواهند شد که در فیلد کلید نظیری ندارند . برای مثال شما دو پایگاه داده را به صورت زیر تنظیم نمایید :


» پایگاه داده مادر ( mdb1 ) :


--> یک جدول با نام Table1 دارای فیلد های زیر :


> ID : از نوع عددی به عنوان کلید

> Name : از نوع متن

> Family : از نوع متن


» پایگاه داده فرعی ( mdb2 ) :


--> یک جدول با نام Table2 دارای فیلد های زیر :


> ID : از نوع عدد

> Name : از نوع متن

> Family : از نوع متن


» دستور :


جدول فرعی SELECT _ FROM ' مسیر و نام جدول اصلی ' IN جدول اصلی INSERT INTO

_ در این دستور فقط مسیر و نام پایگاه داده مقصد ذکر می شود و پایگاه داده مبدا باید در اجرای برنامه گشوده شود . حال مثال را کامل می کنیم . ابتدا شما باید از دیالوگ References گزینه Microsoft DAO 3.51 Object Library را تیک بزنید و کد زیر را در دکمه ای قرار دهید :


()Private Sub CmdCopy_Click

Dim DBase As Database

Dim SQL As String

(Set DBase = OpenDatabase(App.Path & "\mdb2.mdb", True, False


" SQL = " INSERT INTO Table1 IN '" & App.Path & "\mdb1.mdb' SELECT * FROM Table2


DBase.Execute SQL


" vbInformation , " Copy Completed , " عمل انتقال اطلاعات با موفقیت به پایان رسید" Msgbox

End Sub

_ در این مثال اطلاعات موجود در جدول پایگاه داده فرعی ( Table2 ) به جدول موجود در پایگاه داده مادر ( Table1 )بدون تکرار در فیلد ID کپی می شوند . با استفاده از این دستور حتی می توان اطلاعات موجود در یک پایگاه داده نوع دیگر مانند Excel را به پایگاه داده Access کپی کرد که انشا الله در قسمت کار با پایگاه داده Excel توضیح خواهم داد .


---> این هم برنامه نمونه برای دانلود .

http://www.mediavb.persiangig.com/Da.../MdbDataCP.zip

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
30 August 2006
 امتیاز:     
25 (#)  
 
کار با فایل هایی از نوع Excel و Word





» به دلیل این که برنامه Excel و Word یکی از ساده ترین و پرکاربردترین برنامه های مورد استفاده بوده و ساخت شرکت مایکروسافت است و ویژوال بیسیک به راحتی قادر به برقراری ارتباط با آن است ، امروز می خواهم به صورت خلاصه روش ایجاد یک فایل از نوع Excel و Word و برقراری ارتباط با آنها را به شما عزیزان توضیح دهم .


» برای این که شما از امکانات کار با Excel و Word در ویژوال بیسیک 6 برخوردار باشید باید از رابطی که مخصوص خود Excel و Word است استفاده نمایید . برای این کار شما باید از دیالوگ References گزینه های زیر را تیک بزنید :


Microsoft Excel 9.0 Object Library

Microsoft Word 9.0 Object Library


البته بسته به نسخه آفیسی که شما بر روی سیستم خود نصب می کنید شماره یا ورژن این گزینه ها تغییر خواهد کرد .


@ کار با Excel : در ابتدا شما باید تعریفات زیر را در قسمت General برنامه خود انجام دهید :


Dim X_Excel As Excel.Application

Dim X_WorkBook As Excel.Workbook

Dim X_WorkSheet As Excel.Worksheet

_ حال برای ایجاد یک فایل از نوع Excel از دستور زیر باید استفاده کنید :


Set X_Excel = New Excel.Application

_ سپس یک صفحه کاری ایجاد می کنیم که باید از دستور زیر استفاده کنیم :


Set X_WorkBook = X_Excel.Workbooks.Add

_ پس از این کار شیت ( Sheet ) مورد نظر را باید انتخاب کنیم :

(Set X_WorkSheet = X_WorkBook.Worksheets(1

_ که در این مثال Sheet1 را انتخاب کردیم .


» همانطور که می دانید صفحه Excel به صورت گسترده بوده و کار با آن بر اساس خانه های موجود در آن است که هر کدام آدرس مخصوصی دارد . برای مثال خانه شماره یک دارای آدرس ( 1 , 1 ) می باشد . ما هم از این آدرسها برای دسترسی به این خانه ها استفاده می کنیم :


داده مورد نظر = ( ستون , سطر ) X_WorkSheet.Cells

"X_WorkSheet.Cells( 1 , 1 ) = "Ali

"X_WorkSheet.Cells( 1 , 2 ) = "Hassan

_ در مثال بالا رشته Ali در اولین خانه و رشته Hassan در خانه دوم ردیف اول صفحه یا جدول ذخیره می شود و محدوتی برای وارد کردن انواع داده وجود ندارد و شما می توانید هر نوع داده ای را در خانه ها قرار دهید .


» پس از ایجاد یک صفحه کاری و قرار دادن داده در خانه های آن نوبت به ذخیره کردن آن به عنوان یک فایل Excel می رسد که باید از دستور زیر برای این کار استفاده کنیم :

"X_WorkBook.SaveAs FileName:= "C:\Smple.xls


_ همچنین شما میتوانید برای نمایش صفحه کاری خود توسط برنامه اکسل به صورت زیر عمل کنید :


X_Excel.Visible = True

_ و برای خروج از صفحه کاری از دستور زیر استفاده کنید :


X_Excel.Quit

_ این دستور زمانی کاربرد دارد که از دستور قبلی آن استفاده نمایید .


@ کار با Word : کار با این برنامه هم مانند کار با Excel است و تفاوت آنها بیشتر در قسمت وارد کردن داده ها و اطلاعات می باشد . مانند قبل تعریفات زیر را در قسمت General قرار دهید :


Dim X_Word As Word.Application

Dim X_Doc As Word.Document

_ حال برای ایجاد یا باز کردن یک فایل از نوع Word دستور زیر را به کار ببرید :


Set X_Word = New Word.Application

_ سپس شما باید یک پرونده ) Document ) جدید ایجاد کنید :


Set X_Doc = X_Word.Documents.Add

_ پس از انجا این کارها نوبت به وارد کردن داده ها و اطلاعات است که برای این کار شما بیشتر باید از متد Selection مربوط به X_Word استفاده نمایید :


X_Word.Selection.Borders.OutsideLineStyle = wdLineStyleInset

X_Word.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

X_Word.Selection.Font.Bold = True

X_Word.Selection.Font.Size = 20

"X_Word.Selection.Text = "Media Soft Is For All

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


_ حال مانند مثال قبل نوبت به ذخیره کردن پرونده کاری می رسد که روش آن مانند مثال قبل است :


"X_Doc.SaveAs FileName:="C:\Sample.Doc

_ برای نمایش پرونده کاری خود توسط برنامه Word دستور زیر استفاده کنید :


X_Word.Visible = True

------------------------------------------------------------------------------------


---> برنامه نمونه برای آموزشهای داده شده :
http://www.mediavb.persiangig.com/Da.../XWCreator.zip

---> برنامه نمونه برای کپی کردن اطلاعات از Excel به یک پایگاه داده Access :
http://www.mediavb.persiangig.com/Da...20to%20mdb.zip

---> برنامه نمونه برای کپی کردن اطلاعات از یک پایگاه داده Access به Word :
http://www.mediavb.persiangig.com/Da...0to%20Word.zip

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
30 August 2006
 امتیاز:     
26 (#)  
 
اشیا ء داده Activex ( ADO )





» از آنجایی که دسترسی سریع به رکوردهای یک منبع داده و استخراج آنها برای برنامه نویسان پایگاه داده یک نیاز ضروری احساس می شد ، مدل اشیاء داده ADO به وجود آمد .



» مدل ADO از سایر مدل های پایگاه داده مانند DAO و RDO ( اشیاء داده راه دور ) کوچکتر است . و یا به عبارتی ADO کوچک شده مدل RDO است . با استفاده از ADO میتوان سریعا رکوردست ها را ایجاد کرد ، حتی میتوان پس از ایجاد رکوردست اتصال پایگاه داده را قطع کرده و پس از ایجاد تغییرات لازم در آن ، مجددا به پایگاه داده متصل شده و رکوردست تغییر یافته را به آن ارسال کرد .



» یکی از مهمترین تفاوت های ADO و RDO در این است که ADO برای کار با داده ها به جای ODBC از واسط OLEDB استفاده می کند و به همین دلیل می تواند دارای انعطاف پذیری بیشتری باشد و به منابع داده غیر SQL نظیر E Mail و AS400 و حتی سرویسهای دایرکتوری شبکه دسترسی داشته باشد .



» مدل ADO بسیار کوچک است و تنها دارای سه شیء اصلی میباشد :



1 ) شیء ConnectionString ، که همان اتصال به پایگاه داده است .

2 ) شیء Command ، که برای اجرای جستجو به کار می رود .

3 ) شیء RecordSet ، که همان رکوردست خروجی جستجوی Command است .



_ هر کدام از این اشیاء دارای زیر مجموعه ای برای خود هستند که توضیح همه آنه در این مبحث نمی گنجد .



» خواص ADO :



مدل ADO دارای تعدادی خواص منحصر به فرد است که در مدل های DAO و RDO وجود ندارند . این خواص نحوه ایجاد DataSet ، جابه جایی اشاره گر در رکوردست و حقوق دسترسی در اتصال را تعیین می کنند :



> ConnectionString

CommandText <

CommandType <

CursorLocation <

CursorType <

> LockType

> ModeType



» رشته اتصال ( ConnectionString ): در مدل ADO برای مشخص کردن ارائه کننده OLEDB اتصال منبع داده و نیز سایر جزئیات مود نیاز ، از خاصیت ConnectionString استفاده میشود :



Provider=;Data Source=



برای مثال ایجاد ارتباط با یک پایگاه داده Access :



Provider=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Sample.mdb



اتصال به پایگاه داده SQL Server :



Provider=SQLOLEDB.1;Data Source=Pibs;User ID=sa;Location=mca





» متن فرمان ( CommandText ): این خاصیت در ADO، جستجویی را که باید برای استخراج داده ها اجرا شود مشخص می کند برای مثال :



CommandText="SELECT * FROM Table1"



» نوع فرمان CommandType ) ): این خاصیت نوع جستجو را مشخص می کند و مقدار پیش فرض آن adCmdUnknown است . اگر بخواهیم از دستورات SQL استفاده کنیم باید مقدار آن را برابر با adCmdText قرار دهیم .



> adCmdText (1) مقدار موجود در CommandText ، متن فرمان مورد نظر است .

> adCmdTable (2) مقدار موجود در CommandText ، نام جدولیست که جستجوی SQL

همه ستونهای آن را بر میگرادند .

> adCmdStoredProc (4) مقدار موجود در CommandText ، یک روال ذخیره شده است .

> adCmdUnknowm ( مقدار پیش فرض است .



» استفاده از Adodc :



کنترل Adodc در واقع نماینده گرافیکی برای استفاده از امکانات ADO است . شکل آن تقریبا شبیه به کنترل Data است ولی برای استفاده از آن ابتدا آن را به جعبه ابزار ویژوال بیسیک اضافه کنیم . برای این کار شما باید از جعبه Components گزینه MicroSoft ADO Data Control 6.0 (OLEDB) را علامت بزنید . سپس برای استفاده آن را بر روی فرم خود قرار داده و طبق سلیقه خود آن را تنظیم کنید .



_ دو روش برای ایجاد ارتباط با پایگاه داده با کنترل Adodc وجود دارد . یکی استفاده از حالت انتخابی و طی چند مرحله و دیگری استفاده از کد نویسی که این روش بهتر از روش اول است .



روش اول :



ابتدا یک کنترل Adodc روی فرم خود قرار داده و از قسمت Propertiseبر روی گزینه Custom کلیک کنید تا کادر زیر ظاهر شود :







از این کادر گزینه Build را انتخاب کنید تا کادر زیر ظاهر گردد :







در این کادر هم بسته به نوع ارتباط و پایگاه داده شما گزینه ای را انتخاب کنید. ما گزینه Microsoft Jet 4.0 OLE DB Provider را که نسخه جدیدتر Jet 3.51 است انتخاب می کنیم و سپس دکمه Next را فشار می دهیم تا برگه بعدی ظاهر گردد :







در این قسمت هم پایگاه داده Access خود را انتخاب کنید . برای آزمایش صحت ارتباط می توانید از دکمه Test Connection استفاده کنید . سپس برای اتمام این مرحله روی گزینه OK کلیک کنید . تا دوباره به کادر قبلی باز گردیم . همانطور که مشاهده خواهید کرد نوشته ای در مقابل جعبه متن دکمه Build قرار می گیرد که این نوشته همان متنی است که ما در حالت کد نویسی به جای انجام این همه مراحل استفاده می کنیم . حال در این کادر روی دکمهApply کلیک کنید تا برگه های دیگر نیز فعال گردند.

سپس برگه RecordSource را انتخاب کنید جدولهای خود را برای رکوردست تعیین کنیم :








اگر در قسمت CommandType گزینه adCmdTable رو انتخاب کنید می تونید مستقیما جدول مورد نظر خود را از کشوی دوم انتخاب کنید . ولی اگر گزینه adCmdText رو انتخاب کرده باشید باید در قسمت سوم دستور SQL مورد نظر خود را وارد کنید .

برای مثال اگر در قسمت اول گزینه adCmdText را انتخاب کرده باشیم در قسمت سوم برای نمونه از دستور زیر می توانیم استفاده کنیم :



SELECT * FROM Student



پس از این کار شما بر روی دکمهApply و سپس روی دکمه OK برای اتمام کار انتخاب کنید .



» یکی از ابزارهایی که به کنترل Adodc قدرت بیشتری می بخشد ابزار Data Grid است که شما می توانید از قسمت Components با علامت زدن گزینه Microsoft DataGrid Control 6.0 (OLEDB)آنرا به جعبه ابزار خود اضافه کنید . این ابزار قدرتمند به گونه ای است که حتی شما می توانید در حالت طراحی فیلدها ی مر بوط به آن را تنظیم کنید .



روش دوم :



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



Private Sub Form_Load()

Adodc1.ConnectionString="Provider=Microsoft.Jet.OL EDB.4.0;Data Source=C:\db.mdb;"

Adodc1.CommandType = adCmdText

Adodc1.RecordSource = "SELECT * FROM Student"

Adodc1.Refresh

End Sub

البته بیشتر خصوصیات کنترل Adodc مانند کنترل Data است . یعنی دستوراتی مانند روفتن به رکورد قبل یا بعد همانند دستورات مورد استفاده در کنترل Data می باشد .



» اگر برنامه دفترچه تلفنی را که من طراحی کرده و درقسمت دانلودها قرار داده ام مشاهده کرده باشید از ADO در آن استفاده کرده ام .


 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
Mohammad Mohammad آنلاین نیست.
اهدای امتیاز به این کاربر

تاریخ عضویت: Jul 2005
محل سکونت: تهران
سن: 24
پست ها: 3,995
تاپیک ها: 108
Kaspersky Firefox Windows-Vista IR-TCI

سپاس ها: 1
سپاس شده 852 بار در 525 پست
Mohammad به Yahoo ارسال پیام
 
30 August 2006
 امتیاز:     
27 (#)  
 
عالی بود

Yahoo 360 Blog : http://360.yahoo.com/ro0t67

Web Site : www.Tarfandestan.Com

Www.Ho3ting.Net - Ultrafast Hosting Solutions
 
 
پاسخ با نقل قول
 
کاربر ذیل به علت این پست مفید از Mohammad تشکر کرده است:
آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
31 August 2006
 امتیاز:     
28 (#)  
 
Mohammad ، جان ممنون باز هم مگر اینکه شما بیایید و نظر بدین تا یه دلگرمی برای

ادامه کار برای ما پیش بیاد .

امیدوارم که بتونم ادامه آموزش ها را بهتر قرار بدم .

 
 
پاسخ با نقل قول
 
کاربر ذیل به علت این پست مفید از king تشکر کرده است:
آرش (10 February 2009)
 
dolphax dolphax آنلاین نیست.
امتیاز: 8,659, درجه: 27
امتیاز: 8,659, درجه: 27 امتیاز: 8,659, درجه: 27 امتیاز: 8,659, درجه: 27
درجه بالاتر: 85%, 91 امتیاز مورد نیاز
درجه بالاتر: 85% درجه بالاتر: 85% درجه بالاتر: 85%
فعالیت: 0%
فعالیت: 0% فعالیت: 0% فعالیت: 0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2006
محل سکونت: شیراز
پست ها: 799
تاپیک ها: 127

سپاس ها: 41
سپاس شده 50 بار در 28 پست
dolphax به Yahoo ارسال پیام
 
28 September 2007
 امتیاز:     
29 (#)  
 
دستت درد نکنه . عالیه
ببینم این این دیگه آخرشه .
دنباله نداره

 
 
پاسخ با نقل قول
 
 
seh x seh x آنلاین نیست.
اهدای امتیاز به این کاربر

تاریخ عضویت: Jun 2008
پست ها: 3
تاپیک ها: 0

سپاس ها: 0
سپاس شده 1 بار در 1 پست
 
4 June 2008
 امتیاز:     
30 (#)  
 
خیلییی ممنوون

مواظب افکارت باش که گفتارت می شود
امام علی(ع)
 
 
پاسخ با نقل قول
 
پاسخ

اضافه کردن این تاپیک به یک سایت اشتراک‏گذاری لینک

برچسب ها
ویژوال, کامل, آموزش, بیسیک


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای تاپیک
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are غیر فعال
Pingbacks are غیر فعال
Refbacks are فعال

انتخاب سریع یک انجمن

موضوعات مشابه
موضوع ارسال کننده تاپیک انجمن پاسخ ها آخرین نوشته
مرجع كامل ضد امنيت شبكه ( به زبان فارسي ) moonomid مقالات آموزشی پیرامون IT 16 7 April 2010 11:31 AM
مجموعه 2 ، 3 هزارتایی کتابهای آموزشی ( کامپیوتر ) NAJI مقالات آموزشی پیرامون IT 10 8 August 2008 01:29 PM
سرور کردن سیستم azee مباحث مربوط به شبکه های کامپیوتری 19 9 April 2008 01:42 PM
شبکه کردن کامپيوتر ها seyyed مباحث مربوط به شبکه های کامپیوتری 16 9 April 2008 01:35 PM
دانلود رایگان هزاران کتاب الکترونیکی فارسی takbook کتاب ها و مجلات الکترونیکی 1 22 February 2008 02:22 PM


اکنون ساعت 06:46 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.


کلیه حقوق مادی و معنوی مربوط و متعلق به وب سایت ترفندستان است.
برداشت مطالب در نشریات، سایت‏ها و وبلاگ‏ها تنها با ذکر نام ترفندستان مجاز است.
هر گونه استفاده تجاری از ترفندهای ترفندستان به صورت کتاب، کتابچه، جزوه، دست‏نویس، CD و DVD و نظایر آن به هر شکل و نحو کاملاً ممنوع می‏باشد و هر گونه تخلف پیگرد قانونی دارد.
واژه «ترفندستان» برای اولین بار در ادبیات فارسی توسط وب‏سایت ترفندستان ابداع شده است و سایت‏ها و وبلاگ‏ها با نام مشابه هیچ ارتباطی با این سایت ندارند.
پشتیبانی و میزبانی توسط HostDL