Microsft DAO Object
Dim db As Dao.DataBase
Dim qd As QueryDef
Set db=CurrentDb
("Set qd=db.CreateQueryDef("Query1","SELECT * FROM tblrefud
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 است
Get
property 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 البته قبلش باید کلاس را تعریف کرد
البته در خود این کنترل در اکسس که در ورژن های بالاتر وجود دارد میتوان آدرس وب را در 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.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)

xmlhttp.open "GET","http://www.imdb.com",false
Event : OnFormat In Section
(Public Sub ChangeNextRecord(r As Reportr.NextRecord = FalseEnd Sub
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\AccessFile.accdb"
برای اکسس 2003
Constant | Value | Description | Constraint Columns |
---|---|---|---|
adSchemaAsserts | 0 | Returns the assertions | CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaCatalogs | 1 | Returns the catalog information | CATALOG_NAME |
adSchemaCharacterSets | 2 | Returns the defined character set in the catalog | CHARACTER_SET_CATALOG CHARACTER_SET_SCHEMA CHARACTER_SET_NAME |
adSchemaCheckConstraints | 5 | Returns the defined check constraints in the catalog | CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaCollations | 3 | Returns the defined character collations in the catalog | COLLATION_CATALOG COLLATION_SCHEMA COLLATION_NAME |
adSchemaColumnDomainUsage | 11 | Returns the columns that are domain dependent | DOMAIN_CATALOG DOMAIN_SCHEMA DOMAIN_NAME COLUMN_NAME |
adSchemaColumnPrivileges | 13 | Returns the column privilege information | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME GRANTOR GRANTEE |
adSchemaColumns | 4 | Returns the columns information | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaConstraintColumnUsage | 6 | Returns the columns used by constraints | COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaConstraintTableUsage | 7 | Returns the tables used by constraints | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaCubes | 32 | Returns info about the cubes used for multi-dimensional data | CATALOG_NAME SCHEMA_NAME CUBE_NAME |
adSchemaDBInfoKeywords | 30 | Return the keywords recognized by the provider | none |
adSchemaDBInfoLiterals | 31 | Return the literals used in text commands by the provider | none |
adSchemaDimensions | 33 | Returns info about the dimensions in a cube | CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_NAME DIMENSION_UNIQUE_NAME |
adSchemaForeignKeys | 27 | Returns the foreign key column | PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME FK_TABLE_CATALOG FK_TABLE_SCHEMA FK_TABLE_NAME |
adSchemaHierarchies | 34 | Returns hierarchy info for multi-dimensional data | CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_NAME HIERARCHY_UNIQUE_NAME |
adSchemaIndexes | 12 | Returns the indexes defined in a catalog | TABLE_CATALOG TABLE_SCHEMA INDEX_NAME TYPE TABLE_NAME |
adSchemaKeyColumnUsage | 8 | Returns the defined key columns in the catalog | COLUMN_NAME CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaLevels | 35 | Returns info about the levels in multi-dimensional data | CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_UNIQUE_NAME LEVEL_NAME LEVEL_UNIQUE_NAME |
adSchemaMeasures | 36 | Returns the measures for multi-dimensional data | CATALOG_NAME SCHEMA_NAME CUBE_NAME MEASURE_NAME MEASURE_UNIQUE_NAME |
adSchemaMembers | 38 | Returns the available members for multi-dimensional data | CATALOG_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 |
adSchemaPrimaryKeys | 28 | Returns the primary key columns | PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME |
adSchemaProcedureColumns | 29 | Returns info on columns returned by stored procedures | PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME COLUMN_NAME |
adSchemaProcedureParameters | 26 | Returns info on the parameters and return codes of stored procedures | PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMETER_NAME |
adSchemaProcedures | 16 | Returns info on the stored procedures | PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PROCEDURE_TYPE |
adSchemaProperties | 37 | Returns info on the properties of each level of multi-dimensional data | CATALOG_NAME SCHEMA_NAME CUBE_NAME DIMENSION_UNIQUE_NAME HIERARCHY_UNIQUE_NAME LEVEL_UNIQUE_NAME MEMBER_UNIQUE_NAME PROPERTY_TYPE PROPERTY_NAME |
adSchemaProviderSpecific | -1 | For provider-specific, non-standard schema | provider specfic |
adSchemaProviderTypes | 22 | Returns the provider-supported data types | DATA_TYPE BEST_MATCH |
adSchemaReferentialConstraints | 9 | Returns the defined referential constraints in the catalog | CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaSchemata | 17 | Returns the schema owned by a user | CATALOG_NAME SCHEMA_NAME SCHEMA_OWNER |
adSchemaSQLLanguages | 18 | Returns the SQL language support info | none |
adSchemaStatistics | 19 | Returns the defined statistics in a catalog | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaTableConstraints | 10 | Returns the table contraints defined in the catalog | CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE |
adSchemaTablePrivileges | 14 | Returns the privileges on tables | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME GRANTOR GRANTEE |
adSchemaTables | 20 | Returns the tables in a catalog | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
adSchemaTranslations | 21 | Returns the character set translation info | TRANSLATION_CATALOG TRANSLATION_SCHEMA TRANSLATION_NAME |
adSchemaTrustees | 39 | Not used | none |
adSchemaUsagePrivileges | 15 | Returns the user privilege info | OBJECT_CATALOG OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE GRANTOR GRANTEE |
adSchemaViewColumnUsage | 24 | Returns the column usage for viewed tables | VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
adSchemaViews | 23 | Returns the views info from the catalog | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaViewTableUsage | 25 | Returns the table usage for viewed tables | VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
(Set X= Conn.OpenSchema(adSchemaTables
For i=0 To X.Count-1
Msgbox X(i).Name
Next
In Visual Basic, from the Project menu, select References....
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, "TABLEDo While Not rs.EOFDebug.Print rs.Fields("TABLE_NAME").Valuers.MoveNextLooprs.Close
Shell.Application
ساخت آبجکت بالا
("\\:Shell.Open("C.
ثابت های فولدرهای خاص یا SpecialFolder
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 SubDoCmd.PrintOut , , , , 1در تصویر زیر آرگومان های متد پرینت بیان شده
مثل RunSql هشدار نمیدهد ولی سرعت خوبی دارد اگر dbFailOnError استفاده شود در صورت خطا طبق گفته ی داکیومنت در زیر Roll Back میشود .
CurrentDB.Execute
Set tdef = New DAO.TableDef
tdef.Name = strLinkedTableName
tdef.Connect = strConnect
tdef.SourceTableName = strSourceTableName
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
#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 LongPrivate Declare PtrSafe Function apiAttachThreadInput Lib "User32" Alias "AttachThreadInput" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As LongPrivate Declare PtrSafe Function apiCloseWindow Lib "User32" Alias "CloseWindow" (ByVal hWnd As Long) As LongPrivate Declare PtrSafe Function apiEnumChildWindows Lib "User32" Alias "EnumChildWindows" (ByVal hWndParent As Long, ByVal pEnumProc As Long, ByVal lParam As Long) As LongPrivate Declare PtrSafe Function apiDestroyWindow Lib "User32" Alias "DestroyWindow" (ByVal hWnd As Long) As BooleanPrivate Declare PtrSafe Function apiEndDialog Lib "User32" Alias "EndDialog" (ByVal hWnd As Long, ByVal result As Long) As BooleanPrivate Declare PtrSafe Function apiExitWindowsEx Lib "User32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongPrivate 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 LongPrivate Declare PtrSafe Function apiFindExecutable Lib "Shell32" Alias "FindExecutableA" (ByVal lpFile As String, ByVallpDirectory As String, ByVal lpResult As String) As LongPrivate Declare PtrSafe Function apiFindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate 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 LongPrivate Declare PtrSafe Function apiGetDiskFreeSpaceEx Lib "Kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As LongPrivate Declare PtrSafe Function apiGetCommandLineParams Lib "Kernel32" Alias "GetCommandLineA" () As LongPrivate Declare PtrSafe Function apiGetCommandLine Lib "Kernel32" Alias "GetCommandLineW" () As Long Private Declare PtrSafe Function apiGetDriveType Lib "Kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As LongPrivate Declare PtrSafe Function apiGetParent Lib "User32" Alias "GetParent" (ByVal hWnd As Long) As LongPrivate Declare PtrSafe Function apiGetExitCodeProcess Lib "Kernel32" Alias "GetExitCodeProcess" (ByVal hProcess As Long, lpExitCode As Long) As LongPrivate Declare PtrSafe Function apiGetForegroundWindow Lib "User32" Alias "GetForegroundWindow" () As LongPrivate Declare PtrSafe Function apiGetLastError Lib "Kernel32" Alias "GetLastError" () As IntegerPrivate Declare PtrSafe Function apiGetFrequency Lib "Kernel32" Alias "QueryPerformanceFrequency" (cyFrequency As Currency) As LongPrivate 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 LongPrivate Declare PtrSafe Function apiGetWindowRect Lib "User32" Alias "GetWindowRect" (ByVal hWnd As Long, lpRect As winRect) As LongPrivate Declare PtrSafe Function apiGetTickCount Lib "Kernel32" Alias "QueryPerformanceCounter" (cyTickCount As Currency) As LongPrivate 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 LongPrivate 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 LongPrivate Declare PtrSafe Function apiIsZoomed Lib "User32" Alias "IsZoomed" (ByVal hWnd As Long) As LongPrivate Declare PtrSafe Function apiIsCharAlphaNumericA Lib "User32" Alias "IsCharAlphaNumericA" (ByVal byChar As Byte) As LongPrivate 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 LongPrivate 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 LongPrivate 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.aspxPrivate 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 LongPrivate 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 LongPrivate 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 LongPrivate Declare PtrSafe Function apiSetFocus Lib "User32" Alias "SetFocus" (ByVal hWnd As Long) As LongPrivate 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 LongPrivate 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 LongPrivate 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 LongPrivate 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 LongPrivate Declare PtrSafe Function apiSetWindowPlacement Lib "User32" Alias "SetWindowPlacement" (ByVal hWnd As Long, ByRef lpwndpl As winPlacement) As LongPrivate Declare PtrSafe Function apiSetLocalTime Lib "Kernel32" Alias "SetLocalTime" (lpSystem As SystemTime) As LongPrivate Declare PtrSafe Function apiSetWindowText Lib "User32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As LongPrivate 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 LongPrivate 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 LongpszDisplayName As StringPrivate Declare PtrSafe Function apiStrCpy Lib "Kernel32" Alias "lstrcpynA" (ByVal pDestination As String, ByVal pSource As String, ByVal iMaxLength As Integer) As LongPrivate Declare PtrSafe Function apiStringLen Lib "Kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long Private Declare PtrSafe Function apiStrTrimW Lib "ShlwApi" Alias "StrTrimW" () As BooleanPrivate Declare PtrSafe Function apiVarPtrArray Lib "MsVbVm50" Alias "VarPtr" (Var() As Any) As LongPrivate 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 LonglpszTitle As String ulFlags As Long lpfn As LongEnd 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-foregroundlParam As LongiImage As LongPrivate Declare PtrSafe Function apiBrowseForFolder Lib "Shell32" Alias "SHBrowseForFolderA" (lpBrowseInfo As browseInfo) As LongEnd TypePrivate Type CHOOSECOLOR 'used by apiChooseColor; http://support.microsoft.com/kb/153929 and http://www.cpearson.com/Excel/Colors.aspxlStructSize As Long hWndOwner As Long hInstance As Long rgbResult As Long lpCustColors As StringPrivate Declare PtrSafe Function apiChooseColor Lib "ComDlg32" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Longflags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End TypePrivate Type FindWindowParameters 'Custom structure for passing in the parameters in/out of the hook enumeration function; could use global variables instead, but this is nicerstrTitle As String 'INPUT hWnd As Long 'OUTPUTPrivate 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 LongPrivate Type lastInputInfo 'used by apiGetLastInputInfo, getLastInputTime cbSize As Long dwTime As Long End Type'http://www.pgacon.com/visualbasic.htm#Take%20Advantage%20of%20Conditional%20CompilationPrivate Declare PtrSafe Function apiGetLastInputInfo Lib "User32" Alias "GetLastInputInfo" (ByRef plii As lastInputInfo) As LongwMonth 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 IntegerwDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Type pointAPI 'used by apiSetWindowPlacement X As LongPrivate 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)Y As LongEnd TypePrivate Type rectAPI 'used by apiSetWindowPlacementLeft_Renamed As Long Top_Renamed As LongPrivate Type winPlacement 'used by apiSetWindowPlacementRight_Renamed As Long Bottom_Renamed As Long End TypeptMinPosition As pointAPIlength As Long flags As Long showCmd As LongPrivate Declare PtrSafe Function apiGetWindowPlacement Lib "User32" Alias "GetWindowPlacement" (ByVal hWnd As Long, ByRef lpwndpl As winPlacement) As LongptMaxPosition As pointAPI rcNormalPosition As rectAPI End TypeRight As LongPrivate Type winRect 'used by apiMoveWindow Left As Long Top As Long Bottom As Long End TypePrivate 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 LongPrivate 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)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#ElseIf Win32 Then 'Win32 = True, Win16 = FalsePrivate 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 LongPrivate Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIMEEnd 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 * 14Private Declare PtrSafe Function apiInternetFindNextFile Lib "WiniNet" Alias "InternetFindNextFileA" (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long 'ex: blnRC = InternetFindNextFile(lngHINet, pData)
ایجاد شی در حافظه ی موقت
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
ساخت جدول مشخصات مشتری با نام Customer_info
CustomerID
CustomerCD
CustomerTel
CustomerAddress
ساخت جدول متریال یا متریال های مورد نیاز قطعه ی تولیدی با نام Pro_Requirement
Pro_Itm_CD کد قطعه فرضا 120
Pro_Itm_Mat متریال قطعه فرضا کد 120 از ترکیب یا اسمبلی چهار متریال A-D حاصل میشود.
ساخت جدول قطعه شامل کد و شرح آن فرضا
Pro_Itm_CD کد آیتم قطعه ی تولیدی فرضا کد 120
Pro_Itm_Desc شرح قطعه
ساخت جدول شامل کد مشتری کد قطعه تعداد قطعه ی موردنیاز مشتری تعداد قابل تولید ( کامل ) کسری تاریخ با نام Customer_Requirement
Pro_CustomerID
Pro_Itm_CD
Pro_Itm_Qty
Supplied چک باکس برای زمانیکه اگر حتی یک قطعه را می شد تامین کرد تیک بخورد ( فرضا در کانتینیوس فرم باتنی دارید که از طریق آن و لوپ در تعداد موردنیاز مشتری اپند انجام می گیرد )
Suppplied_Doc
Supplied_Qty
ساخت جدول شامل ثبت مواد ورودی و مواد مصرف شده برای ساخت قطعاتی که مواد اولیه ی آن کسری ندارد با نام Pro_Entry
(زمانیکه در فرم شما کار تخصیص متریال به قطعه را انجام می دهید بعد از تایید نهایی توسط کارفرما به این جدول با داکیومنت نامبری که خودتان تشخیص می دهید اپند میشود)
Pro_Itm_Mat
Pro_Itm_Type کمبو باکس شامل لیست Entry و Exit
Pro_Itm_Doc
Pro_Itm_Dt
Pro_Itm_Qty
ساخت جدول موقت یا Temp برای اضافه شدن متریال یا متریالهای قطعه کد موردنظر از جدول Pro_Requirement از آیدی ۱ تا عدد درخواست مشتری یا نام Pro_Allocative ( محتویات این جدول در هر بار تخصیص دادن باید با کوئری دیلیت حذف شوند . )
Pro_Customer_ID
Pro_Itm_ID
Pro_Itm_CD
Pro_Itm_Mat
Pro_Itm_Qty
Pro_Itm_Pos
Pro_Itm_Inventory برای این فیلد اگر نال بود ( در اولین اپند ) از کوئری Inventory بازیابی می کند و در اپند های بعدی مقدار فیلد Pro_Itm_Inventory میشود حاصل تفریق این فیلد و Pro_Itm_Qty در همین جدول موقت در صورتیکه Pro_Itm_ID برابر Dmax آیدی در همین جدول موقت باشد.
Pro_Itm_Pos اگر تفریق Inventory و Qty مثبت بود True در غیر اینصورت False در نظر می گیرد .
ساخت کوئری Inventory و کسر سام تعداد ثبت شده ی تایپ Entry و سام تعداد تخصیص یافته ی قطعه ی کامل شده با تایپ Exit از جدول Pro_Entry
اگر طبق جدول Pro_Entry عمل کنید به موجودی زیر خواهید رسید
ساخت کوئری اپند با نام Append_To_Allocative که محتویات داخل جدول Pro_Requirement را با توجه به کدقطعه و موجودی متریال مورد نیاز قطعه از کوئری Inventory به جدول موقت Pro_Allocative اضافه می کند مضاف بر اینکه به جدول موقت Id میدهد ( Pro_Itm_ID ) که از یک شروع ( Dmax در جدول موقت و با Nz اگر Null بود صفر اگر Null نبود یک شماره اضافه کند ) و به تعداد موردنیاز مشتری ختم می شود البته باید در لوپ و در فرم اجرا شود که بیشتر اضافه نکند.چیزی که باید در نظر گرفت این است که در فرم چک باکسی تعبیه گردد که در صورت تخصیص دادن حتی یک قطعه تیک خورده و از زدن باتن دوباره ی اپند جلوگیری شود .
زمانیکه اپند به تعداد قطعه ی موردنیاز مشتری به جدول موقت Pro_Allocative انجام شد میشود از این جدول کوئری نوشت که با توجه به Pro_Itm_ID کانت تعداد True ها در فیلد Pro_Itm_Pos را بدست آورد و در شرط کانت هم با Dcount تعداد متریال های ساخت یک قطعه را با توجه به کد قطعه از جدول Pro_Requirement بدست آورد ... فرض کنید تعداد متریال مورد نیاز کد قطعه ای 4 آیتم باشد ( از جدول Pro_Requirement با توجه به فیلد Pro_Itm_CD استخراج می شود ) در جدول موقت اگر تعداد هر آیدی قطعه برابر 4 بود با توجه به شرط True بعنوان یک قطعه ی کامل در نظر گرفته میشود و می توانید با Dcount در همین Pro_Itm_ID تعداد آیدی ها را بدست آورد و در نتیجه خواهید فهمید چند قطعه ی کامل برای مشتری قابل ساخت است از تعداد چیزی که سفارش داده . بعدا میتوانید با کوئری دیگری کسری های متریال در Id قطعاتی که کانت آنها با توجه به شرط True مخالف کانت متریال در جدول Pro_Requiremenr است را بدست آورید.
قدم اول در هنگام اجرای باتن پاک کردن :
("db.Execute ("Delete from Pro_Allocative
قدم دوم لوپ به تعداد فیلد Pro_Itm_Qty که 15 هست :
For i = 1 To15
("db.Execute ("Append_To_Allocative
Next
طبق کوئری 3 تعداد 8 قطعه آماده ی ساخت و تحویل به مشتریست Expr2 حاصلضرب Pro_Itm_qty متریال قطعه در تعداد تحویلی که 8 است Expr1
زمانیکه از Allocate متریال یا متریال هایی برای قطعه کد موردنظر مشتری اطمینان حاصل کردید حتی اگر یک قطعه ی کامل باشد و کارفرما هم در صورت عدم تامین سایر تعداد این قطعه کد رضایت داشته باشد در اینجا شما باید با داکیومنت نامبری خروج مواد را صادر و به جدول Pro_Entry ( محل ثبت ورود متریال و خروج متریال مورد نیاز قطعه کد مشتری ) بفرستید با یک کوئری اپند دیگر که شماره داکیومنت فرضا میشود آخرین شماره ی ثبت شده در تیپ Exit در همین جدول باضافه ی یک ، برای اینکار هم از تعداد آیدی کد قطعاتی که متریال آنها کامل شده در تعداد موردنیاز متریال آن قطعه کد در جدول Pro_Requirement استفاده می کنید.
طبق جدول Pro_Allocative در بالاتر قطعه کد 120 تعداد 7 قطعه کامل و آماده ی ساخت است و قطعه کد 8 تا 15 درمتریال D کسرس دارند که جمع کل کسری 50 قطعه است
تنظیم هر عنصربه صفر یا به "" منظور ( طول رشته به صفر ) یا آزاد کردن فضای اشغال شده )
Dim DynamicArray() As Integer ' Dynamic array.
Erase DynamicArray ' Free memory used by array.