کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

تابع GetClassNameA و GetWindowTextA از توابع API


User32.dll  64 Bit 



نحوه ی اظهار توابع عنوان این مطلب  در ویندوز 32 و 64 بیت یا در Vb6 یا Vb7 فرق میکند که در اینترنت جستجو کنید تابع صحیح برای موارد بالا وجود دارد.


تابع زیر نام یا کلاس را در بافر ایجاد و برمی گرداند 



برای گرفتن کلاس یا نام (  پنجره  )بکار برده میشود فرضا گرفتن  تکست  نوار عنوان پنجره ی اکسس جایی که اسم دیتابیس و نام اپلیکشن و حتی مسیر نمایان میشود


(Public Function GetClassName(h as LongPtr

Dim Buff As String*256

Dim BuffLen As Long 

((Buff=String(256,Chr(0

(BuffLen=getclassnamea(h,Buff,BuffLen

If BuffLen>0 Then 

(GetClassName=Left$(Buff,BuffLen

End If

Set Buff=Nothing 

End Function 



(Public Function GetWindowText(h as LongPtr

Dim Buff As String*256

Dim BuffLen As Long 

((Buff=String(256,Chr(0

(BuffLen=getwindowtexta(h,Buff,BuffLen

If BuffLen>0 Then 

(GetWindowText=Left$(Buff,BuffLen

End If 

Set Buff=Nothing

End Function 




تابع SetParent

.

DLL


User32.dll




ساخت کوئری با CreateQueryDef


Microsft DAO Object 


Dim db As Dao.DataBase

Dim qd As QueryDef

Set db=CurrentDb

("Set qd=db.CreateQueryDef("Query1","SELECT * FROM tblrefud




Microsoft Data Access Objects reference

Applies to: Access 2013, Office 2013





آدرس دهی کنترل موجود در فرم یا سابفرم






 : Form 

Forms!Form1!Text1

("Forms("Form1").Controls("Text1

: SubForm


وقتی فقط به سابفرم اشاره میکنید و از آوردن پراپرتی Form. استفاده نکنید نتیجتا به کنترل ها دسترسی ندارید و خطا دریافت می کنید.


If You Have Created Event In Subform Just Needs Write: Form_SubForm1.Form!Text1

If Not 

Forms!Form1!SubForm1!Text1


سابفرم پراپرتیهای مخصوص به خودش را داراست مثل Link Master و Link Child که ارتباط بین سابفرم و فرم اصلی را برقرار می کند فرضا با فیلتر کردن کمبو در فرم اصلی که حاوی آیدی های سابفرم است  سابفرم فیلتر میشود یا Border Style و غیره جز دسترسی به کنترل های فرمش.



مدیریت رویدادهای کنترل در فرم خاص


WithEvents


Get بازگشت مقدار پراپرتی و WriteOnly است

Set ذخیره مقدار پراپرتی و ReadOnly است


Getproperty procedure that is used to return the value of the property.


Set property procedure that is used to store the value of the property.



در لود فرم  Set mfrm=Me البته  قبلش باید کلاس را تعریف کرد


HTML LIST

Text : RichText

















WebBrowserControl در اکسس ۲۰۱۳ ببعد ( نمایش صفحات HTML در این کنترل )


البته در خود این کنترل در اکسس که در ورژن های بالاتر وجود دارد میتوان آدرس وب را در Property Sheet در Control Source داخل " " با = قرار داد و احتیاجی به Navigate هم نیست در 2010 یا 2007 در ActiveX داخل نوار دیزاین و گروه کنترل ها میتوان WebBrowser را انتخاب کرد و در فرم گذاشت در اینصورت پراپرتی بنام ControlSource وجود ندارد و از Navigate برای نمایش صفحه ی وب باید استفاده نمود. در نسخه ی 2016 این کنترل در گروپ کنترل ها وجود دارد در نوار دیزاین و برای کنسل کردن کلیک راست روی آن میتوان از رویداد KeyDown یا KeyUp استفاده کرد که اگر راست کلیک ( Button ) فشرده شد KeyCode برابر صفر شود با Msgbox Button در این Event  ها میتوان شماره ی ثابت باتن فشرده شده با Mouse را گرفت . در نسخ پائین تر فرضا 2007 یا 2010 که از ActiveX و فایل OCX مربوطه ایجاد میشود باید رویدادی به نام OnContextMenu ایجاد کرد 



    SDate = .Document.getElementByID("SDate").innerText
    Omega = .Document.getElementByID("Omega").innerText











 "........" Object.Navigate.
"........" Object.Navigate2.





object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)









("set xmlhttp = createobject(“Microsoft.XMLHttp
xmlhttp.open "GET","http://www.imdb.com",false










وضعیت پیشروی به رکورد بعدی در گزارش


Event : OnFormat  In Section


(Public Sub ChangeNextRecord(r As Report
r.NextRecord = False
End Sub

Provider ... کانکشن در اکسس برای Activex Data Object



"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\AccessFile.accdb"




"Provider=Microsoft.ACE.OLEDB.12.0;Data 
Source=C:\myFolder\myAccessFile.mdb,Database 
Password=MyDbPassword"



برای اکسس 2003 

"Provider=Microsoft.JET.OLEDB.4.0;Data 
Source=C:\myFolder\myAccessFile.mdb;Jet 
OLEDB:Database  Password=MyDbPassword"


Workgroup (system database) specifying username and password
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;

OpenSchema Method فرضا گرفتن نام جداول



SchemaEnum Constants and Constraint Columns Values 

 

ConstantValueDescriptionConstraint Columns
adSchemaAsserts0Returns the assertionsCONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
adSchemaCatalogs1Returns the catalog informationCATALOG_NAME
adSchemaCharacterSets2Returns the defined character set in the catalogCHARACTER_SET_CATALOG
CHARACTER_SET_SCHEMA
CHARACTER_SET_NAME
adSchemaCheckConstraints5Returns the defined check constraints in the catalogCONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
adSchemaCollations3Returns the defined character collations in the catalogCOLLATION_CATALOG
COLLATION_SCHEMA
COLLATION_NAME
adSchemaColumnDomainUsage11Returns the columns that are domain dependentDOMAIN_CATALOG
DOMAIN_SCHEMA
DOMAIN_NAME
COLUMN_NAME
adSchemaColumnPrivileges13Returns the column privilege informationTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
GRANTOR
GRANTEE
adSchemaColumns4Returns the columns informationTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
adSchemaConstraintColumnUsage6Returns the columns used by constraintsCOLUMN_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaConstraintTableUsage7Returns the tables used by constraintsTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaCubes32Returns info about the cubes used for multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
adSchemaDBInfoKeywords30Return the keywords recognized by the providernone
adSchemaDBInfoLiterals31Return the literals used in text commands by the providernone
adSchemaDimensions33Returns info about the dimensions in a cubeCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_NAME
DIMENSION_UNIQUE_NAME
adSchemaForeignKeys27Returns the foreign key columnPK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
FK_TABLE_CATALOG
FK_TABLE_SCHEMA
FK_TABLE_NAME
adSchemaHierarchies34Returns hierarchy info for multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_NAME
HIERARCHY_UNIQUE_NAME
adSchemaIndexes12Returns the indexes defined in a catalogTABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME
adSchemaKeyColumnUsage8Returns the defined key columns in the catalogCOLUMN_NAME
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaLevels35Returns info about the levels in multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_NAME
LEVEL_UNIQUE_NAME
adSchemaMeasures36Returns the measures for multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
MEASURE_NAME
MEASURE_UNIQUE_NAME
adSchemaMembers38Returns the available members for multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_UNIQUE_NAME
LEVEL_NUMBER
MEMBER_NAME
MEMBER_UNIQUE_NAME
MEMBER_CAPTION
MEMBER_TYPE
TREE OPERATOR
adSchemaPrimaryKeys28Returns the primary key columnsPK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
adSchemaProcedureColumns29Returns info on columns returned by stored proceduresPROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
COLUMN_NAME
adSchemaProcedureParameters26Returns info on the parameters and return codes of stored proceduresPROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PARAMETER_NAME
adSchemaProcedures16Returns info on the stored proceduresPROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PROCEDURE_TYPE
adSchemaProperties37Returns info on the properties of each level of multi-dimensional dataCATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_UNIQUE_NAME
MEMBER_UNIQUE_NAME
PROPERTY_TYPE
PROPERTY_NAME
adSchemaProviderSpecific-1For provider-specific, non-standard schemaprovider specfic
adSchemaProviderTypes22Returns the provider-supported data typesDATA_TYPE
BEST_MATCH
adSchemaReferentialConstraints9Returns the defined referential constraints in the catalogCONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
adSchemaSchemata17Returns the schema owned by a userCATALOG_NAME
SCHEMA_NAME
SCHEMA_OWNER
adSchemaSQLLanguages18Returns the SQL language support infonone
adSchemaStatistics19Returns the defined statistics in a catalogTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaTableConstraints10Returns the table contraints defined in the catalogCONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE
adSchemaTablePrivileges14Returns the privileges on tablesTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
GRANTOR
GRANTEE
adSchemaTables20Returns the tables in a catalogTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
adSchemaTranslations21Returns the character set translation infoTRANSLATION_CATALOG
TRANSLATION_SCHEMA
TRANSLATION_NAME
adSchemaTrustees39Not usednone
adSchemaUsagePrivileges15Returns the user privilege infoOBJECT_CATALOG
OBJECT_SCHEMA
OBJECT_NAME
OBJECT_TYPE
GRANTOR
GRANTEE
adSchemaViewColumnUsage24Returns the column usage for viewed tablesVIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
adSchemaViews23Returns the views info from the catalogTABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaViewTableUsage25Returns the table usage for viewed tablesVIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME



(Set X= Conn.OpenSchema(adSchemaTables

For i=0 To X.Count-1

Msgbox X(i).Name

Next

که   Constraint Columns در جدول بالا را برای adSchemaTables لیست میکند و میشود 

TABLE_CATALOG                                                                           
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE




    (("",OpenSchema(adSchemaColumns,Array("","","MyTable



ConnectionString در Access 2013




To reference ADO from Microsoft Visual Basic

  1. In Visual Basic, from the Project menu, select References....

  2. Select Microsoft ActiveX Data Objects x.x Library from the list


ADO Recordset Object 


objRecordset.Open 

source,actconn,cursortyp,locktyp,opt


CursorType







Set objRecordset= objConnection.OpenSchema(adSchemaTables)




(("Set rs = cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE
Do While Not rs.EOF
Debug.Print rs.Fields("TABLE_NAME").Value
rs.MoveNext
Loop
rs.Close

باز کردن فولدر مشخص شده


Shell.Application

ساخت آبجکت بالا 

("\\:Shell.Open("C.



ثابت های فولدرهای خاص یا SpecialFolder 


Environment.SpecialFolderEnum




Desktop                    0

Cookies                   33

DesktopDirectory   16

Favorites                  6

Fonts                        20

History                     34

MyComputer           17

MyDocuments         5

MyMusic                  13

MyPictures               39

MyVideos                 14

ProgramFiles           38

ProgramFilesX86    42

Recent                      8

StartMenu               11

Startup                     7

System                    37

Windows                 36

دسترسی به فولدرهای ویندوز ( ایجاد شی فولدر ) / کپی آیتم ( ها )به فولدر


Shell.Application


برای دسترسی به آیتم  یا آیتم های  فولدرهای  خاص استفاده از متد شی Folder  که Items هست 



متد CopyHere ... آیتم یا آیتم هایی را به فولدراضافه میکند 


("CopyHere("C:\AUTOEXEC.BAT.






مثال :  ثابت هگزا H14& یا دسیمال 20 ( حاصل 1 ×16+4) برای فولدر Fonts

(NameSpace(&H14.




باز کردن گزارش و پرینت



Private Sub Command33_Click()
DoCmd.OpenReport "repAwariaOtwarta", acViewPreview, , _
"[dbAwarieOtwarte].[ID] =" & Me![ID]
End Sub
DoCmd.PrintOut , , , , 1


در تصویر زیر آرگومان های متد پرینت بیان شده


ران کردن کوئری ها یا اجرای عبارات Sql ( با سرعت خوب )


مثل RunSql هشدار نمیدهد ولی سرعت خوبی دارد اگر dbFailOnError استفاده شود در صورت خطا طبق گفته ی داکیومنت در زیر Roll Back میشود .



CurrentDB.Execute







تغییر سورس جدول لینکی



Set tdef = New DAO.TableDef

tdef.Name = strLinkedTableName

tdef.Connect = strConnect

tdef.SourceTableName = strSourceTableName

ChooseColor




Public Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long 



 Public Enum CHOOSE_COLOR_FLAGS 

&CC_RGBINIT = &H1& CC_FULLOPEN = &H2

&CC_PREVENTFULLOPEN = &H4

&CC_SHOWHELP = &H8

&CC_ENABLEHOOK = &H10

&CC_ENABLETEMPLATE = &H20

 &CC_ENABLETEMPLATEHANDLE = &H40

&CC_SOLIDCOLOR = &H80

&CC_ANYCOLOR = &H100

 End Enum 


Private Type CHOOSECOLOR 

lStructSize As Long 

hwndOwner As Long 

hInstance As Long 

rgbResult As Long 

lpCustColors As Long 

flags As CHOOSE_COLOR_FLAGS 

lCustData As Long 

lpfnHook As Long 

lpTemplateName As String 

End Type 


Private Declare PtrSafe Function ChooseColor_API Lib

 "comdlg32.dll" Alias "ChooseColorA" (lpChoosecolor As CHOOSECOLOR) As Long

توابع API



#If Win64 Then 'Win64 = True, Win32 = False, Win16 = False
Private Declare PtrSafe Sub apiCopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (MyDest As Any, MySource As Any, ByVal MySize As Long)
Private Declare PtrSafe Sub apiExitProcess Lib "Kernel32" Alias "ExitProcess" (ByVal uExitCode As Long)
Private Declare PtrSafe Sub apiSleep Lib "Kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Declare PtrSafe Sub apiSetCursorPos Lib "User32" Alias "SetCursorPos" (ByVal X As Integer, ByVal Y As Integer)
Private Declare PtrSafe Function apiBringWindowToTop Lib "User32" Alias "BringWindowToTop" (ByVal lngHWnd As Long) As Long
Private Declare PtrSafe Function apiAttachThreadInput Lib "User32" Alias "AttachThreadInput" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare PtrSafe Function apiCloseWindow Lib "User32" Alias "CloseWindow" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiEnumChildWindows Lib "User32" Alias "EnumChildWindows" (ByVal hWndParent As Long, ByVal pEnumProc As Long, ByVal lParam As Long) As Long
Private Declare PtrSafe Function apiDestroyWindow Lib "User32" Alias "DestroyWindow" (ByVal hWnd As Long) As Boolean
Private Declare PtrSafe Function apiEndDialog Lib "User32" Alias "EndDialog" (ByVal hWnd As Long, ByVal result As Long) As Boolean
Private Declare PtrSafe Function apiExitWindowsEx Lib "User32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare PtrSafe Function apiFindWindowEx Lib "User32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare PtrSafe Function apiFindExecutable Lib "Shell32" Alias "FindExecutableA" (ByVal lpFile As String, ByVallpDirectory As String, ByVal lpResult As String) As Long
Private Declare PtrSafe Function apiFindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function apiGetDiskFreeSpaceEx Lib "Kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long
Private Declare PtrSafe Function apiGetActiveWindow Lib "User32" Alias "GetActiveWindow" () As Long Private Declare PtrSafe Function apiGetClassNameA Lib "User32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal szClassName As String, ByVal lLength As Long) As Long
Private Declare PtrSafe Function apiGetCommandLineParams Lib "Kernel32" Alias "GetCommandLineA" () As Long
Private Declare PtrSafe Function apiGetCommandLine Lib "Kernel32" Alias "GetCommandLineW" () As Long Private Declare PtrSafe Function apiGetDriveType Lib "Kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare PtrSafe Function apiGetParent Lib "User32" Alias "GetParent" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiGetExitCodeProcess Lib "Kernel32" Alias "GetExitCodeProcess" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare PtrSafe Function apiGetForegroundWindow Lib "User32" Alias "GetForegroundWindow" () As Long
Private Declare PtrSafe Function apiGetLastError Lib "Kernel32" Alias "GetLastError" () As Integer
Private Declare PtrSafe Function apiGetFrequency Lib "Kernel32" Alias "QueryPerformanceFrequency" (cyFrequency As Currency) As Long
Private Declare PtrSafe Function apiGetWindowRect Lib "User32" Alias "GetWindowRect" (ByVal hWnd As Long, lpRect As winRect) As Long
Private Declare PtrSafe Function apiGetSystemMetrics Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Private Declare PtrSafe Function apiGetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function apiGetTickCount Lib "Kernel32" Alias "QueryPerformanceCounter" (cyTickCount As Currency) As Long
Private Declare PtrSafe Function apiGetTickCountMs Lib "Kernel32" Alias "GetTickCount" () As Long Private Declare PtrSafe Function apiGetUserName Lib "AdvApi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare PtrSafe Function apiIsZoomed Lib "User32" Alias "IsZoomed" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiGetWindow Lib "User32" Alias "GetWindow" (ByVal hWnd As Long, ByVal wCmd As Long) As Long Private Declare PtrSafe Function apiGetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal szWindowText As String, ByVal lLength As Long) As Long
Private Declare PtrSafe Function apiIsCharAlphaNumericA Lib "User32" Alias "IsCharAlphaNumericA" (ByVal byChar As Byte) As Long
Private Declare PtrSafe Function apiGetWindowThreadProcessId Lib "User32" Alias "GetWindowThreadProcessId" (ByVal hWnd As Long, lpdwProcessId As Long) As Long Private Declare PtrSafe Function apiIsIconic Lib "User32" Alias "IsIconic" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiPathAddBackslashByString Lib "ShlwApi" Alias "PathAddBackslashW" (ByVal lpszPath As String) As Long 'http://msdn.microsoft.com/en-us/library/aa155716%28office.10%29.aspx
Private Declare PtrSafe Function apiIsWindowVisible Lib "User32" Alias "IsWindowVisible" (ByVal hWnd As Long) As Long Private Declare PtrSafe Function apiLStrCpynA Lib "Kernel32" Alias "lstrcpynA" (ByVal pDestination As String, ByVal pSource As Long, ByVal iMaxLength As Integer) As Long
Private Declare PtrSafe Function apiMessageBox Lib "User32" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Declare PtrSafe Function apiOpenIcon Lib "User32" Alias "OpenIcon" (ByVal hWnd As Long) As Long Private Declare PtrSafe Function apiOpenProcess Lib "Kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare PtrSafe Function apiSetFocus Lib "User32" Alias "SetFocus" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiPathAddBackslashByPointer Lib "ShlwApi" Alias "PathAddBackslashW" (ByVal lpszPath As Long) As Long Private Declare PtrSafe Function apiPostMessage Lib "User32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare PtrSafe Function apiRegQueryValue Lib "AdvApi32" Alias "RegQueryValue" (ByVal hKey As Long, ByVal sValueName As String, ByVal dwReserved As Long, ByRef lValueType As Long, ByVal sValue As String, ByRef lResultLen As Long) As Long
Private Declare PtrSafe Function apiSendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare PtrSafe Function apiSetActiveWindow Lib "User32" Alias "SetActiveWindow" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiShellExecute Lib "Shell32" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare PtrSafe Function apiSetCurrentDirectoryA Lib "Kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long Private Declare PtrSafe Function apiSetForegroundWindow Lib "User32" Alias "SetForegroundWindow" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function apiSetWindowPlacement Lib "User32" Alias "SetWindowPlacement" (ByVal hWnd As Long, ByRef lpwndpl As winPlacement) As Long
Private Declare PtrSafe Function apiSetLocalTime Lib "Kernel32" Alias "SetLocalTime" (lpSystem As SystemTime) As Long
Private Declare PtrSafe Function apiSetWindowText Lib "User32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long
Private Declare PtrSafe Function apiSetWindowPos Lib "User32" Alias "SetWindowPos" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
pszDisplayName As String
Private Declare PtrSafe Function apiShowWindow Lib "User32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Private Declare PtrSafe Function apiShowWindowAsync Lib "User32" Alias "ShowWindowAsync" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare PtrSafe Function apiStrCpy Lib "Kernel32" Alias "lstrcpynA" (ByVal pDestination As String, ByVal pSource As String, ByVal iMaxLength As Integer) As Long
Private Declare PtrSafe Function apiStringLen Lib "Kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long Private Declare PtrSafe Function apiStrTrimW Lib "ShlwApi" Alias "StrTrimW" () As Boolean
Private Declare PtrSafe Function apiVarPtrArray Lib "MsVbVm50" Alias "VarPtr" (Var() As Any) As Long
Private Declare PtrSafe Function apiTerminateProcess Lib "Kernel32" Alias "TerminateProcess" (ByVal hWnd As Long, ByVal uExitCode As Long) As Long Private Declare PtrSafe Function apiTimeGetTime Lib "Winmm" Alias "timeGetTime" () As Long Private Type browseInfo 'used by apiBrowseForFolder hOwner As Long pidlRoot As Long
End Type 'Find a specific window with dynamic caption from a list of all open windows: http://www.everythingaccess.com/tutorials.asp?ID=Bring-an-external-application-window-to-the-foreground
lpszTitle As String ulFlags As Long lpfn As Long
lParam As Long
iImage As Long
Private Declare PtrSafe Function apiBrowseForFolder Lib "Shell32" Alias "SHBrowseForFolderA" (lpBrowseInfo As browseInfo) As Long
End Type
Private Type CHOOSECOLOR 'used by apiChooseColor; http://support.microsoft.com/kb/153929 and http://www.cpearson.com/Excel/Colors.aspx
lStructSize As Long hWndOwner As Long hInstance As Long rgbResult As Long lpCustColors As String
Private Declare PtrSafe Function apiChooseColor Lib "ComDlg32" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
flags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End Type
Private Type FindWindowParameters 'Custom structure for passing in the parameters in/out of the hook enumeration function; could use global variables instead, but this is nicer
strTitle As String 'INPUT hWnd As Long 'OUTPUT
Private Declare PtrSafe Sub apiGetLocalTime Lib "Kernel32" Alias "GetLocalTime" (lpSystem As SystemTime)
Private Declare PtrSafe Function apiEnumWindows Lib "User32" Alias "EnumWindows" (ByVal lpEnumFunc As LongPtr, ByVal lParam As LongPtr) As Long
Private Type lastInputInfo 'used by apiGetLastInputInfo, getLastInputTime cbSize As Long dwTime As Long End Type
'http://www.pgacon.com/visualbasic.htm#Take%20Advantage%20of%20Conditional%20Compilation
Private Declare PtrSafe Function apiGetLastInputInfo Lib "User32" Alias "GetLastInputInfo" (ByRef plii As lastInputInfo) As Long
wMonth As Integer
'Logical and Bitwise Operators in Visual Basic: http://msdn.microsoft.com/en-us/library/wz3k228a(v=vs.80).aspx and http://stackoverflow.com/questions/1070863/hidden-features-of-vba Private Type SystemTime wYear As Integer wDayOfWeek As Integer
Private Declare PtrSafe Function apiInternetOpen Lib "WiniNet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long 'Open the Internet object 'ex: lngINet = InternetOpen(“MyFTP Control”, 1, vbNullString, vbNullString, 0)
wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Type pointAPI 'used by apiSetWindowPlacement X As Long
Y As Long
End Type
Private Type rectAPI 'used by apiSetWindowPlacement
Left_Renamed As Long Top_Renamed As Long
Private Type winPlacement 'used by apiSetWindowPlacement
Right_Renamed As Long Bottom_Renamed As Long End Type
ptMinPosition As pointAPI
length As Long flags As Long showCmd As Long
Private Declare PtrSafe Function apiGetWindowPlacement Lib "User32" Alias "GetWindowPlacement" (ByVal hWnd As Long, ByRef lpwndpl As winPlacement) As Long
ptMaxPosition As pointAPI rcNormalPosition As rectAPI End Type
Right As Long
Private Type winRect 'used by apiMoveWindow Left As Long Top As Long Bottom As Long End Type
Private Declare PtrSafe Function apiMoveWindow Lib "User32" Alias "MoveWindow" (ByVal hWnd As Long, xLeft As Long, ByVal yTop As Long, wWidth As Long, ByVal hHeight As Long, ByVal repaint As Long) As Long
Private Declare PtrSafe Function apiFtpPutFile Lib "WiniNet" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean 'Send a file 'ex: blnRC = FtpPutFile(lngINetConn, “c:\dirmap.txt”, “dirmap.txt”, 1, 0)
Private Declare PtrSafe Function apiInternetConnect Lib "WiniNet" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long 'Connect to the network 'ex: lngINetConn = InternetConnect(lngINet, "ftp.microsoft.com", 0, "anonymous", "wally@wallyworld.com", 1, 0, 0)
Private Declare PtrSafe Function apiFtpGetFile Lib "WiniNet" Alias "FtpGetFileA" (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean 'Get a file 'ex: blnRC = FtpGetFile(lngINetConn, "dirmap.txt", "c:\dirmap.txt", 0, 0, 1, 0)
#ElseIf Win32 Then 'Win32 = True, Win16 = False
Private Declare PtrSafe Function apiFtpDeleteFile Lib "WiniNet" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean 'Delete a file 'ex: blnRC = FtpDeleteFile(lngINetConn, “test.txt”) Private Declare PtrSafe Function apiInternetCloseHandle Lib "WiniNet" (ByVal hInet As Long) As Integer 'Close the Internet object 'ex: InternetCloseHandle lngINetConn 'ex: InternetCloseHandle lngINet
Private Declare PtrSafe Function apiFtpFindFirstFile Lib "WiniNet" Alias "FtpFindFirstFileA" (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME
End Type 'ex: lngHINet = FtpFindFirstFile(lngINetConn, "*.*", pData, 0, 0)
ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * 1 'MAX_FTP_PATH cAlternate As String * 14
Private Declare PtrSafe Function apiInternetFindNextFile Lib "WiniNet" Alias "InternetFindNextFileA" (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long 'ex: blnRC = InternetFindNextFile(lngHINet, pData)

ساخت شی TabelDef ( جدول در اکسس )

ایجاد شی در حافظه ی موقت 

Set tdfRoyalties= dbsCurrent.CreateTableDef("Royalties")

ایجاد کانکشن

=tdfRoyalties.Connect 

" ODBC;DATABASE=pubs;DSN=Publishers"

تنظیم منبع شی ایجادشده 

" tdfRoyalties.SourceTableName ="roysched

اضافه کردن جدول از دیتابیس دیگربه دیتابیس جاری

dbsCurrent.TableDefs.Append tdfRoyalties

خالی کردن از حافظه ی موقت

Set tdfRoyalties=Nothing






مثال دیگر دیتابیس اکسس با پسورد


  & tblDef.Connect = "MS Access;DATABASE=" &  RemoteDbName

 "PWD=YourPassword"


cnX = "ODBC;DRIVER=SQL Server;SERVER=" & vServer   & ";DATABASE=" & vDatabase & ";UID=" & vUserName

 PWD=" & vPassword;" & 


CurrentDb.CreateTableDef(vLocalTable,dbAttachSavePWD, vRemoteTable, cnX



TableDef 

Attributes