<< BTW: I found the limit. I can get 583 columns to define, but adding a single extra causes the problems. >> That's odd. With 750 columns you were at least coming close to 4092, but with 583 you shouldn't be.
Here's an off chance -- I think your column names may be too long. I'm guessing that somewhere an internal insert or update statement is getting created with all the columns and that's overflowing an internal buffer -- the statement's longer than 4092, or 8,184, or some other number of bytes. That would throw an access violation when the program went to read past the allocated buffer. Can you try the same experiment but name your columns C1, C2 . . . C750 and see if that makes a difference? -- Larry

