I run the Symantec "One Button Checkup" on a regular automatic schedule. Every time it says: "Program Integrity Scan: 12 errors fixed". Run it again and it says the same thing.
Today a program was complaining that there was no medium in the DVD/CD drive. The program was OBC.exe. The same program. Why would it care that I had no CD or DVD mounted? Just trying to annoy me.
In all fairness, System Mechanic 7, tells me that it has 4 security items that it can fix. It churns away and says I still have 4 security items that it can fix. It never gives a clue as to what it thinks the problems are. Grand.
Meanwhile, in developing software using Microsoft Access, I find that I need to hire an assistant to click the Save icon every time I add a control to a form, or try dragging a group of controls around the screen. Access panics with a lame "Microsoft Access has encountered a problem and needs to close". I can get this message with good certainty by asking Access to Compact and Repair my database file. It's interesting that the message makes it sound as though it is doing you a favor by pointing out an error. It's not my error it has encountered.
"Microsoft Access has encountered a problem and needs to close" happens so often with any of the Office programs and even the older Visual Studio 6 (circa 1998), that I have a Google alert set up to let me know if others are tortured by this. Yes, others are, as a matter of fact. There are no published work-arounds that I've found. It's pretty clear that Microsoft doesn't have any intention of fixing the problems. They expect you to upgrade to the latest ver$ion. The latest Google alert was from somebody who had written an applicaton in Access 2003 and tried running a report under Access 2007. Same error message. Microsoft's "solution" to the problem was utter nonsense and not really practical. It would have been more helpful for them to just say, "Go away, sucker."
Software Quality is not a goal of the now-huge software companies. Open source software, freeware, and shareware not only is much more reliable, but the developer will appreciate knowing about problems so they can fix them. Microsoft wants you to pay for support.
Monday, August 13, 2007
Tuesday, June 26, 2007
The Most Stupid Helper Imaginable
I am connecting to a client system using remote desktop through my 7.1Mbps DSL connection. For whatever reason, it's a slow connection today. I'm doing database table modification and with the sluggish performance, all the idiotic things about Windows and Access become even more aggravating.
I open a query designer window and the table I've selected appears as a postage stamp on a queen-sized bed. Sure, how much trouble is it to resize it? Every single time? Year after year? The query designer "cleverly" leaves 3/4ths of the screen for you to do "OR" conditions, which I rarely use. So I not only have to resize each and every table I'm using in a join, both horizontally and vertically, but first I have to take that 3/4ths of the screen and make it 1/5th. Again and again. Year after year.
So then I'm picking fields for my query. Can I just type "tblABC"? Oh, no! After 6 keystrokes, it's looking for tables that start with "C". Can I drag a field from a table to be used as update/append information for the target table? Don't be silly!
If I happen to hit the "X" for Access instead of the "X" for the current window, Access merrily shuts down, without asking. This seems inconsistent with an operating system that has a recycle bin, and yet, always asks if you're sure if you want to delete a file!
I am always open to suggestions from users to make my software easier for them to use. If they find a defect, or something not quite thought out, I'm embarrassed and motivated to fix the bug immediately. But then, I'm not a monopoly. Reminded of Earnestine (Lilly Tomlin) the operator on Laugh In: "We're the phone company. We don't care. We don't have to."
I open a query designer window and the table I've selected appears as a postage stamp on a queen-sized bed. Sure, how much trouble is it to resize it? Every single time? Year after year? The query designer "cleverly" leaves 3/4ths of the screen for you to do "OR" conditions, which I rarely use. So I not only have to resize each and every table I'm using in a join, both horizontally and vertically, but first I have to take that 3/4ths of the screen and make it 1/5th. Again and again. Year after year.
So then I'm picking fields for my query. Can I just type "tblABC"? Oh, no! After 6 keystrokes, it's looking for tables that start with "C". Can I drag a field from a table to be used as update/append information for the target table? Don't be silly!
If I happen to hit the "X" for Access instead of the "X" for the current window, Access merrily shuts down, without asking. This seems inconsistent with an operating system that has a recycle bin, and yet, always asks if you're sure if you want to delete a file!
I am always open to suggestions from users to make my software easier for them to use. If they find a defect, or something not quite thought out, I'm embarrassed and motivated to fix the bug immediately. But then, I'm not a monopoly. Reminded of Earnestine (Lilly Tomlin) the operator on Laugh In: "We're the phone company. We don't care. We don't have to."
Wednesday, June 20, 2007
Good Stuff
Experiences that don't kill you make you stronger.
I am a professional database applications developer using Access 2003. I use it instead of any number of other development platforms for several reasons:
1. I belong to one of the finest user groups for developers: The Portland Access User Group (PAUG -- www.paug.com). This group consists not of magicians who show what they can do but won't reveal secrets. This is a group of professionals who have made discoveries and share them with their peers. We learn from each other!
2. Access 2003, not being the latest product, has a wealth of technical books available. They are used books, often in brand-new condition for a fraction of the original price. www.amazon.com
3. The Internet! Google for an error message or a technical topic, and you are sure to get some useful information. There is also Usenet (google groups). I find answers on the groups are often not well thought out. When somebody publishes a web page, they generally put a lot more thought into it than when they post an answer on a news group. That said, I have a Google watch for the phrase "Access has encountered a problem". If a question or comment is posted that has this phrase, I get an email and can go investigate. Seems like a great idea to me!
4. Desktop search! Today I was adding a "build shortcut" button to my Access Tools program. Hmmm... how do you build a shortcut (.lnk)? I remembered that I had played around with a vbscript program to do such a thing about 5 years ago. I fired up my X1 desktop search program, typed in "create shortcut" and found a version of this that I had converted to Visual Studio VB6. Splendid!
I have been driven to distraction by things in Microsoft Access 2003 that don't work right. This necessity was the mother of invention of my Access Tools program. It lets me compact and repair a selected file reliably (every single time), to replace the built-in command that fails much of the time. I read the application version number and date and have buttons to date stamp it with today's date and to increment the version number. It's very awkward to decompile the VBA in Access. So I have a button to do that.
So, right-click on an .mdb or .mde and select Tools and you can do things to the file easily that are difficult to do "The Microsoft Way".
Good stuff!
I am a professional database applications developer using Access 2003. I use it instead of any number of other development platforms for several reasons:
1. I belong to one of the finest user groups for developers: The Portland Access User Group (PAUG -- www.paug.com). This group consists not of magicians who show what they can do but won't reveal secrets. This is a group of professionals who have made discoveries and share them with their peers. We learn from each other!
2. Access 2003, not being the latest product, has a wealth of technical books available. They are used books, often in brand-new condition for a fraction of the original price. www.amazon.com
3. The Internet! Google for an error message or a technical topic, and you are sure to get some useful information. There is also Usenet (google groups). I find answers on the groups are often not well thought out. When somebody publishes a web page, they generally put a lot more thought into it than when they post an answer on a news group. That said, I have a Google watch for the phrase "Access has encountered a problem". If a question or comment is posted that has this phrase, I get an email and can go investigate. Seems like a great idea to me!
4. Desktop search! Today I was adding a "build shortcut" button to my Access Tools program. Hmmm... how do you build a shortcut (.lnk)? I remembered that I had played around with a vbscript program to do such a thing about 5 years ago. I fired up my X1 desktop search program, typed in "create shortcut" and found a version of this that I had converted to Visual Studio VB6. Splendid!
I have been driven to distraction by things in Microsoft Access 2003 that don't work right. This necessity was the mother of invention of my Access Tools program. It lets me compact and repair a selected file reliably (every single time), to replace the built-in command that fails much of the time. I read the application version number and date and have buttons to date stamp it with today's date and to increment the version number. It's very awkward to decompile the VBA in Access. So I have a button to do that.
So, right-click on an .mdb or .mde and select Tools and you can do things to the file easily that are difficult to do "The Microsoft Way".
Good stuff!
Saturday, May 19, 2007
Why?
Let's say you've got a nice ASCII file with numbers and dates separated by a tab character. So you want to import it into Access for analysis. Good luck!
The "problem" is that dates are formatted in the style 08-Aug-99, which is truly unambiguous. But Access, for some reason, barfs on it. It doesn't give you the opportunity to tell it the data type. Nooooo. It's too smart for that. It just errors out.
Yes, I knew it would. I just forgot.
...
In the June 5, 2007 PC Magazine, they report that the "flash over substance" animated cursor can be exploited by viruses. This shows up in Microsoft Office, has been fixed in pre-Office 2007 versions, but not in Office 2007.
"The vulnerability was first revealed to Microsoft in December 2006 by research and consulting firm Determina. It is related to a flaw that Microsoft fixed in early 2005, and the fact that the earlier flaw was corrected without fixing this newer one reflects badly on Microsoft's analysis of the code."
...
How can Microsoft get away with such hideous behavior in their software?
The "problem" is that dates are formatted in the style 08-Aug-99, which is truly unambiguous. But Access, for some reason, barfs on it. It doesn't give you the opportunity to tell it the data type. Nooooo. It's too smart for that. It just errors out.
Yes, I knew it would. I just forgot.
...
In the June 5, 2007 PC Magazine, they report that the "flash over substance" animated cursor can be exploited by viruses. This shows up in Microsoft Office, has been fixed in pre-Office 2007 versions, but not in Office 2007.
"The vulnerability was first revealed to Microsoft in December 2006 by research and consulting firm Determina. It is related to a flaw that Microsoft fixed in early 2005, and the fact that the earlier flaw was corrected without fixing this newer one reflects badly on Microsoft's analysis of the code."
...
How can Microsoft get away with such hideous behavior in their software?
Monday, May 14, 2007
No Regard For The Past
Read in Tech Republic today: "Windows Vista's Backup and Restore tools are completely different from the Backup program that came with Windows XP and so the backup files are incompatible."
What else is new? Even back before Windows, Microsoft changed their backup from version to version of DOS, ignoring compatibility -- making your backups from previous versions useless.
I get the impression that Microsoft is only interested in new customers and ignores loyal customers.
Because Acronis True Image supports backups from all nine previous versions, I use and recommend it.
How stupid is it to have a backup program that cannot read your backup information?
How about substance over flash? Please.
What else is new? Even back before Windows, Microsoft changed their backup from version to version of DOS, ignoring compatibility -- making your backups from previous versions useless.
I get the impression that Microsoft is only interested in new customers and ignores loyal customers.
Because Acronis True Image supports backups from all nine previous versions, I use and recommend it.
How stupid is it to have a backup program that cannot read your backup information?
How about substance over flash? Please.
Friday, May 11, 2007
Good Grief
What in the world would we do without Google?
Long ago I wrote a Word macro that is run when I click on an icon "Edit Clipboard". The idea is that you copy onto the clipboard text that you want to process in Word. Word is started up and the clipboard is pasted into a new document. A form with a "Done?" button appears. When you are done editing, if you click on Done, it copies the contents of the document back onto the clipboard and closes Word.
I used it today and got an annoying error message: "...Create Adobe PDF Monitor..." not running. I googled for this message and found the answer. Microsoft Office startups (including .DOT files) are scattered around. The errant .DOT was not where I looked first. Once found, I flushed it. The suggestion had me looking at the projects loaded into Word VBE when I open Word. There were projects from 8 years ago! Searching for all .DOT files on my C: drive, I found all of the old .DOTs that were no longer being used. Once they were deleted, they disappeared from the list of projects in Word VBE.
... On the subject of PDFs (Adobe Acrobat files) ...
The Adobe PDF reader has gotten larger and larger over time. I've heard that it is a target for viruses now. It loads slowly and frequently gets in your face about updating this or that. I have replaced it with FoxIt reader, keeping Adobe Acrobat Reader to be used only by "open with".
My old version of Adobe Acrobar writer would balk at creating a PDF from a PDF. I replaced it with pdfFactory, which is quick and flexible.
Examples:
1. I have purchased 72 issues of Access Advisor magazine. Each issue is manifested as a 75-page PDF file. Most articles are interrupted by one or more (usually more) full-page advertisements. It is so annoying when viewing in a PDF viewer or printing. Those ads waste a lot of ink or toner. Now I can find an article to print, print pages until an ad appears, skip over the ad pages, and continue on. The pages are appended into a new PDF. Wonderful!
2. I receive excellent investment articles each day from Morningstar.com. To save the article without the menus and extraneous information, I use Firefox and the extension Nuke Anything Enhanced. I simply drag across parts of the screen that I don't want to save and right-click on Remove Selection. Or right click on an object and chose Remove This Object. When finished, I simply use pdfFactory to save the article as a PDF. (This produces a more satisfactory result than trying to paste into Word.)
...
Microsoft has shown contempt for power users by dumbing down Office 2007. Where's the File, Edit, View ... Help menu? Gone! The ribbon is great for newbies. But respect those that have used Word and Excel since DOS days! I ran my commercial application (developed in Access 2003) in Access 2007 and it ran, but a lot of the screen was occupied by menus that I do not need or want. It appears that Microsoft is young thinking -- "It's all about me."
...
SQL Server Express 2005 and Virtual PC 2007, on the other hand, are quite wonderful. Especially when you consider the price: $0.00.
...
Last weekend was spent nerding out at the annual PAUG Database Developer Conference. It was excellent! Alison Balter, writer of 14 technical books, was one of the featured speakers. She mentioned that she would not use Vista if her job didn't require it. Her laptop blue-screened twice on a single plane ride from California to Oregon.
Makes you appreciate XP!
Long ago I wrote a Word macro that is run when I click on an icon "Edit Clipboard". The idea is that you copy onto the clipboard text that you want to process in Word. Word is started up and the clipboard is pasted into a new document. A form with a "Done?" button appears. When you are done editing, if you click on Done, it copies the contents of the document back onto the clipboard and closes Word.
I used it today and got an annoying error message: "...Create Adobe PDF Monitor..." not running. I googled for this message and found the answer. Microsoft Office startups (including .DOT files) are scattered around. The errant .DOT was not where I looked first. Once found, I flushed it. The suggestion had me looking at the projects loaded into Word VBE when I open Word. There were projects from 8 years ago! Searching for all .DOT files on my C: drive, I found all of the old .DOTs that were no longer being used. Once they were deleted, they disappeared from the list of projects in Word VBE.
... On the subject of PDFs (Adobe Acrobat files) ...
The Adobe PDF reader has gotten larger and larger over time. I've heard that it is a target for viruses now. It loads slowly and frequently gets in your face about updating this or that. I have replaced it with FoxIt reader, keeping Adobe Acrobat Reader to be used only by "open with".
My old version of Adobe Acrobar writer would balk at creating a PDF from a PDF. I replaced it with pdfFactory, which is quick and flexible.
Examples:
1. I have purchased 72 issues of Access Advisor magazine. Each issue is manifested as a 75-page PDF file. Most articles are interrupted by one or more (usually more) full-page advertisements. It is so annoying when viewing in a PDF viewer or printing. Those ads waste a lot of ink or toner. Now I can find an article to print, print pages until an ad appears, skip over the ad pages, and continue on. The pages are appended into a new PDF. Wonderful!
2. I receive excellent investment articles each day from Morningstar.com. To save the article without the menus and extraneous information, I use Firefox and the extension Nuke Anything Enhanced. I simply drag across parts of the screen that I don't want to save and right-click on Remove Selection. Or right click on an object and chose Remove This Object. When finished, I simply use pdfFactory to save the article as a PDF. (This produces a more satisfactory result than trying to paste into Word.)
...
Microsoft has shown contempt for power users by dumbing down Office 2007. Where's the File, Edit, View ... Help menu? Gone! The ribbon is great for newbies. But respect those that have used Word and Excel since DOS days! I ran my commercial application (developed in Access 2003) in Access 2007 and it ran, but a lot of the screen was occupied by menus that I do not need or want. It appears that Microsoft is young thinking -- "It's all about me."
...
SQL Server Express 2005 and Virtual PC 2007, on the other hand, are quite wonderful. Especially when you consider the price: $0.00.
...
Last weekend was spent nerding out at the annual PAUG Database Developer Conference. It was excellent! Alison Balter, writer of 14 technical books, was one of the featured speakers. She mentioned that she would not use Vista if her job didn't require it. Her laptop blue-screened twice on a single plane ride from California to Oregon.
Makes you appreciate XP!
Saturday, April 14, 2007
What's So Good?
Microsoft Access
It's been around since the early 90's. My, how it's grown!
As a part of Microsoft Office, it is admittedly the strange sibling. With Word or Excel, you can jump right in and start typing. Not so fast with Access. The latest version, Access 2007 will change some of that. In some ways, that's good. In other ways, it seems to be dumbed down and doesn't take into account all the development that has been done in previous versions. We shall see.
I have used Access versions 1 and 2 back before Windows 95 was released. I missed out on Access 95, which I hear was quite bad. I did some work with Access 97 then moved to Access 2000 about 5 years ago. Almost immediately I jumped to Access 2003. There have been trade-offs. As you go to later and later versions, you get a prettier face, but possibly less reliability.
Access 2003 is quite temperamental in the development environment, but -- in my experience -- works splendidly in a production environment. Over time I am mapping out the mine field and know to expect development crashes ("Microsoft is sorry but you lost your work.") I've also written auxiliary software to help me repair a project that is starting to get infected, and to backup each precious new increment of development. This gives me a safety net so I can forge ahead, knowing that there are traps out there and to play it safe.
Access lets you design tables to hold data, forms to let users enter/observe data on their screen, reports, and Visual Basic for Applications (VBA*) modules to hold very powerful program code to tie everything together. With a few hours of training you can write simple applications. If you use the built-in wizards, you will have some of the worst-written VBA code possible. Wizard-generated forms will have time bombs built in. But, if you are lucky enough to have a first-rate user group and selection of Access books, you will learn the best practices. These practices are quite elegant, so they are more of a pleasure to use than a pain.
In the spring of 2004, I gave a 2-hour talk at the PAUG (Portland Access User Group) Developer's Conference entitled: "Working Outside The Box: Extending Access". I talked about all the wonderful ways of adding power to an already-powerful system.
The following year I gave another similar talk that included the basics of the first talk but included some new example applications and discussed "lessons learned".
Last year I gave a talk about the dark side of Access: with its wrong-headed defaults. It included how to right the wrongs.
The conclusion of these talks are this: Access by itself is good to great. Screen design tools are fair -- could be much better. Report design tools are excellent. Table design is OK but could be better. Visual Basic modules are excellent. Default settings and wizard designs are pretty bad but predictable. My talks cataloged what you need to change. Extending Access? How? You can, using the power of VBA, Win32API, and external libraries, extend Access in a very powerful way. You can run other programs from Access, including sending data via remote control to Word or Excel. You can show a live web page from within one of your screens. You email reports with no intervention. You can extend the excellent command set of VBA by loading the File System Object.
Because Access is a heaven and hell product, you can learn to deal with the hellish parts and build elegant relational database solutions. The solution can start out as a single-user database and be unscaled to a robust multi-user system (that can use M.S. Jet, M.S. SQL Server, MySQL, or Oracle backends). Flexible!
Knowing where the mines are in the minefield gives me a competitive advantage over someone who doesn't have the time or the network of developers to move up the learning curve.
All things considered, I can't complain.
*VBA = Visual Basic for Applications, which is nearly identical to the Visual Studio component Visual Basic 6, introduced 9 years ago. By the turn of the decade, century, millennium, it was the most popular programming language in the known universe. It reads like English and is, I think, quite adequate to solve many problems.
SQL - SQL is a database language that Access uses. Other database products use variations of this language. I find it quite powerful in letting you select, sort, group, total, and modify data.
PAUG = Portland Access User Group. http://www.paug.com
It's been around since the early 90's. My, how it's grown!
As a part of Microsoft Office, it is admittedly the strange sibling. With Word or Excel, you can jump right in and start typing. Not so fast with Access. The latest version, Access 2007 will change some of that. In some ways, that's good. In other ways, it seems to be dumbed down and doesn't take into account all the development that has been done in previous versions. We shall see.
I have used Access versions 1 and 2 back before Windows 95 was released. I missed out on Access 95, which I hear was quite bad. I did some work with Access 97 then moved to Access 2000 about 5 years ago. Almost immediately I jumped to Access 2003. There have been trade-offs. As you go to later and later versions, you get a prettier face, but possibly less reliability.
Access 2003 is quite temperamental in the development environment, but -- in my experience -- works splendidly in a production environment. Over time I am mapping out the mine field and know to expect development crashes ("Microsoft is sorry but you lost your work.") I've also written auxiliary software to help me repair a project that is starting to get infected, and to backup each precious new increment of development. This gives me a safety net so I can forge ahead, knowing that there are traps out there and to play it safe.
Access lets you design tables to hold data, forms to let users enter/observe data on their screen, reports, and Visual Basic for Applications (VBA*) modules to hold very powerful program code to tie everything together. With a few hours of training you can write simple applications. If you use the built-in wizards, you will have some of the worst-written VBA code possible. Wizard-generated forms will have time bombs built in. But, if you are lucky enough to have a first-rate user group and selection of Access books, you will learn the best practices. These practices are quite elegant, so they are more of a pleasure to use than a pain.
In the spring of 2004, I gave a 2-hour talk at the PAUG (Portland Access User Group) Developer's Conference entitled: "Working Outside The Box: Extending Access". I talked about all the wonderful ways of adding power to an already-powerful system.
The following year I gave another similar talk that included the basics of the first talk but included some new example applications and discussed "lessons learned".
Last year I gave a talk about the dark side of Access: with its wrong-headed defaults. It included how to right the wrongs.
The conclusion of these talks are this: Access by itself is good to great. Screen design tools are fair -- could be much better. Report design tools are excellent. Table design is OK but could be better. Visual Basic modules are excellent. Default settings and wizard designs are pretty bad but predictable. My talks cataloged what you need to change. Extending Access? How? You can, using the power of VBA, Win32API, and external libraries, extend Access in a very powerful way. You can run other programs from Access, including sending data via remote control to Word or Excel. You can show a live web page from within one of your screens. You email reports with no intervention. You can extend the excellent command set of VBA by loading the File System Object.
Because Access is a heaven and hell product, you can learn to deal with the hellish parts and build elegant relational database solutions. The solution can start out as a single-user database and be unscaled to a robust multi-user system (that can use M.S. Jet, M.S. SQL Server, MySQL, or Oracle backends). Flexible!
Knowing where the mines are in the minefield gives me a competitive advantage over someone who doesn't have the time or the network of developers to move up the learning curve.
All things considered, I can't complain.
*VBA = Visual Basic for Applications, which is nearly identical to the Visual Studio component Visual Basic 6, introduced 9 years ago. By the turn of the decade, century, millennium, it was the most popular programming language in the known universe. It reads like English and is, I think, quite adequate to solve many problems.
SQL - SQL is a database language that Access uses. Other database products use variations of this language. I find it quite powerful in letting you select, sort, group, total, and modify data.
PAUG = Portland Access User Group. http://www.paug.com
Subscribe to:
Posts (Atom)