Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben
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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...