index für seek vergeben

02/03/2010 - 13:02 von Winfried Wille | Report spam
Hallo Gruppe,

ich will mittels Seek in inem adodb.Recorsset positionieren, wenn ich aber
einen Index zuweise, bekomme ich beim öffnen des recordsets einen fehler.
Wenn ich mit find arbeite geht es.
im rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
'rst.Index = "PrimaryKey" ' "atrtikelgruppennr" '"aaaaaARTIKELGRUPPEN_PK"
rst.CursorLocation = adUseServer
rst.Open "Artikelgruppen", cn, adOpenKeyset, adLockOptimistic,
adCmdTableDirect -- hier knallts
rst.Seek "601", adSeekFirstEQ

Als Name für den Index habe ich probiert den Feldnamen auf dem der index
liegt "artikelgruppennr", der Name des Index (über SQLManagement Studio
geholt) "aaaaaARTIKELGRUPPEN_PK" und "PrimaryKey".

Ich arbeite jetzt erstmal mit find, würde aber gerne die wohl schnellere
Seek-Methode nehmen.

Viele Grüße
Winfried Wille
 

Lesen sie die antworten

#1 Karl Donaubauer
02/03/2010 - 15:29 | Warnen spam
Winfried Wille wrote:
ich will mittels Seek in inem adodb.Recorsset positionieren, wenn ich
aber einen Index zuweise, bekomme ich beim öffnen des recordsets
einen fehler.



Und der ist geheim.

Wenn ich mit find arbeite geht es.
im rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
'rst.Index = "PrimaryKey" ' "atrtikelgruppennr"
'"aaaaaARTIKELGRUPPEN_PK" rst.CursorLocation = adUseServer
rst.Open "Artikelgruppen", cn, adOpenKeyset, adLockOptimistic,
adCmdTableDirect -- hier knallts
rst.Seek "601", adSeekFirstEQ

Als Name für den Index habe ich probiert den Feldnamen auf dem der
index liegt "artikelgruppennr", der Name des Index (über
SQLManagement Studio geholt) "aaaaaARTIKELGRUPPEN_PK" und
"PrimaryKey".
Ich arbeite jetzt erstmal mit find, würde aber gerne die wohl
schnellere Seek-Methode nehmen.



Ich fürchte, das wird nix werden.
Die Seek-Methode funktioniert erstens nicht bei verknüpften Tabellen,
zweitens nur bei JET-Tabellen. Das sollte in der ADO-Hilfe stehen,
die bei mir gerade wieder nicht geht, aber auch z.B. hier:
http://support.microsoft.com/kb/287638/de

Servus
Karl
****************
Access-FAQ: http://www.donkarl.com /// http://www.donkarl.com?NEK
.NET-Entwickler-Konferenz für Accessler 20./21.3.2010

Ähnliche fragen