AccessBlog.net
News, links, downloads, tips and tricks on Microsoft Access and related
About Me | Search |
Friday, May 27, 2005
Doug's Access Answers column
Access MVP Doug Steele writes a column in Smart Access every month, here you can download his articles. Interesting staff!
Thursday, May 26, 2005
GPS Locator for children
Interesting device offered here, something similar we already saw in movies. So next is to have such device under the skin?
Wednesday, May 25, 2005
Translator 1.135 released
Can be downloaded here
One potential customer noted today that his MDB file does not have a DAO reference, only ADO, and modules, created by Translator does not run. Of course! Same if both references are selected - DAO and ADODB. So now we have explicitly declared recordsets as DAO.Recordset, same for other DAO objects. Translator also detects if DAO reference exists, if no - it display a following message:
"Your application does not have a reference to DAO, which is required to have Translator modules run correctly. Please open any module, go to menu Tools-References and select a "Microsoft DAO 3.6 Object Library" there."
One potential customer noted today that his MDB file does not have a DAO reference, only ADO, and modules, created by Translator does not run. Of course! Same if both references are selected - DAO and ADODB. So now we have explicitly declared recordsets as DAO.Recordset, same for other DAO objects. Translator also detects if DAO reference exists, if no - it display a following message:
"Your application does not have a reference to DAO, which is required to have Translator modules run correctly. Please open any module, go to menu Tools-References and select a "Microsoft DAO 3.6 Object Library" there."
Monday, May 23, 2005
Friday, May 20, 2005
Thursday, May 19, 2005
And we expect Office 12 delivered
Chris Capossela: we expect to deliver the final programs, servers and services in the second half of 2006. More then one year... It should be something!
Is form opened as subform?
You can have a form which can be opened as standalone, and as a subform in other form. In second case you could need a reference to parent form to pass it some results, or hide some controls when form is a subform. So you need to know - how form is loaded? Use a SysCmd function to do this:
If SysCmd(acSysCmdGetObjectState, acForm, Me.Name) = 0 Then
'Form loaded as a subform
...
Else
'Loaded stand-alone
....
End If
If SysCmd(acSysCmdGetObjectState, acForm, Me.Name) = 0 Then
'Form loaded as a subform
...
Else
'Loaded stand-alone
....
End If
Wednesday, May 18, 2005
Is array dimentioned?
Interesting trick was mentioned in VB Classic list - how to check if dynamic array already dimensioned? Answer is Not operator. Before i used a universal method - On Error Resume Next. Here a sample procedure:
Sub TestArray()
Dim A() As Long
'ReDim A(1 To 4)
If (Not A) = -1 Then
'not dimensioned
Debug.Print (Not A)
Else
'dimensioned
Debug.Print UBound(A)
End If
End Sub
This works in VB6 and Access 2003. But does not work in Access 97.
Few treads can be also found in Google Groups, for example this one.
Sub TestArray()
Dim A() As Long
'ReDim A(1 To 4)
If (Not A) = -1 Then
'not dimensioned
Debug.Print (Not A)
Else
'dimensioned
Debug.Print UBound(A)
End If
End Sub
This works in VB6 and Access 2003. But does not work in Access 97.
Few treads can be also found in Google Groups, for example this one.
Query from Access page on OMP
Query from Access page was published yesterday on Office Market Place. Today i got 7 hits from it, one was mine.
Tuesday, May 17, 2005
Неожиданный Задорнов
В группах новостей случайно наткнулся на сайт Михаила Задорнова, оказалось что он не только юморист, рекомендую почитать Мамы и войны.
Thursday, May 12, 2005
AttachDB 2.0.90 was released
Correctly determine latest SQL Server build of SQL Server 2000 SP4
Registered users will get new version via internet update
Registered users will get new version via internet update
Wednesday, May 04, 2005
ActiveX control to host Office documents
Quite interesting control Dsoframer.ocx can be found in this KB article - ActiveX control that acts as an ActiveX document container for hosting Office documents (including Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Project, and Microsoft Visio documents).
Some interesting properties and methods:
// Generated .IDL file (by the OLE/COM Object Viewer) // // typelib filename:
DSOFRAMER.OCX
typedef enum {
dsoDialogNew = 0,
dsoDialogOpen = 1,
dsoDialogSave = 2,
dsoDialogSaveCopy = 3,
dsoDialogPrint = 4,
dsoDialogPageSetup = 5,
dsoDialogProperties = 6
} dsoShowDialogType;
typedef enum {
dsoFileNew = 0,
dsoFileOpen = 1,
dsoFileClose = 2,
dsoFileSave = 3,
dsoFileSaveAs = 4,
dsoFilePrint = 5,
dsoFilePageSetup = 6,
dsoFileProperties = 7,
dsoFilePrintPreview = 8
} dsoFileCommandType;
[id(0x00010013), propput, helpstring("Returns/sets whether a menu bar should be
displayed.")]
HRESULT Menubar([in] VARIANT_BOOL pbool);
[id(0x00010014), propput, helpstring("Returns/sets host application name (used
in embedding).")]
HRESULT HostName([in] BSTR pbstr);
[id(0x00010016), helpstring("Prints current document to specific printer with
settings.")]
HRESULT PrintOut(
[in, optional] VARIANT PromptUser,
[in, optional] VARIANT PrinterName,
[in, optional] VARIANT Copies,
[in, optional] VARIANT FromPage,
[in, optional] VARIANT ToPage,
[in, optional] VARIANT OutputFile);
[id(0x00000001), helpstring("Called when File menu item is selected by user (may
be canceled).")]
HRESULT OnFileCommand(
[in] dsoFileCommandType Item,
[in, out] VARIANT_BOOL* Cancel);
[id(0x00000002), helpstring("Called when document is opened or new document
added.")]
HRESULT OnDocumentOpened(
[in] BSTR File,
[in] IDispatch* Document);
[id(0x00000003), helpstring("Called when document is closed.")]
HRESULT OnDocumentClosed();
Some interesting properties and methods:
// Generated .IDL file (by the OLE/COM Object Viewer) // // typelib filename:
DSOFRAMER.OCX
typedef enum {
dsoDialogNew = 0,
dsoDialogOpen = 1,
dsoDialogSave = 2,
dsoDialogSaveCopy = 3,
dsoDialogPrint = 4,
dsoDialogPageSetup = 5,
dsoDialogProperties = 6
} dsoShowDialogType;
typedef enum {
dsoFileNew = 0,
dsoFileOpen = 1,
dsoFileClose = 2,
dsoFileSave = 3,
dsoFileSaveAs = 4,
dsoFilePrint = 5,
dsoFilePageSetup = 6,
dsoFileProperties = 7,
dsoFilePrintPreview = 8
} dsoFileCommandType;
[id(0x00010013), propput, helpstring("Returns/sets whether a menu bar should be
displayed.")]
HRESULT Menubar([in] VARIANT_BOOL pbool);
[id(0x00010014), propput, helpstring("Returns/sets host application name (used
in embedding).")]
HRESULT HostName([in] BSTR pbstr);
[id(0x00010016), helpstring("Prints current document to specific printer with
settings.")]
HRESULT PrintOut(
[in, optional] VARIANT PromptUser,
[in, optional] VARIANT PrinterName,
[in, optional] VARIANT Copies,
[in, optional] VARIANT FromPage,
[in, optional] VARIANT ToPage,
[in, optional] VARIANT OutputFile);
[id(0x00000001), helpstring("Called when File menu item is selected by user (may
be canceled).")]
HRESULT OnFileCommand(
[in] dsoFileCommandType Item,
[in, out] VARIANT_BOOL* Cancel);
[id(0x00000002), helpstring("Called when document is opened or new document
added.")]
HRESULT OnDocumentOpened(
[in] BSTR File,
[in] IDispatch* Document);
[id(0x00000003), helpstring("Called when document is closed.")]
HRESULT OnDocumentClosed();
How to output reports into PDF
Some our clients like this, of course - more then built-in snapshot format, because everyone can open PDF. PDF995 is a free printer driver, which allows to do this, and you can also make a procedure to make whole export automated. I personally like more Microsoft Office Document Imaging, but again - not everybody can read its *.mdi files.
Monday, May 02, 2005
ActiveX controls from Teebo
A nice set of UI ActiveX controls, Office 2003 style, from Teebo. Don't know yet if it really works in Access, but in VB6 works fine.