PDA

Vollständige Version anzeigen : Laufzeitfehler '3251'


Dany
06.10.2001, 15:57
Hallo zusammen,
ich habe folgendes Problem. Ich möchte per VBA einen Datensatz aus einer Tabelle auslesen und in einem Formular anzeigen lassen.

Ich bekomme allerdings immer die Fehlermeldung:
Laufzeitfehler '3251' Operation wird für diesen Objekttyp nicht unterstützt.

meine VBA-Funktion sieht folgendermaßen aus:

Private Sub Kombinationsfeld0_AfterUpdate()
Dim db As DAO.Database
Dim vertrag As DAO.Recordset

Set db = CurrentDb()
Set vertrag = db.OpenRecordset("charterverträge")

vertrag.Index = "charternummer"
vertrag.Seek "=", Me![Kombinationsfeld0]

If vertrag.NoMatch = False Then
Me![Text2] = vertrag![Kundennr]
Me![Text4] = vertrag![Vertreter1]
End If

db.Close
End Sub

Die Tabelle "Charterverträge" ist aus einer anderen Datenbank eingebunden.

Wenn ich diese Tabelle in meine Datenbank importiere funktioniert obige Funktion einwandfrei.

Vielleicht hat ja von Euch jemand eine Idee.
Danke, Daniel.

Sascha Trowitzsch
06.10.2001, 16:16
Set vertrag = db.OpenRecordset("charterverträge",dbOpenDynaset)

Dany
06.10.2001, 16:25
Hallo Sascha,

danke für Deine Hilfe.
Leider hat klappt es mit dem Zusatz immer noch nicht.

Daniel.

siboern
06.10.2001, 20:46
Hallo Dany,
schau mal in der Onlinehilfe nach beim Befehl Seek. Ich glaube mich erinnern zu können, daß dieser bei eingebundenen Tabellen im Gegensatz zu importierten Tabellen nicht funktioniert. Dann müsstest Du mit FindFirst Kriterium arbeiten.
Gruß Siegfried

Goki
06.10.2001, 22:14
Hallo Dany!

Das Problem kenne ich ... die Tabelle ist bei dir in der Datenbank nur verknüpft ... dann tritt dieser Fehler auf ...

Mit Set db = CurrentDB weißt du ja Access an auf die jetztige geöffnete Datenbank zuzugreifen und die Tabelle Chartervertärge zu öffnen ... diese existiert aber nicht in der jetzigen Datenbank ... mußt folgendes machen ...

Set DB = OpenDatabase("\\[Name des Computers]\[Freigabenamen des Ordners mit Unterordnern]\[Name der AC-Datenbank mit .-Endung]")
Set Vertrag = db.OpenRecordset("Charterverträge", dbOpenTable, dbReadOnly)

.....

Am Schluß empfiehlt es sich immer zuerst die
Verbindung der Tabelle mit

vertrag.Close

zu beendetn und dann die Verbindung zur Datenbank mit

db.Close

zu kappen.

Versuch es mal damit. Bei Fragen kannst mich gern unter meine Mail erreichen.

slg
Goki

Manuela Kulpa
07.10.2001, 06:01
<font face="Verdana" size="2">Hallo Dany!

Kleiner Tipp am Rande ;), <a href="http://www.donkarl.com" target="_blank">FAQs von Karl Donaubauer</a> - speziell

<a href="http://www.donkarl.com/FAQ/FAQ6VBA.htm#6.10" target="_blank">FAQ 6.10 - Seek bei eingebundenen Tabellen</a>

vg</font>