Vraag : InteropServices.COMException: Kan any more lijsten openen niet.

De beste Deskundigen,

I hebben een eenvoudige VB.NET consoletoepassing die de lijnen door alle msaccesslijsten en gebiedeninzamelingen, onderzoek naar een bepaalde tekstwaarde in strSearchvariable.

The erin slaagt om door ongeveer 12 lijsten van de 207 lijsten in mijn gegevensbestand van de msaccesstest af te tasten. En het geeft me runtime fout als het volgende:
---uitzondering
Unhandled: System.Runtime.InteropServices.COMException: Kan an
y meer tables.
bij DAO.Database.OpenRecordset (de Naam van het Koord, het Type van Objecten, de Opties van Objecten, Objec
t LockEdit)
bij scanTbls.Module1.Main (String [] sArgs)
openen niet---

I am ook de zelfde oplossing aan dit met DRUKTE kijken als DAO geen well.
Here werkt is mijn consoletoepassing:
---
Module Module1

Sub Hoofd (ByVal sArgs () als Koord)

Schemerige db als/> Schemerige rs DAO.Database
Schemerige DaoDbEngine als Nieuwe ()
Schemerige tbl DAO.DBEngine als/> Schemerige fld DAO.TableDef
Schemerige strTbl DAO.Field

Schemerige strFld String
Schemerige strSQL String
Schemerige cntTbl String
Schemerige strSearch Integer
Schemerige strPathFile als Koord = „c:\test.mdb "

db = (strPathFile)/>
„lijn
voor Elke tbl in db.TableDefs

strTbl = tbl. Name

voor Elke fld in tbl. Fields
als fld. Het type = 10 „typt dan 10 is tekst, skip voor aantal search
strFld = fld. Name
strSQL = „SELECTEERT * VAN“ & strTbl & „WAAR“ & _
strFld & „=“ „& strSearch &““; „
rs = db.OpenRecordset (strSQL)
als rs.RecordCount > 0 toen 'als strSearch found
vond = True
Console.WriteLine („is lijstnaam: “ & strTbl)/> het Eind van If
Next
/> If
Next

op Fout hervat Next
db. Sluit ()
tbl = Nothing
fld = Nothing
rs = Nothing
db = Nothing
DaoDbEngine = het Eind van Nothing

Sub

End Module
---

Antwoord : InteropServices.COMException: Kan any more lijsten openen niet.

Wat gebeurt als u een dichte Recordset toevoegt:

    Voor Elke fld in tbl. Gebieden
                  Als fld. Het type = 10 'typt dan 10 is tekst, skip voor aantalonderzoek
                      strFld = fld. Naam
                        strSQL = „SELECTEER * VAN“ & strTbl & „WAAR“ & _
                                  strFld & „= „“ & strSearch & „“; „
                        rs = db.OpenRecordset (strSQL)
                        Als rs.RecordCount > 0 toen 'als strSearch wordt gevonden
                            vond = Waar
                            Console.WriteLine („lijstnaam: “ & strTbl)
                        Eind als

                        'Maak open Recordsets schoon aangezien u… gaat
                        rs. Sluit

                    Beëindig als
                Daarna
Andere oplossingen  
 
programming4us programming4us