berechnete Spalten können nicht in Systembeziehungen verwendet werden

Ich habe leider nur Access2016. Deine DB verlangt aber eine neuere Version. Kannst Du Sie vielleicht in einer kompatiblen Version speichern?
 
Werbung:
Hi
Interessant, denn bei mir war unter Optionen eingestellt: "Standarddateiformat für leere Datenbank: Access 2007-2016",

a) Ich habe jetzt unter Optionen eingestellt "Standarddateiformat für leere Datenbank: Access 2000", diese findest du im Anhang als "Energie_DB_Test_2000a"
Probier bitte mal ob sich was geändert hat.

b) Ich habe Datenbank mit "Speichern unter" als "Access 2000-Datenbank" abgespeichert. Diese findets im Anhang als "Energie_DB_Test_2000b"

Grüße Markus
 

Anhänge

Also, nachdem ich die Funktionen im allgemeinen Modul in Jzeit(suchdat) und Sais(suchdat umbenannt habe.
(aus Jahreszeit in den Funktionen auch Jzeit, usw.) und die Aufrufe in den Formularmodulen auch passend gemacht habe, funktioniert es.

Ich vermute das irgendwo was mit der doppelten Dimensionierung der Variablen, bzw der Funktionsnamens kaputt gegangen ist.
 
Hallo Andreas!
Danke, ja dann funktioniert es!!

Ich habe jetzt noch eine interessante Entdeckung/Erfahrung gemacht:

Ich rufe die Functions Jzeit und Sais von folgenden Formularen auf
  • F_Neuberechnung_Saison_JZ_alle (und dort entweder Neuberechnung für T-Zähler oder für T_Auto
  • F_EingabeneueLadungAuto
Das funktioniert jetzt gut.

Wenn ich ein weiteres Formular "F_EingabeneuerZählerstand" anlege und dort die identischen Code wie bei "F_EingabeneueLadungAuto" hinterlege, also (auszugsweise)

Code:
.....
'***** Function Jahreszeit aufrufen
  Ergebnis_Jahreszeit = Jzeit(Suchdat)
  Debug.Print Ergebnis_Jahreszeit
  Me.Jahreszeit = Ergebnis_Jahreszeit
.....

und obwohl ich sowohl in der Tabelle als auch im im Formular dasFeld "Jahreszeit" habe, bekomme ich die Fehlermeldung: "Methode oder Datenobjekt nicht gefunden" und Me.Jahreszeit in der Codezeile Me.Jahreszeit = Ergebnis_Jahreszeit wird blau hinterlegt.

Wenn ich nun aber Me!Jahreszeit = Ergebnis_Jahreszeit schreibe dann funktioniert es !?

Schon erstaunlich oder?

Grüße Markus
 
Es gibt da eine ausführliche Abhandlung, die ich ab und zu auch mal wieder lesen muss: VBA: Punkt oder Ausrufezeichen

Was mir noch aufgefallen ist, Du benutzt in Formular und Tabelle ein Feld mit dem Namen "Datum". Datum ist ein reserviertes Wort und das führt unter Umständen auch mal zu Problemen, weil Access das dann in den Eigenschaften oder Abfrage als "Date" interpretiert. Gleiches gilt für "Name". Das ist noch doofer, weil es in Englisch und Deutsch gleich geschrieben wird. Ich erfinde da lieber neue Bezeichnungen wie Datvon, Datbis, Name1, usw.
 
Hallo Andreas!
Ich wollte nach meinem Urlaub ein paar neue Datensätze eingeben und plötzlich bekomme ich eine Fehlermeldung.
Die Eingabe der neuen Sportarten mittels Formular F_EingabeneueSportart funktioniert (siehe Datensätze mit ID 842 bis 844 in Tabelle T_Sportart)

Aber wenn ich nun mit dem Formular F_EingabeneueAktivität einen neuen Aktivitätseintrag (= neuer Eintrag in T_Tagebuch) machen will und im Formular auf den Button "neuen Datensatz anlegen" drücke bekomme ich die Fehlermeldung "Laufzeitfehler 2105: Sie können nicht zu dem angegebenen Datensatz gehen" und in VBA markiert Access die Zeile "DoCmd.GoToRecord , , acNewRec" gelb.

Hast du einen Idee was die Ursache sein könnte ?
Ich habe in der DB nichts geändert.
Ist es eigentlich ein Problem wenn in der Tabelle T_Tagebuch nicht alle IDs vorkommen, zB gibt es die IDS 833 bis 839 nicht ? (das ist aber schon länger so, da ich beim Testen diverse Datensätze dann wieder gelöscht habe).

Zusatzfrage:
Im Formular F_EingabeneueAktivität werden (solange es funktioniert hat :-)) im Kombinationsfeld4 (Steuerelementinhalt Sportart_ID, Datensatzherkunft A_Sportart_Region_Land_Kategorie_gruppiert) die verfügbaren Sportarten geordnet nach Kategorieangezeigt

Mit der SQL-Abfrage bei der Datensatzherkunft
Code:
SELECT T_Sportart.ID, T_Kategorie.Kategorie, T_Sportart.Streckenbezeichnung, T_Sportart.Streckenverlauf, T_Region.Region, T_Land.Land
FROM ((T_Land INNER JOIN T_Region ON T_Land.[ID_Land] = T_Region.[ID_Land]) INNER JOIN (T_Kategorie INNER JOIN T_Sportart ON T_Kategorie.[ID_Kategorie] = T_Sportart.[ID_Kategorie]) ON T_Region.[ID_Region] = T_Sportart.[ID_Region]) INNER JOIN T_Tagebuch ON T_Sportart.[ID] = T_Tagebuch.[Sportart_ID]
GROUP BY T_Sportart.ID, T_Kategorie.Kategorie, T_Sportart.Streckenbezeichnung, T_Sportart.Streckenverlauf, T_Region.Region, T_Land.Land
ORDER BY T_Kategorie.Kategorie, T_Sportart.Streckenbezeichnung
müssten die angezeigten Sportarten nicht nur nach Kategorie sondern dann auch noch nach Streckenbezeichnung geordnet angezeigt weden, oder?

Grüße
Markus
 

Anhänge

In F_EingabeneueAktivität hat sich in den Eigenschaften des Formulars ein Filter und eine Sortierung eingeschlichen. Wenn Du diese entfernst funktioniert docmd.gotorecord ac newrec wieder.
 
Fehlende IDs stören nur dann, wenn sie Teil einer Beziehung waren, die ohne Änderungs, bzw. Löschweitergabe angelegt sind. Dann ist die Datenbank an der Stelle inkonsistent.
 
Werbung:


Schreibe deine Antwort....
Zurück
Oben