Zobrazí chyba "Neshoda typu" při spuštění metody OpenRecordset


Příznaky


Pokud dimenze objektu jako sadu záznamů a poté nastavte objektu databaseobject. OpenRecordset(source), může se zobrazit následující chybová zpráva:
Chyba runtime "13": Neshoda typu

Příčina


Pokud projekt obsahuje odkazy na knihovny objektů DAO (Data Access Objects) a knihovny ActiveX Data Objects (ADO), může zobrazit více položek záznamů v seznamu, pokud dimenze objektu Recordset . K této chybě dochází, pokud seznam ADO knihovnu s vyšší prioritou než knihovnu DAO v dialogovém okně odkazy , bez ohledu na to, které položky záznamů vyberte ze seznamu.

Řešení


Pokud potřebujete pouze objekt DAO záznamů , ujistěte se, že odkaz na knihovnu objektů DAO má vyšší prioritu v dialogovém okně odkazy vyberte nebo zrušte odkaz na Microsoft ActiveX Data Objects.If musí odkazovat a využívat obě rozhraní DAO a Objekty ADO Recordset , dimenze objekty explicitně následujícím způsobem:
   Dim adoRS As ADODB.Recordset   Dim daoRS As DAO.Recordset

Další informace


Kroky pro reprodukci chování

  1. Spusťte aplikaci Visual Studio. Zobrazí se dialogové okno Nový projekt .
  2. Klepněte na tlačítko Otevřít. Zobrazí se formulář Form1.
  3. Klepněte pravým tlačítkem myši formulář Form1 a potom klepněte na tlačítko Zobrazit kód. Project1 - Form1 (kód) okno.
  4. Vložte následující kód v kódové stránce Project1:
    Dim dbs AS DatabaseDim rs AS Recordset  ' When you press the spacebar after "AS," the                           ' list box includes multiple Recordset entries.                           ' Pick any Recordset item, or type "Recordset."Private Sub Form_Load()Set dbs=OpenDatabase(dbname)Set rs=dbs.OpenRecordset(source)  ' The error occurs when this line                                        ' of code executes.End Sub
  5. V nabídce projekt klepněte na odkazy. Zobrazí se dialogové okno odkazy – Project1 .
  6. Klepněte na tlačítko Microsoft DAO 3.x Knihovna objektů, klepněte na tlačítko Microsoft ActiveX Data Objects 2.x knihovnya potom klepněte na tlačítko OK. Poznámka: Ujistěte se, že knihovnu objektů ADO má vyšší prioritu v seznamu odkazy dialogové okno pole nad knihovně DAO.
  7. V nabídce Spustit klepněte na tlačítko Start ke spuštění programu. Můžete obdržet chybovou zprávu, která je uvedena v části "Příznaky".