ورود

View Full Version : تغییر دیتابیس در زمان اجرا



Roza_tsc
دوشنبه 04 اردیبهشت 1385, 11:12 صبح
یکی نیست جواب بده...لطفا من اطلاعات هر سال مالی در یک دیتابیس مربوط به اون سال ذخیره میشه...و یک سری گزارشات دارم که میخوام از اطلاعات سال مالی گرفته بشه که کاربر انتخاب کرده...در حقیقت میخوام در زمان اجرا اسم دیتابیس به گزارش پاس بشه...لطفا یک کد برام ارسال کنید....لطفا

MMAASS
چهارشنبه 06 اردیبهشت 1385, 09:42 صبح
دوست من ببین این طوری جواب می گیری؟ :


Dim dbName AsString
dbName = "DataBaseName"
SqlConnection1.ConnectionString = "workstation id=EH;packet size=4096;user id=sa;data source=YourDataSource;persist security info=False;initial catalog=" & dbName

برای ذخیره نام دیتابیست از یه استرینگ استفاده کن.
بعد رشته کانکشن استرینگتو بشکن به دوقسمت : یک قسمت که شامل اطلاعات کلی است و یک قسمت که برای نام دیتابیس است بعد هر دو را با هم AND کن البته برای نام دیتابیس از همان متغییر استرینگ استفاده کن.
امیدوارم که به دردت بخوره.

Roza_tsc
چهارشنبه 06 اردیبهشت 1385, 11:27 صبح
خوب این کانکشن استرینگ رو چطوری باید به کریستال ریپورت پاس بدم؟؟؟؟؟؟؟؟

MMAASS
چهارشنبه 06 اردیبهشت 1385, 15:51 عصر
در جایی که دیتاست رو پر می کنی.

Roza_tsc
چهارشنبه 06 اردیبهشت 1385, 17:03 عصر
من از ADODC استفاده می کنم. و این کد را نوشتم:
Dim CRReport As New CRAXDRT.Report
Dim CRApp As New CRAXDRT.Application
Set CRReport = CRApp.OpenReport(App.Path & "\dorostsho9.rpt")
'CRReport.Database.SetDataSource "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=anbar_86"

CRViewer3.ReportSource = CRReport
CRViewer3.ViewReport

اما کانکشن استرینگ به دیتا سورس پاس نمیشه...چرا؟

hrmprog
چهارشنبه 06 اردیبهشت 1385, 23:42 عصر
سلام
من پیشنهاد می کنم به جدولت یک فیلد سال مالی نیز اضافه کنی تا همه سالها یک جا ذخیره بشه من این کار را انجام دادم در یک جا برای سالهای مختلف و برای شرکتهای مختلف اطلاعات را ذخیره می کنم