PDA

View Full Version : سوال: اتصال به فايل اكسس در فولدر ويندوز سيستم Xp و 7 توسط Adodc



rezankh
یک شنبه 16 بهمن 1390, 18:44 عصر
سلام
مسير اتصال به فايل اكسس در فولدر ويندوز سيستم Xp و 7 در Adodc چه جوري مشخص ميشه؟

kitcat_m18
یک شنبه 16 بهمن 1390, 18:53 عصر
سلام،
اگه دیتابیس کنار فایل EXE برنامته می تونی فقط اسم دیتابیس رو بنویسی مثلا Database.MDB
یا اینکه اگه می خوای تو روال بنویسی اینجوری هم می تونی: app.path & "\Database.mdb" البته روش بالا هم جواب میده.
موفق باشی :لبخندساده:

M.T.P
یک شنبه 16 بهمن 1390, 19:08 عصر
باز اجازه kitcat عزیز

اگه منظور بانکی ست که داخل پوشه ویندوز هست میشه:



Dim StrCS As String

StrCS = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Database Password =12345;" & _
"Data Source=" & Environ$("windir") & "\Database.mdb;"

Adodc1.ConnectionString = StrCS

rezankh
چهارشنبه 19 بهمن 1390, 19:25 عصر
با تشكر از MTB
كدي كه داديد رو در فرم لود برنامه گذاشتم ولي خطاي پيدا نشدن ديتا سورس رو ميده. (لازم به ذكر هست كه من يك شي Adodc رو فرم گذاشتم و مقدار connection string ش رو خالي كردم و نيز پوشه ويندوز من WINXPSP2 نام داره در حاليكه اكثر ويندوزها چيز ديگيه، آيا اين مورد تأثيري نداره؟)
اگه ممكنه يك نمونه كوچولو بذاريد.

محسن واژدی
چهارشنبه 19 بهمن 1390, 20:24 عصر
با تشكر از MTB
كدي كه داديد رو در فرم لود برنامه گذاشتم ولي خطاي پيدا نشدن ديتا سورس رو ميده. (لازم به ذكر هست كه من يك شي Adodc رو فرم گذاشتم و مقدار connection string ش رو خالي كردم و نيز پوشه ويندوز من WINXPSP2 نام داره در حاليكه اكثر ويندوزها چيز ديگيه، آيا اين مورد تأثيري نداره؟)
اگه ممكنه يك نمونه كوچولو بذاريد.
سلام
اگر منظورتون RecordSource است، عموما میتوانید از دستور :
"Adodc1.RecordSource="select * from TABLE
برای نمایش همه اطلاعات جدول استفاده کنید (نام جدول را هم جایگزین TABLE کنید)

موفق باشید

rezankh
چهارشنبه 19 بهمن 1390, 21:03 عصر
سلام
اگر منظورتون RecordSource است، عموما میتوانید از دستور :
"Adodc1.RecordSource="select * from TABLE
برای نمایش همه اطلاعات جدول استفاده کنید (نام جدول را هم جایگزین TABLE کنید)

موفق باشید

نه مشكلش تو command string و ركورد سورس نيست بلكه تو شناختن خود ديتابيس از پوشه ويندوز مشكل داره.

محسن واژدی
چهارشنبه 19 بهمن 1390, 21:18 عصر
نه مشكلش تو command string و ركورد سورس نيست بلكه تو شناختن خود ديتابيس از پوشه ويندوز مشكل داره.

میبخشید، چون سروستون را ندیده ام نمیتوانم بهتر از این راهنمایی کنم، برای بررسی بهتر میتوانید یک بار connectionstring را از طریق خاصیت Custom موجود در فرم property ایجاد کنید
همینطور یکبار هم بجای Environ$("windir") مسیر ثابت قرار دهید و برنامه را تست کنید تا اگه مشکل برطرف شد از دستور دیگر استفاده کنیم

موفق باشید

rezankh
چهارشنبه 19 بهمن 1390, 23:34 عصر
با گذاشتن مسير ثابت توي connection stringجواب مي ده ولي هدف من folder windows هستش كه چطور آدرس دهي كنم. لطفا اگه مي شه خودتون يك adodcكه وصل بانك اطلاعاتي توي فولدر ويندوز هست واسم به عنوان نمونه بگذاريد با تشكر

محسن واژدی
پنج شنبه 20 بهمن 1390, 12:23 عصر
سلام
ممکن است کلید windir در ویندوز وجود نداشته باشد،
با apiی زیر هم میتوانیم فولدر ویندوز را بدست بیاوریم:

Private Declare Function GetWindowsDirectory Lib "kernel32" _
Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long

Public Function WinPath() As String

Dim sWinPath$
'Create a string buffer
sWinPath$ = String(145, Chr(0))
'Call GetWindowsDirectory API function
sWinPath$ = Left(sWinPath$, GetWindowsDirectory(sWinPath$, Len(sWinPath$)))
WinPath = sWinPath$ & "\"
End Function

در کدتان بجای Environ("windir") تابع WinPathرا جایگزین کنید و برنامه را تست کنید

موفق باشید

rezankh
پنج شنبه 20 بهمن 1390, 18:37 عصر
با تشكر از آقا محسن عزيز
نمونه‌از كارم رو ميذارم لطفا روي اين درستش كنيد. فايل اكسس winsys.mdb رو توي پوشه ويندوزتون كپي كنيد. ممنون از توجه شما و ساير دوستان.

محسن واژدی
پنج شنبه 20 بهمن 1390, 22:24 عصر
سلام علیکم
تنها موردی که سورس کد شما لازم داشت تا اطلاعات بانک را بارگذاری و نمایش دهد، اجرای دستور Refresh بود
همچنین چون recordsource را در شی adodc1 هم تعریف کرده بودین پیام خطا در زمان اجرا داده میشد
در واقع مشکل از یافت نشدن بانک نبود

سورس ضمیمه را بررسی کنید

موفق باشید