Question : InteropServices.COMException : Ne peut ouvrir plus de tables.

Les chers experts, le

I ont une application simple de console de VB.NET que les boucles par toutes les tables de msaccess et met en place les collections, recherche d'une valeur donnée des textes dans l'application du strSearch variable.

The parvient à balayer par environ 12 tables sur 207 tables dans ma base de données d'essai de msaccess. Et elle me donne l'erreur d'exécution comme ce qui suit :
---exception du
Unhandled : System.Runtime.InteropServices.COMException : Ne peut pas ouvrir l'an
y plus de tables.
au
de DAO.Database.OpenRecordset (nom de corde, type d'objet, options d'objet, Objec
t LockEdit) au
de scanTbls.Module1.Main (des sArgs de String [])---le

I AM regardant également la même solution à ceci avec l'AGITATION si DAO ne fonctionne pas well.
Here ci-dessous est mon application de console :
---le

de la force du
Module Module1

(sArgs de ByVal () comme corde) obscurcissent le DB comme faibles rs de DAO.Database
comme DAO.Recordset
faible DaoDbEngine en tant que nouveau tbl du
de DAO.DBEngine () faible comme faible fld de DAO.TableDef
comme faible strTbl de DAO.Field

comme faible strFld de String
comme faible strSQL de String
comme faible cntTbl de String
comme faible strSearch d'Integer
comme corde = boucle de « c:\test.mdb " de « mot de passe " faible strPathFile du
comme corde = le

(strPathFile)/>
« par une collection de tables
pour chaque tbl dans le strTbl = le tbl de db.TableDefs

. Name

pour chaque fld dans le tbl. Fields
si fld. Le type = 10 alors le « type 10 est le texte, saut pour le strFld = le fld du search
de nombre. Le strSQL de Name
= « CHOISISSENT * À PARTIR » et strTbl et « OÙ » et strFld du _
et « = » « et strSearch et » » ; « rs du
=
de db.OpenRecordset (strSQL) si rs.RecordCount > 0 puis 'si le strSearch est le found
trouvé = True
Console.WriteLine (« nom de table :  » et extrémité If
Next

d'If
Next
de fin d'If
de fin du
de strTbl) sur le DB de Next
de résumé d'erreur. Clôturer () le tbl du
= le fld de Nothing
= les rs de Nothing
= le Nothing
DB = extrémité Sub

End Module
de Nothing
DaoDbEngine = de Nothing

---

class= de

Réponse : InteropServices.COMException : Ne peut ouvrir plus de tables.

Ce qui se produit si vous ajoutez une fin de Recordset :

    Pour chaque fld dans le tbl. Champs
                  Si fld. Le type = 10 alors le 'type 10 est le texte, saut pour la recherche de nombre
                      strFld = fld. Nom
                        le strSQL = « CHOISISSENT * À PARTIR » et strTbl et « OÙ » et le _
                                  strFld et « = «  » et strSearch et «  » ; « 
                        rs = db.OpenRecordset (strSQL)
                        Si rs.RecordCount > 0 puis 'si le strSearch est trouvé
                            trouvé = rectifier
                            Console.WriteLine (« nom de table :  » et strTbl)
                        Finir si

                        'Nettoyer Recordsets ouvert comme vous allez…
                        rs. Fin

                    Finir si
                Après
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us