PDA

View Full Version : نحوه لینک شدن به جداول sql از طریق کد نویسی



bahram_ariana
یک شنبه 15 آذر 1394, 17:48 عصر
با سلام و خسته نباشید.
من برنامه ام رو به دو بخش تقسیم کرده ام جداول رو به sql server انتقال دادم و فرمها و گزارشها رو توی اکسس ساختم و از طریق odbc به جداول موجود در sql sever وصل می شم. آیا راهی وجود داره که از طریق کدنویسی بشه به جداول موجود در sql server دسترسی پیدا کرد؟ یعنی دیگه جداول لینک شده تو اکسس نباشه.

download69
یک شنبه 15 آذر 1394, 18:08 عصر
بله با هر زبانی می توانید به به بانک sql server کانکت شید. از linq هم میتونید بهره ببرید

bahram_ariana
یک شنبه 15 آذر 1394, 18:28 عصر
با تشکر از دوست گرامی که پاسخ دادند. میشه به صورت جزئی تر بفرمایید که چه کار باید بکنم. مثلا من برای ساخت فرم از کوئری استفاده کرده ام. کوئری هم از جداول لینک شده ساخته شده اند. حالا وقتی که قراره جداول لینک شده دیگه نداشته باشیم کوئری ها رو چه جوری بسازم؟ کدها رو کجا باید بنویسم؟

amirzazadeh
یک شنبه 15 آذر 1394, 18:29 عصر
سلام
يك نمونه كد از طريق كد هاي ado براتون اپلود كردم


Dim Cn As ADODB.Connection
Dim rs, rs1 As ADODB.Recordset
Dim Cnxn As ADODB.Connection
Dim strCnxn As String

Set Cnxn = New ADODB.Connection

strCnxn = "Provider='SQLOLEDB';Data Source='.';" & _
"Initial Catalog='imex';User ID='sa';Password='12456';"
Cnxn.Open strCnxn

Set rs = New ADODB.Recordset

rs.CursorLocation = adUseClient
rs.Open "select * from prescribe", Cnxn, adOpenDynamic, adLockOptimistic, 1

rs.AddNew
rs!ser = DMax("SER", "PRESCRIBE") + 1
rs.update
rs.close
set rs=nothing

bahram_ariana
یک شنبه 15 آذر 1394, 18:38 عصر
ضمن تشکر از راهنمایی دوستان عزیز.
کدهای ado که لطف نمودید ارسال کردید رو کجا باید استفاده کنم؟ اگه امکانش هست بیشتر توضیح بدین. چه جوری کوئریها، فرمها و گزارشها رو از طریق کدنویسی به جداول موجود در sql server وصل کنم؟

bahram_ariana
یک شنبه 15 آذر 1394, 19:05 عصر
از دوستانی که پاسخ بنده رو دادن تشکر می کنم ولی اگه امکان داره توضیح بدین که چطور می تونم
کوئریها، فرمها و گزارشها رو از طریق کدنویسی (مثلا linq یا هر زبان دیگر) به جداول موجود در sql server وصل کنم؟

amirzazadeh
یک شنبه 15 آذر 1394, 19:29 عصر
سلام
خوب طبيعتا كد ها رو تو باتن ها ي نظير "ذخيره" بايد بنويسيد.در ضمن اگه ممكنه نمونه خودتون رو اپلود كنيد.(به همراه بانك sql)

bahram_ariana
یک شنبه 15 آذر 1394, 19:36 عصر
ضمن سپاس از پاسخ مدیر محترم بخش . ولی بنده از باتن ذخیره استفاده نکرده ام. بلکه اطلاعات به صورت مستقیم از طریق فرم ها و کوئریها وارد جداول می شوند. یعنی فرمهای من به کوئری باند شده. حالا چه کار کنم؟ کدها رو کجا قرار بدم؟ ضمنا نمونه فایلم الان توی سیستمم توی خونه نیست توی محل کارم هست.

Rasool-GH
یک شنبه 15 آذر 1394, 19:36 عصر
سلام
اصولا وقتی با کدهای ado به بانک خودتون وصل میشید و نمیخواید جدول لینک شده داشته باشید قاعدتا باید کوئری ها رو هم با کدنویسی بسازید و نتیجه رو در فرم یا گزارش نمایش بدید و نمیشه از کوئریهای مرسوم استفاده کنید

bahram_ariana
یک شنبه 15 آذر 1394, 19:41 عصر
ممنون از زاهنمایی دوستان عزیزاگه امکان داره یه نمونه ساده اکسس که در اون از طریق کدهای ado به بانک وصل شده باشه ارسال بفرمایید. چون من تا حالا از این طریق به بانک وصل نشده ام!

bahram_ariana
یک شنبه 15 آذر 1394, 20:42 عصر
ضمن سپاس از اساتید محترم اگه امکان داره یه نمونه کوئری از کدهای ado برای وصل شدن به بانک ارسال کنید.

Rasool-GH
یک شنبه 15 آذر 1394, 21:25 عصر
سلام
خوب طبيعتا كد ها رو تو باتن ها ي نظير "ذخيره" بايد بنويسيد.در ضمن اگه ممكنه نمونه خودتون رو اپلود كنيد.(به همراه بانك sql)
همینطور که جناب میرزازاده گفتند نمونه بدید

bahram_ariana
سه شنبه 17 آذر 1394, 14:55 عصر
شما که می فرمایید نمونه بدید برنامه اکسس به صورت تحت شبکه به sql server روی شبکه متصل شده است چه جوری من برنامه ام رو اینجا اپلود کنم؟ من فقط سوالم اینه که کدهای ado رو کجا باید استفاده کنم؟ در داخل رویدادهای فرم مثلا رویداد لود فرم در داخل رویدادهای گزارش؟ کجا؟

amirzazadeh
سه شنبه 17 آذر 1394, 16:56 عصر
سلام
دقيقيا درست مي فرماييد.كدها بسته به نياز شما در تمامي رويدادها قابل استفاده هستند. مثلا اگر براي پركردن يك ليست باكس استفاده بشه قاعدتا ميتونيد در رويداد لود فرم استفاده كنيد. ويا در رويداد باز شدن يك گزارش.
در مورد ديتابيس شما ميتونيد سرور اس كيو ال رو براي چند لحظه متوقف كرده و كپي فايل mdf به همراه فايل اكسس اپلود كنيد.

mhamedm2008
پنج شنبه 19 آذر 1394, 09:05 صبح
فقط اینو بگم که گزارش گیری از طریق sql به راحتی اکسس نیست.
در ضمن دستوراتی نظیر
rs.Open "select * from prescribe", Cnxn, adOpenDynamic, adLockOptimistic, 1
که رکوردها رو از طریق اکسس select میکنه به شدت توی سرعت تاثیر می گذاره که استفاده از آن به صلاح نیست.
باید نوشتن stored procedure توی sql و بلد باشی. اونجا تمام دستورات رو بنویسی و از توی اکسس پارامتر ها را به پروسیجر ارسال و خروجی را دریافت کنی.
این تجربه من بود که اشتباه من و تکرار نکنی

vahidfzm
یک شنبه 22 آذر 1394, 12:41 عصر
سلام
در این مقاله یک نمونه جالب از ازتباط بین اکسس و SQL به گذاشته شده که به احتمال زیاد مشکلتون رو حل میکنه
http://www.fardanesh.ir/%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%A8%D8%A7-sql-%D8%A8%D8%AF%D9%88%D9%86-%D8%AC%D8%AF%D9%88%D9%84-%DB%8C%D8%A7-query/