software:microsoft:access
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
software:microsoft:access [2015/05/05 16:43] – created superwizard | software:microsoft:access [2021/10/11 00:32] (current) – [Can t find project or library] superwizard | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== PtrSafe Access adjustment for 64 bit ====== | ||
+ | |||
+ | 2020-02-26 | ||
+ | |||
+ | |||
+ | Compile error 64-bit | ||
+ | |||
+ | Change this | ||
+ | |||
+ | Private Declare Function OpenProcess Lib " | ||
+ | Private Declare Function GetExitCodeProcess Lib " | ||
+ | |||
+ | to this and it will compile on both 32-bit and 64-bit | ||
+ | |||
+ | < | ||
+ | #If Win64 Then | ||
+ | Private Declare PtrSafe Function OpenProcess Lib " | ||
+ | Private Declare PtrSafe Function GetExitCodeProcess Lib " | ||
+ | #Else | ||
+ | Private Declare Function OpenProcess Lib " | ||
+ | Private Declare Function GetExitCodeProcess Lib " | ||
+ | #End If | ||
+ | </ | ||
+ | From < | ||
+ | |||
+ | |||
+ | 2020-02-20 | ||
+ | |||
+ | Compile error | ||
+ | |||
+ | |||
+ | |||
+ | Private Declare Function WaitForSingleObject Lib " | ||
+ | hHandle As Long, ByVal dwMilliseconds As Long) As Long | ||
+ | | ||
+ | ====== Can t find project or library ====== | ||
+ | <WRAP center round box > | ||
+ | |||
+ | |||
+ | dtFMSProcessingDate = Date | ||
+ | | ||
+ | | ||
+ | MsgBox VBA.Date | ||
+ | |||
+ | From < | ||
+ | |||
+ | Also | ||
+ | |||
+ | 2021-10-09 | ||
+ | |||
+ | TRIM() not found? Compile error: Can't find project or library in Excel 2007 | ||
+ | |||
+ | From < | ||
+ | |||
+ | |||
+ | Answer: **On the VBA window go to Tools-> | ||
+ | |||
+ | ClosedXML - Create Excel files in .Net | ||
+ | • Proposed as answer byTim Johnson at AptosFriday, | ||
+ | • Unproposed as answer byTim Johnson at AptosFriday, | ||
+ | Thursday, January 20, 2011 4:54 AM | ||
+ | |||
+ | From < | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | ====== How to display Access query results without having to create temporary query? ====== | ||
+ | |||
+ | |||
+ | From: http:// | ||
+ | |||
+ | < | ||
+ | Const cstrQueryName As String = " | ||
+ | Dim db As DAO.Database | ||
+ | Dim qdf As DAO.QueryDef | ||
+ | Dim sqlStr As String | ||
+ | |||
+ | ' | ||
+ | ' Apparently you have that piece worked out. I'll use a simple query ... | ||
+ | sqlStr = " | ||
+ | |||
+ | Set db = CurrentDb | ||
+ | If Not QueryExists(cstrQueryName) Then | ||
+ | Set qdf = db.CreateQueryDef(cstrQueryName) | ||
+ | Else | ||
+ | Set qdf = db.QueryDefs(cstrQueryName) | ||
+ | End If | ||
+ | qdf.sql = sqlStr | ||
+ | Set qdf = Nothing | ||
+ | Set db = Nothing | ||
+ | DoCmd.OpenQuery cstrQueryName | ||
+ | If you still want to later discard the saved query, do this ... | ||
+ | |||
+ | If QueryExists(cstrQueryName) Then | ||
+ | DoCmd.DeleteObject acQuery, cstrQueryName | ||
+ | End If | ||
+ | This is the helper function for the above code ... | ||
+ | |||
+ | Public Function QueryExists(ByVal pName As String) As Boolean | ||
+ | Dim db As DAO.Database | ||
+ | Dim qdf As DAO.QueryDef | ||
+ | Dim blnReturn As Boolean | ||
+ | Dim strMsg As String | ||
+ | |||
+ | On Error GoTo ErrorHandler | ||
+ | |||
+ | blnReturn = False ' make it explicit | ||
+ | Set db = CurrentDb | ||
+ | Set qdf = db.QueryDefs(pName) | ||
+ | blnReturn = True | ||
+ | |||
+ | ExitHere: | ||
+ | Set qdf = Nothing | ||
+ | Set db = Nothing | ||
+ | QueryExists = blnReturn | ||
+ | Exit Function | ||
+ | |||
+ | ErrorHandler: | ||
+ | Select Case Err.Number | ||
+ | Case 3265 ' Item not found in this collection. | ||
+ | Case Else | ||
+ | strMsg = "Error " & Err.Number & " (" & Err.Description _ | ||
+ | & ") in procedure QueryExists" | ||
+ | MsgBox strMsg | ||
+ | End Select | ||
+ | GoTo ExitHere | ||
+ | |||
+ | End Function | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== SaveAsText() in Access to export all code ====== | ||
+ | |||
+ | From: http:// | ||
+ | |||
+ | < | ||
+ | script in VBScript, that uses the undocumented Application.SaveAsText() in Access to export all code, form, macro and report modules. | ||
+ | |||
+ | Updated to use OpenAccessProject() if it sees a .adp extension, else use OpenCurrentDatabase() | ||
+ | |||
+ | ---------------------------------------------------------------------------------------------- | ||
+ | ' Usage: | ||
+ | ' | ||
+ | |||
+ | ' Converts all modules, classes, forms and macros from an Access Project file (.adp) <input file> to | ||
+ | ' text and saves the results in separate files to < | ||
+ | ' | ||
+ | |||
+ | Option Explicit | ||
+ | |||
+ | const acForm = 2 | ||
+ | const acModule = 5 | ||
+ | const acMacro = 4 | ||
+ | const acReport = 3 | ||
+ | |||
+ | ' BEGIN CODE | ||
+ | Dim fso | ||
+ | Set fso = CreateObject(" | ||
+ | |||
+ | dim sADPFilename | ||
+ | If (WScript.Arguments.Count = 0) then | ||
+ | MsgBox "Bitte den Dateinamen angeben!", | ||
+ | Wscript.Quit() | ||
+ | End if | ||
+ | sADPFilename = fso.GetAbsolutePathName(WScript.Arguments(0)) | ||
+ | |||
+ | Dim sExportpath | ||
+ | If (WScript.Arguments.Count = 1) then | ||
+ | sExportpath = "" | ||
+ | else | ||
+ | sExportpath = WScript.Arguments(1) | ||
+ | End If | ||
+ | |||
+ | |||
+ | exportModulesTxt sADPFilename, | ||
+ | |||
+ | If (Err <> 0) and (Err.Description <> NULL) Then | ||
+ | MsgBox Err.Description, | ||
+ | Err.Clear | ||
+ | End If | ||
+ | |||
+ | Function exportModulesTxt(sADPFilename, | ||
+ | Dim myComponent | ||
+ | Dim sModuleType | ||
+ | Dim sTempname | ||
+ | Dim sOutstring | ||
+ | |||
+ | dim myType, myName, myPath, sStubADPFilename | ||
+ | myType = fso.GetExtensionName(sADPFilename) | ||
+ | myName = fso.GetBaseName(sADPFilename) | ||
+ | myPath = fso.GetParentFolderName(sADPFilename) | ||
+ | |||
+ | If (sExportpath = "" | ||
+ | sExportpath = myPath & " | ||
+ | End If | ||
+ | sStubADPFilename = sExportpath & myName & " | ||
+ | |||
+ | WScript.Echo "copy stub to " & sStubADPFilename & " | ||
+ | On Error Resume Next | ||
+ | fso.CreateFolder(sExportpath) | ||
+ | On Error Goto 0 | ||
+ | fso.CopyFile sADPFilename, | ||
+ | |||
+ | WScript.Echo " | ||
+ | Dim oApplication | ||
+ | Set oApplication = CreateObject(" | ||
+ | WScript.Echo " | ||
+ | If (Right(sStubADPFilename, | ||
+ | oApplication.OpenAccessProject sStubADPFilename | ||
+ | Else | ||
+ | oApplication.OpenCurrentDatabase sStubADPFilename | ||
+ | End If | ||
+ | |||
+ | oApplication.Visible = false | ||
+ | |||
+ | dim dctDelete | ||
+ | Set dctDelete = CreateObject(" | ||
+ | WScript.Echo " | ||
+ | Dim myObj | ||
+ | For Each myObj In oApplication.CurrentProject.AllForms | ||
+ | WScript.Echo " | ||
+ | oApplication.SaveAsText acForm, myObj.fullname, | ||
+ | oApplication.DoCmd.Close acForm, myObj.fullname | ||
+ | dctDelete.Add " | ||
+ | Next | ||
+ | For Each myObj In oApplication.CurrentProject.AllModules | ||
+ | WScript.Echo " | ||
+ | oApplication.SaveAsText acModule, myObj.fullname, | ||
+ | dctDelete.Add " | ||
+ | Next | ||
+ | For Each myObj In oApplication.CurrentProject.AllMacros | ||
+ | WScript.Echo " | ||
+ | oApplication.SaveAsText acMacro, myObj.fullname, | ||
+ | dctDelete.Add " | ||
+ | Next | ||
+ | For Each myObj In oApplication.CurrentProject.AllReports | ||
+ | WScript.Echo " | ||
+ | oApplication.SaveAsText acReport, myObj.fullname, | ||
+ | dctDelete.Add " | ||
+ | Next | ||
+ | |||
+ | WScript.Echo " | ||
+ | dim sObjectname | ||
+ | For Each sObjectname In dctDelete | ||
+ | WScript.Echo " | ||
+ | oApplication.DoCmd.DeleteObject dctDelete(sObjectname), | ||
+ | Next | ||
+ | |||
+ | oApplication.CloseCurrentDatabase | ||
+ | oApplication.CompactRepair sStubADPFilename, | ||
+ | oApplication.Quit | ||
+ | |||
+ | fso.CopyFile sStubADPFilename & " | ||
+ | fso.DeleteFile sStubADPFilename & " | ||
+ | |||
+ | |||
+ | End Function | ||
+ | |||
+ | Public Function getErr() | ||
+ | Dim strError | ||
+ | strError = vbCrLf & " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | getErr = strError | ||
+ | End Function | ||
+ | </ | ||
+ | |||
====== Replacing the Calendar Control in Access 2010 Applications ====== | ====== Replacing the Calendar Control in Access 2010 Applications ====== | ||
Line 60: | Line 332: | ||
From: http:// | From: http:// | ||
- | | + | From: https:// |
+ | |||
+ | | ||
+ | | ||
+ | | ||
| | ||
Centerport | Centerport | ||
- | | + | |
+ | |||
+ | I. Click on the Windows Start menu and select ' | ||
+ | II. In the Run command window enter: | ||
+ | | ||
+ | III. Select OK to execute the command | ||
====== Forms: Date Picker without ActiveX ====== | ====== Forms: Date Picker without ActiveX ====== | ||
software/microsoft/access.1430844237.txt.gz · Last modified: 2015/05/05 16:43 by superwizard