ISAM databases are DBMS's that use this method to access data. They include dBase, Paradox, Foxpro, and oh by the way, Access, as well as others such as Excel. The "Joint Engine Technology" or JET driver supports most ISAM DBMS's.
Some underlying ISAM databases don't support some functionality. For example, you can't delete Excel rows by using a SQL DELETE command. That's where you're getting this error.
Yes, even though I mostly use Access to build mdb files that I then use in VB6 applications, so I'm not very familiar with the Access application, your statement did surprise me a little!
Well, it strikes me that the processes of addition and updating are much more similar in Excel to those of other ISAM servers than is the process of deletion. Most processes of deletion mark a record as deleted, and the records aren't actually removed until the database is compacted. Excel can't work that way; it has to do some pretty specialized stuff to delete a row, having do to with rearranging all of the cells in the matrix. As it were, it has to go through a compaction process (one which is quite different from more standard compaction processes, too) each time a row is deleted.
On the other hand, updating a cell is pretty much the same as updating any data location. Appending a row is pretty much analogous to appending a record in a file; in both cases you're simply tacking on another row of data.
So, I suspect it's the requirement of rearranging all of the data on the fly when you delete a row that causes the disconnect between ISAM's delete requirements and Excel's.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.