PDA

Vollständige Version anzeigen : Suche über Index in VBA


noti
05.03.2001, 14:11
Liebes Forum

I bin verzweifelt.

Verwende schon seit geraumer Zeit die Index und Seek Funktion in VAB. Hatte noch nie Probleme damit. Aber bei unten angeführten Code erhalte ich immer die Fehlermeldung

Fehlercode 3800 - FZGKOMM ist kein Index usw.

Aber: Feld FZGKOMM ist ein Primäschlüssel in meiner Tabelle (der mit dem gelben Schlüsselchen).

Dim rs1 As Recordset
Dim db As Database
Dim rs2 As Recordset
Dim db1 As Database
Dim dwbereich As Workspace

Set dwbereich = DBEngine.Workspaces(0)
Set db = dwbereich.OpenDatabase("x:\ga\ga_2000\laufend\ga_appli.mdb") 'appli_pfad)
Set db1 = dwbereich.OpenDatabase("x:\ga\ga_2000\laufend\ga_daten.mdb") 'daten_pfad)

Set rs2 = db1.OpenRecordset("tab_erfolgsrechnung_boni", DB_OPEN_TABLE)
Set rs1 = db.OpenRecordset("tab_bonusrechnen_temp", dbOpenDynaset)

rs2.Index = "fzgkomm"
rs2.Seek "=", rs1!FZGKOMM

usw ..

Wer kann mir da helfen bzw. gibt es eine hübschere Variante um in einer Tabelle einen Datensatz zu finden und diesen zu ändern oder wenn nicht vorhanden anzulegen (denke da an SQL)

Vielen Dank

noti aus wien

Datenherby
05.03.2001, 19:56
In Access 2000 musst du einen Verweis auf die Bibliothek Microsoft DAO 3.6 Objekt Library erstellen.

Definiere die Objektvariable rs2 as DAO.Recordset

Ich hoffe, es klappt.

Squirli
05.03.2001, 20:34
Hallo noti,

versuchs mal mit rs2.Index = "primarykey"
Der Name der Indizes muss nicht unbedingt gleich dem Feldnamen sein. In der Entwurfsansicht der Tabelle unter Menü Ansicht Indizes findest Du die Namen der Indizes.

Grüße Squirli