PDA

View Full Version : سوال: طریقه استفاده از ماژول های اکسس در برنامه های کاربردی؟



حسین شهریاری
چهارشنبه 02 آذر 1390, 23:14 عصر
با سلام!

همانطور که میدانید، از روالهای ذخیره شده در SQLServer میتوان در برنامه های کاربردی استفاده نمود، سوال این است که آیا از ماژولهای اکسس هم میشه چنین استفاده ای کرد؟ و به چه شکل؟ لطفا نمونه ارائه فرمایید.

با تشکر

Abbas Amiri
پنج شنبه 03 آذر 1390, 21:05 عصر
معمولا ماژولهای برای کاربردهای تکراری وپرمصرف ایجاد می شوند واگر منظورشما ماژولهایی که فقط جهت کار به روی جداول مباشد است . بله خیلی از کسانی با اکسس کار میکنند توابع وروالهایی برای سهولت کار ایجاد می کنند ویا ازمنابع مختلف بدست می آورند بطور مثال :


Public Function DeleteTable(tdf As String) As Boolean
If DCount("*", "MSysObjects", "Name = '" & tdf & "' AND (Type = 6 OR Type = 1) ") Then
DoCmd.DeleteObject acTable, tdf
DeleteTable = True
End If
End Function


برای حذف جدول "MyTable"


DeleteTable "MyTable"

حسین شهریاری
جمعه 04 آذر 1390, 12:25 عصر
سلام

ممنون دوست عزیز از راهنمایی شما، حالا اگه بخام توسط یه زبان برنامه نویسی به این ماژول دسترسی پیدا کنم امکان داره یا خیر؟

Abbas Amiri
جمعه 04 آذر 1390, 14:34 عصر
اطلاعات برنامه نویسی بنده در زبانهای غیر VB کمتر است . مثال در VB
در برنامه اتان یک رفرنس اکسس ایجاد کنید سپس به طریق زیر یک روال ایجاد و با ارسال آرگومانهای مسیر فایل اکسس و نام تابع (وآرگومانهای تابع) به این روال آنرا فراخوانی کنید


Function RunAccessProc(strPath, strProc, Optional Arg1, Optional Arg2, Optional Arg3)
On Error GoTo errRunAccessProc
Dim AccessApp As Access.Application
Set AccessApp = CreateObject("Access.Application")
AccessApp.OpenCurrentDatabase (strPath)
'AccessApp.Run(strProc)
RunAccessProc = AccessApp.Run(strProc, Arg1)

Exit Function
errRunAccessProc:
AccessApp.Quit
Set AccessApp = Nothing
MsgBox "خطا درهنگام اجرای پروسیجر"
End Function


مثال



RunAccessProc YourFilePath, "DeleteTable", "ProductsTemp"