Veröffentlicht 19. März 200322 j Hi Leute, ich habe ein Problem mit dieser Funktion und zwar wird mir folgender Fehler an der im Code markierten Stelle angezeigt: Laufzeitfehler '3015': 'Monat ist kein Index in dieser Tabelle. Anhand der Index-Auflistung des TadleDef-Objekts koennen Sie die gueltigen Indexnamen ermitteln. Public Function ImportDaten() Dim i As Date Dim A As Date Dim B As Date Dim DB As Database Dim AusgewMon As Recordset A = DateValue(Format(Forms!Formular1.Importstartdat, "dd.mm.yyyy")) B = DateValue(Format(Forms!Formular1.Importendedat, "dd.mm.yyyy")) For i = A To B Step 31 ImportMonatsdaten (i) DoEvents Set DB = CurrentDb Set AusgewMon = DB.OpenRecordset("tab_AusgewerteteMonate") AusgewMon.Index = "Monat" <==FEHLER AusgewMon.Seek "=", i If AusgewMon.NoMatch Then AusgewMon.AddNew AusgewMon("Monat") = i AusgewMon.Update AusgewMon.Close End If Next i End Function Gruss Psychomutter
19. März 200322 j Das Feld, das man mit der "Index"-Eigenschaft angibt, muss in der Datenbank auch ein indiziertes Feld sein, sonst geht das nicht. Wenn du die DB-Struktur nicht ändern kannst/darfst/willst, nimmt die Find-Methode statt Seek.
19. März 200322 j Das Feld in der Tabelle ist aber Indiziert!!! Aber ich glaube ich hab die Loesung. Ich habe anstelle von: AusgewMon.Index = "Monat" AusgewMon.Index = "PrimaryKey" gesetzt und es funzt anscheinend
19. März 200322 j Das erinnert mich an was: Bei der Index-Eigenschaft gibt man auch nicht den Namen des indizierten Feldes (also "Monat") an, sondern den Namen des Indexes. Wenn man den nicht manuell ändert, verleibt die Voreinstellung "PrimaryKey". HTH
19. März 200322 j hmm wenn ich aber in der Liste der Indexes der Tabelle nachsehe steht da auch ausser "PrimaryKey" auch "Monat" als Indexname und trotzdem geht es nicht. Ich hab keinen Schimmer warum nicht!! In einem Beispielprogramm hab ich gesehen das es so (mit "Monat") ging. Naja wie auch immer mit PrimaryKey funzt es auf jeden Fall. Trotzdem danke fuer die Hilfe. MfG Psychomutter
19. März 200322 j Achso noch was anderes: kann ich das "DoEvent" weglassen oder ist es besser wenn ich es drin lass??
19. März 200322 j DoEvents brauchst du nur dann, wenn du zwischendurch z.B. Aktualisierungen im Formular vornimmst, z.B. für den Progressbar. Wenn du sowas nicht nutzt, kannst DoEvents weglassen, allein schon wegen der Beschleunigung.
20. März 200322 j Originally posted by Psychomutter Achso noch was anderes: kann ich das "DoEvent" weglassen oder ist es besser wenn ich es drin lass?? Ich rate dir, es drin zu lassen. Wenn die beiden Daten in den Datumsfeldern sehr weit auseinander liegen, könnte dein Skript ja eine Weile laufen. Ohne DoEvents hast du dann schon Probleme, zu einer anderen Anwendung zu wechseln oder Abzubrechen oder ,,, Reinhold
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.