ساخت تریگری که بعد از ویرایش فیلد ModifyDateTime پر می شود البته با شرط id
After Update Trigger در SQL یک رویه ذخیره شده در جدول پایگاه داده است که پس از اجرای موفقیت آمیز عملیات Update در جدول مشخص شده ، به طور خودکار فراخوانی یا راه اندازی می شود .برای مواردی که شروع نشده اند ، از دستور Update برای اصلاح داده ها در ردیف های موجود جدول داده استفاده می شود.
CREATE TRIGGER [dbo].[after_update] ON [dbo].[MYTABLE]
AFTER UPDATE
AS
BEGIN
DECLARE @ID INT
SELECT @ID = D.ID
FROM inserted D
UPDATE MYTABLE
SET mytable.CHANGED_ON = GETDATE()
,CHANGED_BY = USER_NAME(USER_ID())
WHERE ID = @ID
END
جداول inserted یا Deleted در SQL :
1-اگر رکوردی در جدول اصلی insert یا Delete شود ، یک ورودی جدید از رکورد در حال ایجاد یا حذفی نیز در جدول Deleted ، Inserted درج میشود . اینها برای مواردی هستند که شما میخواهید Update در همان ردیف انجام شود نه کل ستون پس نیاز به id دارید !!!
SET NOCOUNT ON/OFF statement controls the behavior in SQL Server to show the number of affected rows in the T-SQL query.
عبارت Set NOCOUNT ON/OFF برای نمایش یا عدم نمایش ردیف های متاثر از تغییر در کوئری T-SQL یعنی زمان ON بودن تعداد رکوردهای اضافه ، آپدیت یا حذف شده را نمایش خواهد داد.
مثلا در اکسس برای گرفتن تعداد رکوردهایی که حاصل موفقیت آمیز اکشن کوئری ها هستند از ویژ گی زیر استفاده می شود البته به موضوع تریگر ربطی ندارد ولی برای فراگیران اکسس مطلب جالبی است.
ALTER TABLE :
Modifies the design of a table after it has been created with the CREATE TABLE statement.
دیزاین یک جدول ایجاد شده با CREATE TABLE را تغییر می دهد . ALTER COLUMN نیز برای اصلاح دیتا تایپ فیلد استفاده می شود. ( در نمای SQL )
ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] | ALTER COLUMN field type[(size)] | CONSTRAINT multifieldindex} | DROP {COLUMN field I CONSTRAINT indexname} }
DROP هم برای حذف ستون یا فیلد مورد نظر استفاده میشه ، حذف فیلد یا ستون با دیتا تایپ AutoNumber باعث خطا می شود ( برای حذف این ستون می بایست اول دیتا تایپ را تغییر دهید مثلا به Number یا Text ، اگر Primary Key دارد آنهم بایستی برداشته شود و بعد Drop Column yourfield استفاده شود )
ALERT نام جدول DROP COLUMN نام فیلد
برای اضافه یا اصلاح فیلد نوع یا تیپ AutoNumber در اکسس از Counter استفاده بنمائید.(دوپارامتر دارد اولی از چه عددی شروع شود و دومی چند تا چند تا)
برای Reset شماره های AutoNumber زمانیکه یکسری اعداد بخاطر حذف رکوردهایی lost شده می توان با همان Alter Column دیتا تایپ را به Number تغییر داد و سپس دوباره آنرا با Counter ، دیتا تایپ AutoNumber کنید میشه ؟!!! خیر امکانپذیر نیست
در Vba متد خاصی برای اصلاح دیتا تایپ فیلد وجود ندارد کاری که می کنید این است : با CreateField یک فیلد جدید بسازید بعد با UpdateQuery مقادیر را به آن انتقال دهید ( Set NewField=OlfField ) سپس فیلد قدیمی ( OldField ) را حذف و شئ TableDef را Refresh کنید. ( حتما برای تنظیم اشیاء و کاربردشون از Set استفاده کنید چون باید متغیر تعریفی مثل tdf به کالکشن TableDefs متصل و بتواند از متدها و ویژگیهای آن بهره ببرد ) اگر از Set استفاده نکنید مطمئنا پیام خطائی صادر و از ادامه کار جلوگیری می کند.
نحوه اجرای دستورات Sql هم با RunSql یا از کالکشن دیتابیس متد Execute . لینک database-execute
The Microsoft Access database engine does not support the use of CREATE TABLE, or any of the DDL statements, with non-Microsoft Access database engine databases. Use the DAO Create methods instead.
موتور دیتابیس اکسس استفاده از Create Table یا هر یک از عبارات Data Definition Language ( DDL ) را با دیتابیس های موتور دیتابیس غیر اکسس پشتیبانی نمی کند.به جای آن از روش های Dao Create بهره ببرید.
In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables,
در مفاد SQL یا Structural Query Language ، این DDL یک علم نوشتاری است برای ایجاد یا اصلاح اشیاء پایگاه داده مثل جداول
Dim tdf As Dao.TableDef
Dim fld As Dao.Field
Dim prp As Dao.Property ( no use properties to ger property name )
ایجاد یک کوئری موقت با یک رشته به طول صفر و اجرای یک Sql که تهیه کردید
Set tdf=CurrentDb.CreateQueryDef("")
StrSQL="Select Distinct id,desc from table1"
Docmd.RunSql StrSQL
Docmd.OpenQeury QueryName
This method is only available in the Access database environment. See the OpenView or OpenStoredProcedure methods if you are using the Access Project environment (.adp).
متد بالا برای باز کردن کوئری فقط در محیط پایگاه داده اکسس است ، متد OpenView یا OpenStore را مشاهده کنید چنانچه از محیط پروژه اکسس با پسوند adp استفاده می کنید.
-------------------------
For Each fld In tdf.Fields
For Each prp in fld.Properties
-------------------------
Data Access Objects (DAO) enable you to manipulate the structure of your database
DAO دسترسی شما به دستکاری ساختار پایگاه داده را فراهم می سازد.
پایگاه های داده در اکسس از چهار شئ تشکیل شده : جداول ، پرس و جو ها ، فرم و گزارشات . این اشیاء با هم به شما اجازه می دهند تا داده های خود را هر طور که می خواهید وارد ، ذخیره ، تجزیه و تحلیل و جمع آوری کنید.
Because an AccessObject object corresponds to an existing object, you can't create new AccessObject objects or delete existing ones. To refer to an AccessObject object in a collection by its ordinal number or by its Name property setting, use any of the following syntax forms:
بخاطر اینکه شئ AccessObject متعلق است به یک شئ موجود لذا نمی توان شئ های AccessObject جدید ساخت یا آنرا حذف کرد.برای ارجاع به یک شئ AccessObject در یک مجموعه با شماره ترتیبی یا تنظیم ویژگی Name خودش از شکل های نوشتاری که در بالا اشاره شد استفاده شود.
مطالب بر اساس آنچه جستجو و به این بلاگ ختم شده بیان خواهد شد
دوستان لطفا در نظر سنجی که در منوی باز شو وجود دارد شرکت نمائید
لینک زیر داکیومنت آفیس برای تغییر نام آبجکت ها در دیتابیس اکسس CopyObject هم برای کپی کردن.
office/vba/api/access.docmd.rename
expression.Rename (NewName, ObjectType, OldName)
سه آرگومان دارد اولی نام جدید دومی نام آبجکت با پیشوند ac مثل acForm یا acTable و سومی نام قدیمی شئ مورد نظر
کپی آبجکت مورد نظر از یک دیتابیس به دیتابیس دیگر با اکشن کپی آبجکت در ویژوال بیسیک.
expression.CopyObject (DestinationDatabase, NewName, SourceObjectType, SourceObjectName)
You can use the DeleteObject method to delete a specified database object.
If you leave the ObjectType and ObjectName arguments blank (the default constant, acDefault, is assumed for ObjectType), Access deletes the object selected in the Database window. To select an object in the Database window, you can use the SelectObject action or SelectObject method with the InDatabaseWindow argument set to Yes (True).
استفاده از اکشن DeleteObject در ویژوال بیسیک برای حذف آبجکت دیتابیس مشخص شده.
اگر آرگومان های ObjectType و ObjectName را خالی بگذارید ( ثابت پیش فرض acDefault است که برای ObjectType انجام میشود ) ، اکسس آبجکت انتخاب شده در دیتابیس را انتخاب می کند آخ آخ آخ !!! برای انتخاب آبجکت در پنجره دیتابیس می توان از اکشن SelectObject یا متد SelectObject استفاده نمود با تنظیم آرگومان InDatabaseWindow به Yes یا True.
expression.SelectObject (ObjectType, ObjectName, InNavigationPane)
InNavigationPane :
Use True to select the object in the Database window. Use False (0) to select an object that's already open. If you leave this argument blank, the default (False) is assumed.
استفاده از True برای انتخاب آبجکت در پنجره دیتابیس . کاربرد False برای انتخاب آبجکتی که باز شده . اگر این آرگومان خالی باشد،پیش فرض False است.
داکیومنت آفیس را مطالعه، لذت برده و با دوستانتان به اشتراک بگذارید.
دوستان اکسسی عزیز لطفا در نظر سنجی که در منوی بازشو است شرکت کرده و در صورت لزوم در زیر هر مطلب پیامتان را در ج کنید
اگر چک باکس باشد از True و False استفاده می شود
Selection Behavior یا رفتار انتخاب در چک باکس
Application.SetOption "Selection Behavior", 1
آیتم زیر انتقال بعد از زدن اینتر اگر مقدار آرگومان دوم یک باشد وقتی در فیلد جدول اینتر بزنید به فیلد بعدی می رود بستگی به tab order دارد ولی اگر 2 باشد بعد از زدن اینتر به رکورد بعدی می روید.البته بعضی از آیتم ها مثل تغییر ریبون نیازمند بستن دیتابیس است و مستقیما اعمال نمی شود!!!
Application.SetOption("Move After Enter", 1) ' to set it to move to the next control
Application.SetOption("Move After Enter", 2) ' to set it to move to the next record
وقتی کوئری اپند را اجرا می کنید یا رکورد یا رکوردهایی را با کوئری delete حذف می کنید پیغام های اکسس مبنی بر اینکه مایلید یا خیر و ... نمایان می شود برای اینکه دیگر نمایش داده نشود در دیالوگ باکس Options تیک چک موارد زیر باید برداشته شوند.معادل SetWarnings هستند
Application.SetOption "Confirm Action Queries", 0 Application.SetOption "Confirm Document Deletions", 0 Application.SetOption "Confirm Record Changes", 0
برای compact کردن در لحظه از SetOption یا سایر روش ها مستقیما نمی توان عمل کرد و دیتابیس را compact نخواهد کرد چرا چون اکسس اگر مشاهده کنید یک فایل دیگر با پسوند lccdb در کنار آن می سازد و قفل می شود و اجازه چنین کاری در این حالت داده نخواهد شد. خودش هم اگر می بینید گزینه ای در دیالوگ باکس با عنوان compact on close دارد مطمئن باشید که این compact را در دیتابیس دیگر که بسته است انجام می دهد و آنرا با دیتابیس شما عوض میکند بطوریکه ما کاربران از درک آن عاجز خواهیم بود. ( نکته : زمانیکه دیتابیس باز است وقتی می خواهید عمل split انجام دهید حتما از بسته بودن اکسسی که share کردید اطمینان حاصل کنید چون باعث می شود درست کار نکند و زحماتتان به باد رود !!! مخصوصا دستکارس در دیزاین آبجکت ها )
Data Macro
آپدیت فیلد اتومات در جدول
Macro Action :
The SetLocalVar action creates a temporary variable and set it to a specific value.
ایجاد متغیر موقت و تنظیم به مقدار مشخص
در Vba به TempVars مراجعه شود
پروسیجور یا دستورالعمل ذخیره شده در Sql که می توان در هر جا مورد استفاده قرار داد.
در زیر پروسیجور SelectAllCustomers با پارامترهایی تعریف شده
از لینک بالا کپی شد یک store procedure به نام GetCarDesx_Para که پارامتری بنام CID را میگیرید و در Select کوئری که جوین شده است قرار داده و خروجی می دهد.
با دستور insert into داده ها را به فیلدهای ساخته شده (با Create table ) اضافه نموده.
SELECT * FROM Car;
ایجاد جدول CarDescription با Create Table و اضافه کردن داده به فیلدهای آن با دستور insert into
SELECT * FROM CarDescription;
در زیر store procedure با نام GetCarDesc تعریف شده و با EXEC فراخوانی شده مشخص است که این پروسیجور Description را بر اساس CarID در کنار فیلدهای جدول Car نمایش می دهد.
EXEC GetCarDesc;
در عبارت Sql زیر دو جدول را بهم جوین کرده یکی جدول کار با Alias یا مستعار C و دیگری CD بطوریکه داده ی فیلد CarID این دو جدول با هم مطابقت داشته باشند ( اگه تکست باشه حتی یک space اضافی باعث عدم تطابق خواهد شد ، پس فقط رکوردهایی که دارای دو داده مشابه باشند می آید مثل A اشتراک B که مشترک ها خروجیست ) و در آخر گفته این پروسیجور پارامتر با فیلد CarID مورد تطابق قرار گیرد یعنی اگر پیدا کرد لیست کند در جدول
CREATE PROCEDURE GetCarDesc_Para (@CID INT)
As
BEGIN
SET NOCOUNT ON
SELECT C.CarID,C.CarName,CD.CarDescription FROM
Car C
INNER JOIN CarDescription CD ON C.CarID=CD.CarID
WHERE C.CarID=@CID
END
To execute it :
EXEC GetCarDesc_Para 201;
Using Store Procedure In Access ( ADO )
calling-a-stored-procedure-with-a-command
You can use Access as a front-end application and then link to tables in a back-end server, such as SQL Server
لینک زیر : می توان از Access بعنوان یک برنامه front-end استفاده نمود و سپس پیوندی به جداول در سرور back-end مثل sql server زد.
برای اجرای store procedure ساخته شده می توان استفاده نمود لینک زیر داکیومنت آفیس
vba/api/access.docmd.openstoredprocedure
در کد زیر یک کوئری موقت یا Temporary در دیتابیس اکسس ایجادشده و بعد کانکت شده به sql و سپس اجرای store procedure یا دستورالعمل ذخیره شده در sql سرور
With db.CreateQueryDef("")
.Connect = db.TableDefs("ODBC;DATABASE=OurDB;UID=test1;PWD=password;DSN=OMBudget Prod SQL04;").Connect
.sql = "exec Update_UserPermissions 'Username', 'Department'"
.ReturnsRecords = False 'this will avoid error 3065
.Execute dbFailOnError
End With
البته connect بالا توصیه نمیشود چون اگر کسی بتواند اکسس شما را از جای دیگر هک کند با همین کانکت می تواند پسورد اس کیوال را تصرف نموده و تریگرها یا ساختار جداول را دستکاری یا حذف نماید.پس می توانید از شئ ADODB استفاده نمائید و کانکشن استرینگ بسازید آنرا Open کرده و کامند خود را اجرا کنید.
تعریف شی ارتباط ADO :
برای ایجاد یک ارتباط باز به یک منبع داده استفاده می شود.که باید در محیط VBE اکسس DLL مربوطه تیک بخورد تا دسترسی به متدها یا ویژگیها برای کد نویسی راحتتر ، ایجاد نماید.
The ADO Connection Object is used to create an open connection to a data source
connectionstring :
stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword
Don’t forget the instance name!
When connecting to a SQL Server Express database, you must include the instance name along with the server name. For example, the default instance name when installing Express is “SQLExpress”, if you’re connecting to a server called “DEVServer” than the server portion of your connection string should be: “DEVServerSQLExpress”.
www.khabaronline.ir/amp/1584248/
سخنگوی شورای شهر تهران ادامه داد: ما در جمهوری اسلامی سیاست های رسمی داریم و انقلاب اسلامی سال 57، ضدیت با سلطنت 2500 ساله شاهنشاهی بود. یعنی ما غیر از پادشاهی حضرت داوود و حضرت سلیمان، هیچ پادشاهی دیگری را به رسمیت نمی شناسیم. این در حالی است که خیابان انوشیروان چند کوچه پایین تر از دفتر مقام معظم رهبری قرار دارد و وجود نام این پادشاه روی یک خیابان در آن منطقه قطعا با اصول انقلاب اسلامی تعارض دارد.
یک خاخام یهودی در اظهاراتی عجیب و ضد ایرانی گفت: برای نابودی برنامه هستهای ایران دعا کنید و نماز بخوانید!
منبع: کاوش مدیا
ویژگی SQL حاوی عبارت یا دستور SQL است که نحوه انتخاب ، گروه بندی و ترتیب رکوردها را هنگام اجرای کوئری تعیین می کند. می توان از کوئری برای انتخاب رکوردهایی برای گنجاندن در شئ رکوردست استفاده کرد.همچنین می توان اکشن کوئری ها را برای اصلاح بدون ارجاع به رکوردها تعریف کرد.
نوشتار SQL مورد استفاده در یک کوئری باید با SQL موتور کوئری مطابقت داشته باشد که بر اساس نوع فضای کاری تعیین میشود. در یک فضای کاری مایکروسافت اکسس ، از گویش یا زبان Microsoft Access Sql استفاده کنید مگر اینکه یک کوئری pass-through ایجاد کنید در اینصورت باید از زبان ( dialect ) سرور استفاده کرد.
اگر عبارت SQL شامل پارامترهایی باشد باید آنها را قبل از اجرا تنظیم کنید . تا زمانیکه پارامترها تنظیم مجدد نشوند ، هر بار که کوئری اجرا می شود ، همان مقادیر پارامتر اعمال می گردد.
در لینک زیر ویژگیهای دیگر این آبجکت یا شئ وجود دارد.
گرفتن تعداد فیلدهای کوئری مورد نظر
دوستان عزیز لطفا شرکت در نظرسنجی فراموش نشود
دوستان دستکاری بعضی از خاصیت ها در پنجره پراپرتی شیت فرم اکسس فقط در نمای دیزاین امکانپذیر است و نمی توانید مستقیم از فرم در حال نمایش آنها را تغییر دهید پس اگر دیتابیس را بصورت accde در آورید بهیچ عنوان کد vba شما کارائی نخواهد داشت از طرفی اگر به accde تبدیل نشود امکان هک کردن بسیار بالاست.
لطفا در نظر سنجی شرکت نمائید.
استفاده از تابع ویندوزی GetwindowLongA
win32/api/winuser/getwindowlonga
win32/winmsg/extended-window-styles
GWL_EXSTYLE=-20
WS_EX_DLGMODALFRAME =&H1
GetWindowLongA hWnd,nIndex(GWL_EXSTYLE)
LIB "USER32"
برای TransParent یا شفاف کردن دیالوگ باکس می توانید از مطلب در لینک زیر که کاملا گویا است بهره ببرید.
کدر شدن یا شفاف شدن یک پنجره لایه ای را تنظیم میکند.
winuser-setlayeredwindowattributes
یک آرگومان بنام alpha دارد اگر صفر باشد پنجره کاملا شفاف است زمانیکه مقدار آن 255 شود پنجره کدراست.
When bAlpha is 0, the window is completely transparent. When bAlpha is 255, the window is opaque.
البته پیشنهاد نمیشه اینکار چون ممکن است خطا بدهد و هک کردن پنجره بسیار آسان است.
در ویندور 8 استایل Extended Layered برای پنجره های بالایی و زیر پنجره ها پشتیبانی می شود ولی در نسخه های قبل تر فقط به پنجره های بالاتر اعمال می شود.کسانیکه پنجره ویندوزی می سازندبا این مفاهیم آشنا هستند.
Windows 8: The WS_EX_LAYERED style is supported for top-level windows and child windows. Previous Windows versions support WS_EX_LAYERED only for top-level windows.
دوستان لطفا در نظرسنجی شرکت فرمائید و در صورت لزوم نظر بدهید.
اگر ویژگی هیدن در فیلد مورد نظر وجود نداشت با کد زیر می توان این ویژگی ( ColumnHidden ) را اضافه کرد البته پراپرتی یونیک است و اگر دوباره اضافه شود خطا نمایان خواهدشد.
expression .CreateProperty(Name, Type, Value, DDL)
Field.CreateProperty("ColumnHidden",dbLong,True)
You manipulate a table definition using a TableDef object and its methods and properties
برای دستکاری ویژگیهای جدول : استفاده از شئ TableDef و متد و ویژگیهای آن
CONDITIONAL FORMATTING ( VBA )
FormatConditions.Add Method :
با استفاده از متد Add می توان یک فرمت شرطی بعنوان شئ FormatCondition به مجموعه FormatConditions یک کنترل کمبو یا تکست باکس اضافه نمود.
expression.Add (Type, Operator, Formula1, Formula2)
آرگومان Type در متد بالا :
You can use the Delete method of the FormatConditions collection to delete an existing FormatConditions collection from a combo box or text box control.
Tempvar متغیری است که می تواند در Vba مورد استفاده قرار گیرد.
مجموعه TempVars که متدهای Add و Delete دادد تا 255 شی Tempvar را می تواند ذخیره کند. اگر آنرا حذف نکنید در حافظه تا بسته شدن دیتابیس باقی می ماند . بهترین پیشنهاد حذف متغیرهاست وقتی که کارتان به اتمام رسیده.
برای ارجاع به شی Tempvar در یک مجموعه با شماره اختصاصی یا با خصوصیت نامش می توانید شکل نوشتاری زیر را تنظیم نمائید.
حالا کارش چیه ؟ فرض کنید یک رشته عددی یا هر چیز دیگری در فرمی که باز است را می خواهید بگیرید و به فرم دیگر که بعد از آن باز میشود انتقال دهید می توانید از این مجموعه بهره ببرید.( در کل شی ای است که داده رشته ای ، عددی ، تاریخی ، باینری را در متغیر تعریف شده توسط شما در حافظه موقت ذخیره میکند و زمان مورد نیازتان به آن رجوع کرده و استفاده می کنید.)
دوستان لطفا نظر سنجی فراموش نشودمطالب فقط طبق استاندارد داکیومنت اکسس است و نه فراتر از آن ، اگر مطلب Magic از آن انتظار دارید لطفا این ذهنیت اشتباه را پاک کنید و یا سراغ برنامه های قدرتمندتر بروید.در صورتیکه مطلبی جا مانده یا بیان نشده لطفا ارائه کنید تا بیان شود.البته بنده هم طبق داکیومنت آفیس مطلب خواهم گذاشت و نه بیشتر.
اکسس فقط یک دیتابیس است
CurrentData
دارای خصوصیات یا ویژگیهای زیر است ، مورد استفاده : فرضا بخواهید لیست جداول را بگیرید یا در جداول و کوئری ها لوپ بزنید برای جستجو.
برای دسترسی به مجموعه های زیر و خصوصیات هر کدام
برای دسترسی به فرم ها و گزارشات از CurrentProject استفاده بنمائید
در هر صورت داکیومنت آفیس را مطالعه بفرمائید.
office/vba/api/access.currentproject
CreateQueryDef
در فضای کاری مایکروسافت اکسس اگر چیزی غیر از رشته با طول صفر ("") برای نام شئ فراهم کنید زمان ساخت QueryDef نتیجه این میشود که شئ QueryDef بصورت اتوماتیک به مجموعه QueryDefs اضافه میشود
اگر شی مشخص شده ( کوئری ایجاد شده ) قبلا عضو مجموعه QueryDefs باشد ، با خطا مواجه خواهید شد. شما می توانید با استفاده از رشته ای با طول صفر زمان اجرای CreateQueryDef برای آرگومان Name یک QueryDef موقت بسازید. حتی می توانید این کار را با تنظیم ویژگی Name یک QueryDef جدید روی یک رشته با طول صفر "" انجام دهید
شی QueryDef موقت مفید هستند چنانچه بخواهید مکررا از عبارات اس کیو ال دینامیکی بدون احتیاج به ساختن اشیاء دائم جدید در مجموعه QueryDefs استفاده کنید. نمی توانید یک شی QueryDef موقت را به هر مجموعه ای اضافه کنید بدلیل اینکه رشته با طول صفر برای یک شئ QueryDef دائم معتبر نیست . می توان همیشه خصوصیات Sql و Name شئ QueryDef جدیدا ساخته شده را تنظیم و نتیجتا QueryDef را به مجموعه QueryDefs اضافه نمائید.
برای اجرای عبارت Sql در شئ QueryDef از متد Execute یا OpenRecordset بهره ببرید.
استفاده از شئ QueryDef راه ترجیحی است برای اجرای کوئریهای نوع Sql pass-through یا sql هایب که پاس دهی می شوند به یک رابط بیرونی با ODBC.
برای حذف این شئ از مجموعه در موتور دیتابیس اکسس از متد Delete در مجموعه استفاده نمائید.
expression .CreateQueryDef(Name, SQLText)
دو آرگومان بالا Optional یا انتخابی است.
پس با مطالعه داکیومنت آفیس به این نتیجه می رسیم که اگر نام کوئری ساخته شده چیزی غیر از رشته ای با طول صفر باشد ، در زمان ایجاد دوباره آن یا Recreate با خطا مواجه خواهیم شد چون بطور دائم به مجموعه QueryDefs اضافه می کند و تکرار پذیر هم نیست ( یونیک است ) لذا برای ایجاد کوئری موقت از ("") استفاده بنمائید بدون فاصله ، چرا ؟!!! چون خود Space هم طول دارد و صفر نیست.
دوستان عزیز حتما بعد از خواندن مطالب چه مفید واقع شود یا نشود لطفا لطفا در نظر سنجی که در منو است شرکت کنید
برای 32 بیت :
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim a As POINTAPI
از رویداد OnTimer استفاده میشود تا در هر لحظه تغییر مختصات ماوس در Screen گرفته شود.
GetCursorPos a
Label1.Caption="X:" & a.x & ";Y:" & a.y
When running in 64-bit versions of Office, Declare statements must include the PtrSafe keyword. The PtrSafe keyword asserts that a Declare statement is safe to run in 64-bit development environments. Adding the PtrSafe keyword to a Declare statement only signifies that the Declare statement explicitly targets 64-bits.
وقتی در نسخه 64 بیت اجرا می شود.عبارات اظهارشده می بایست شامل کلیدواژه ی PtrSafe باشد.در عبارات زیر مشاهده می کنید که PtrSafe در کجا بکاربرده شده و در ضمن بجای تایپ داده Long از LongLong یا LongPtr استفاده شود.
[ Public | Private ] Declare PtrSafe Function name Lib "libname" [ Alias "aliasname" ] [ ( [ arglist ] ) ] [ As type ]