I understand that Jet 4 has a 2048 limit on the number of TableIDs which if exceeded leads to this error. My form uses 1 bound table, 2 recordsets in code, 1 clone (opened, closed and nothinged in 10 lines) plus a 5 x25 array of combo boxes whose sources are 14 x25 tables (as part of queries) applied in code. Total 360 tables or thereabouts. All works fine when a single database, but after splitting the database, this form when opened generates the dreaded 'Cannot open any more databases' error. (All the other forms in this middlingly-complex application work fine. The error comes whether the form is opened on its own first or after several other forms.)
First question - how can 360 tables explode to exceed the 2048 limit when the database is split (I have read that linked tables need 3 x the number of TableIDs)? Is the number of tables a valid measure?
Second question - if the problem is all those combo controls, how can I get around it? I have to load all the combos on opening the form (it's no good in this app putting the SQL in the tag then calling it at runtime which is one workaround I've seen). I am loading them like this:
Me("cboR" & intRowNum & "C" & intColNum).RowSource = "SELECT * FROM qrySource{intColNum} WHERE [ID] = " & rs!ID
where R = 1-25 and C = 1-5, and ID defines the row in the recordset.
Can anyone see anything wrong with that? If not, what else might be going on here? I'm using ADO in ACC2000.
Thanks for your help.
John
First question - how can 360 tables explode to exceed the 2048 limit when the database is split (I have read that linked tables need 3 x the number of TableIDs)? Is the number of tables a valid measure?
Second question - if the problem is all those combo controls, how can I get around it? I have to load all the combos on opening the form (it's no good in this app putting the SQL in the tag then calling it at runtime which is one workaround I've seen). I am loading them like this:
Me("cboR" & intRowNum & "C" & intColNum).RowSource = "SELECT * FROM qrySource{intColNum} WHERE [ID] = " & rs!ID
where R = 1-25 and C = 1-5, and ID defines the row in the recordset.
Can anyone see anything wrong with that? If not, what else might be going on here? I'm using ADO in ACC2000.
Thanks for your help.
John