PDA

Vollständige Version anzeigen : Fehlermeldung DatenObject nicht gefunden???


87878787
22.11.2003, 13:55
Hallo an Forum,

hab ein Programm aus dem Buch Access 2000, mit dem ich Datensaetze suchen kann, es sieht so aus:

<font color = darkblue>Function</font> FindSoft()
<font color = darkblue>Dim</font> RS <font color = darkblue>As</font> Recordset
<font color = darkblue>Dim</font> DB <font color = darkblue>As</font> Database
<font color = darkblue>Set</font> DB = Application.CurrentDb
<font color = darkblue>Set</font> RS = DB.OpenRecordset("G-DRG", dbOpenDynaset)
RS<font color = red>.FindFirst</font> "Bezeichnung LIKE '*OP*'"
FindSoft = <font color = darkblue>Null</font>
<font color = darkblue>Do While</font> RS.NoMatch <> <font color = darkblue>True</font>FindSoft = FindSoft & Chr(13) & _
RS.Fields("DRG").Value & _
" : " & RS.Fields("Bezeichnung").Value
RS.FindNext "Bezeichnung LIKE '*OP*'"
<font color = darkblue>Loop</font>
RS.Close
<font color = darkblue>Set</font> RS = <font color = darkblue>Nothing</font>
<font color = darkblue>Set</font> DB = <font color = darkblue>Nothing</font>

<font color = darkblue>End Function</font>

mit dieser Funktion rufe ich das Programm auf:

<font color = darkblue>Public Sub</font> TESTFUNKTION()
<font color = darkblue>Dim</font> Text
Text = FindSoft()
<font color = darkblue>If</font> Text = <font color = darkblue>Null</font> <font color = darkblue>Then Exit Sub</font>
MsgBox Text
<font color = darkblue>End Sub</font>

nun funktioniert es leider nicht, bekomme da eine Fehlermeldung:

"Fehler beim Kompilieren:
Methode oder DatenObjekt nicht gefunden"

FindFirst wird markiert.
Woran liegt es, hab ich was vergessen?

Gruss und vielen Dank 87878787

Nouba
22.11.2003, 14:25
Woran liegt es, hab ich was vergessen?
Du hast vergessen, uns mitzuteilen, was Deine bisherigen Forschungen der Fehlerabstellung bisher gebracht haben. (OL-Hilfe, Don Karls FAQ, MOF-Suche, Google, Dein neues Buch, etc.)

Die FAQs 7.1/7.11 (Link ist weiter unten in der Fußzeile) könnten eventuell weiterhelfen.

Reinhard Kraasch
22.11.2003, 14:53
Und weiterhin muss es heissen:

Public Sub TESTFUNKTION()
Dim vText
Text = FindSoft()
If Not <b>Isnull(</b>vText) Then
MsgBox vText
end if
End Sub


"Text" sollte man auch besser nicht als Namen verwenden!

87878787
22.11.2003, 15:46
hi
habe bis jetzt nichts gefunden, die Seite von DonKarl FAQs 7.1/7.11
habe ich mir auch schon angekuckt
Villeicht zuwenig Verweise angeklickt:-)
Ab A00:
Visual Basic for Applications
Microsoft Access 10.0 Object Library
Microsoft ActiveX Data Objects 2.0 Library
Microsoft DAO 3.6 Object Library

wie soll ich den Fehler abstellen?

Nouba
22.11.2003, 15:54
die Seite von DonKarl FAQs 7.1/7.11
habe ich mir auch schon angekuckt
lesen dürfte besser als gucken sein. :) 2. und gründlichere Lösungsvariante
Wie o.a. Verweis auf DAO 3.6 setzen und explizit deklarieren, auf welche Bibliothek du dich berufst. Höchstwahrscheinlich auf DAO, also

Dim db as DAO.Database
Dim rs as DAO.Recordset
etc.

Lanz Rudolf
22.11.2003, 16:18
Hallo
Versuche einmal
DAO.Database, DAO.Recordset
und dbOpenSnapshot

SORY habe die Antwort von nouba nicht gesehen

87878787
22.11.2003, 16:39
Many Thank's
es hat funktioniert!!!!!
Wieso geht es nicht ohne DAO.Recordset , DAO.Database den Verweis habe ich doch angeklickt?

Gruss 87878787

Lanz Rudolf
22.11.2003, 17:23
hallo
das wissen die Götter und der gute Billi, ich aber nicht
Schönen Sonntag

Alexander Jan Peters
22.11.2003, 17:31
Hallo,

das liegt an der Reihenfolge der Verweise, Du hast ja auch noch einen Verweis auf ADO (bei 2K Standard) drin und der steht wahrscheinlich in der Reihenfolge der Prüfung über dem neu hinzugefügten DAO-Verweis.
Tja, und die ADO-Bibliothek kennt auch Objekte des Typs Recordset bzw. Database, allerdings die FindFirst-Methode nicht...
Den Verweis auf ADO könntest Du rausnehmen (oder den DAO-Verweis nach vorn rücken), wenn Du damit nicht arbeitest, ansonsten immer brav ;) vollständig benennen (DAO.Recordset und ADODB.Recordset).

Gruß Alex

Nouba
22.11.2003, 17:32
die Erklärung, welche Biblithek verwendet wird, steht im ersten Lösungsvorschlag der FAQ 7.11.

87878787
22.11.2003, 22:29
Original geschrieben von Nouba
die Erklärung, welche Biblithek verwendet wird, steht im ersten Lösungsvorschlag der FAQ 7.11.

Hast Recht, ich habe es erst jetzt bemerkt.............

87878787