Greetings Eggheads and Nullskulls:
I've missed you. Today's question involves running a 2007 accdb on 2010. Only one issue was noticed, to wit:
The accepted process for importing xlsx data is via the docmd.transferspreadsheet routine. When this is run on 2010, a certain column of a very large spreadsheet is present, but its values do not come in, as they did in 2007. I noticed that when I manually imported the spreadsheet through the menu commands, there was no malfunction, all was well. And the datatypes on the manually imported sheet match those on the table that receives the programatically imported one.
I think I've traced this problem to the elusive (but no less infamous) TypeGuessRows issue ( http://support.microsoft.com/kb/189897; http://support.microsoft.com/kb/281517). That is, if no data is seen in the first 8 (to 16, depending on TypeGuessRows value) rows of the spreadsheet, apparently Access/Excel/Office/Bill-Melinda Gates decrees that there is no data, and therefore imports no data. Or perhaps it renders the column in some datatype that Access wasn't expecting in that field, and, while not wanting to bother you with any indication that will do so, refuses to import it.
The only references I've been able to find to this (see above kb's) address truncating data that is > 255 characters, and that doesn't quite satisfy the powers-that-be as an explanation. After all, it isn't cells that are being truncated, it's an entire column being ignored. Furthermore, they wish to know why, if this is a bug in 2010, it wasn't a bug in 2007.
My sense is that this is a consequence of the seemingly mysterious choices something in Office makes when it checks TypeGuessRows. As this is clearly by design, what explanation do I have if -- all other things being equal, as they are -- this did not happen on 2007? Was it a bug on 2007 that it did NOT exclude data?
Finally, as to fixes, the obvious is (according to MS) change TypeGuessRows to 0 in which case it checks up to 16,000+/- rows, which should be sufficient (assuming it stops as soon as it finds data). However, tweaking registry settings is a little iffy around here, what with n layers of administrators and persmissions-givers/takers. As linking the spreadsheet in question seems to recognize all the data like in the old days, that's first on my (very short) list of possible work-arounds.
Any and all constructive feedback or just plain commiseration would be welcome.
Rock on,
cd'c
ps: can't post links?