I'm attempting to port a BSL screen customization to VBA due to a recent Windows Security Update has broken the BSL screen in the Form_load event for some reason.
After moving the code into a new customization and running the screen, I'm getting an error 10202 'The application fetch buffer size is less thatn the cursor select statement requires'.
I've validated that the type declaration passed to the cursor creation function (SQLCursorEx) has all the fields from the table (execpt timestamp), and that the sizes and types are correct. There is only one record in the table being pulled by the cursor.
If I add a 'String * 209' member to the end of the type declaration the problem goes away, and in the debugger I can see that the record loads correctly into the typed variable and that the last 209 characters are non-printable, probably NULLS. Not coincidentally, a query of information_schema.columns for this table shows that the size of an empty record in the table is 209 characters. It seems likes the cursor is pulling an additional NULL record that doesn't actually exist in the DB.
Even with this hack in place, I get a SQLReadOnly flag is set on a subsequent SUpate1 call using that cursor, even though the cursor declaration correctly lists the table to be udpated in the UpdateName parameter. I'm sure this is due to the fact that the fetch isn't really working properly.
Does anyone have any ideas as to why this issue is occuring? Thanks.
Dan
*This post is locked for comments