اگر با ado کار کنید به راحتی می توانید آدرسی که به کانکشن می فرستید عوض کنید.
oConn.CursorLocation = adUseClient
oConn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & dbnet
oConn.Mode = adModeReadWrite
oConn.Open
dbnet یک string است که من در فرم هایم نام دیتابیس ام را پاس می کنم.
من هم برنامه ای دارم که از دو دیتابیس که شبیه هم است و برای دو قسمت مختلف از یک شرکت است کار می کند که کاربر سیستم با توجه به انتخاب هر قسمتی که وارد آن می شود، دیتابیس آن قسمت نمایش داده می شود و در پرینت هم همین آدرس به کریستال ریپورت فرستاده می شود.
البته این کدی که در بالا است یک کانکشن ایجاد می کند که شما با ایجاد کردن یک recordset تمام برنامه های خود را می توانید پیاده سازی کنید و همچنین برای ریپورت خود آدرس دهی کنید.
Dim ors As New Recordset
ors.Open strsql, goConn, adOpenForwardOnly, adLockReadOnly
strsql دستور sql ای است که به دیتابیس می فرستید مانند دستورات select و ... که برای همه آشنا است.
goConn هم از نوع همان کانکشنی است که در بالا (oConn) تعریف شده.
به همین راحتی در برنامه می توانید هم ریپورتتان را صدا کنید و هم query به آن بزنید. (البته query زدن به کریستال ریپورت نوع نوشتن دستورات sql اش کمی فرق می کند.)





پاسخ با نقل قول