17. November 2015 17:09
Hallo,
ich bin durch mein Studium neu mit der Software MS Dynamics NAV 2015. Ich habe ein Problem, wenn ich eine TableRelation erstellen möchte. Ich habe zwei Tabellen. Bei Tabelle1 möchte ich gerne Werte auswählen die aus Tabelle2 kommen. Das wäre zum Beispiel eine Modellbeschreibung aus Tabelle2. Dazu bin ich in die Properties des Feldes "Modell" von Tabelle1 gegangen und habe ´dies in der TableRelation als Tabelle2.Modell angelegt. Danach bin ich in die Properties der Tabelle2 und habe dort unter Views - Keys den Schlüssel Modell hinzugefügt (Habe dies hinter den ersten Primary Key mit einem Komma angefügt). Gehe ich jetzt in die Tabelle1 und lege einen Datensatz an, bekomme ich auch eine Auswahl des Felds Modell was sich, allem Anschein nach, auf die Tabelle2 bezieht. Wähle ich diesen Wert aus und springe ins nächste Feld bekomme ich aber die Fehlermeldung "Das Feld 'Modell' der Tabelle 'Tabelle1' enthält einen Wert (MODELLNAME1), der in der zugehörigen Tabelle (Tabelle2) nicht gefunden wurde.". Das verwirrt mich weil, ich den Datensatz in Tabelle2 angelegt habe und er auch beim anlegen eines Datensatzes in Tabelle1 zur Auswahl steht. Mit einer SQL Datenbankabfrage ist er auch zu finden. Was mache ich falsch?
Vielen Dank,
Zuletzt geändert von cid am 30. November 2015 18:54, insgesamt 1-mal geändert.
17. November 2015 20:06
Erstmal kannst du das Property ValidateTableRelation noch auf "No" (statt Default Wert "Yes") ändern, dann kann man auch manuell Werte eintragen die nicht in der bezogenen Tabelle enthalten sind. Das sollte zumindest die Fehlermeldung verhindern, macht die Sache aber nicht richtiger. Kopiere hier doch mal den Wert des Properties "TableRelation" rein, dann sehe ich vielleicht mehr.
18. November 2015 15:38
Hallo und danke für die Antwort,
der Wert der Propertie "TableRelation" von dem Feld "Modell" ist folgender:
TableRelation = Tabelle2.Model
(ich schreibe die Feld Bezeichnungen immer erst auf Englisch und füge danach in der CaptionML die deutsche Übersetzung hinzu.)
Gruß,
19. November 2015 18:03
Das Feld aus der zweiten Tabelle ist dort nicht im Primärschlüssel, wenn ich das richtig verstanden habe. Das ist dann das Problem.
Beispiel:
Tabelle1
Felder: Feld1, Feld2, Feld3
Feld2 TableRelation Tabelle2.Feld2
Tabelle2
Felder: Feld1, Feld2,Feld3
Primärschlüssel: Feld2
Feld3 in Tabelle1 könnte dann ein FlowField sein mit CalcFormula = Lookup(Tabelle2.Feld3 WHERE (Feld2=FIELD(Feld2)))
Beispielhaft kann man das z. B. in Tabelle 17 bei Feld 76 nachschauen:
Lookup("G/L Account".Name WHERE (No.=FIELD(G/L Account No.)))
23. November 2015 16:24
Danke für deine Antwort. Ich habe das ganze auch gleich versucht allerdings bleibt der Fehler bestehen. Ich habe mal zwei Screenshots angehängt, die bei der Fehleranalyse helfen könnten. ItemTable ist hierbei die Tabelle aus der ich die Daten für das Feld Model hole.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
23. November 2015 21:11
Du musst auf das Primärschlüsselfeld verweisen, siehe mein Beispiel vom 19.11.
24. November 2015 15:29
Womöglich verstehe ich hier etwas falsch, aber ich habe den Primary Key "Model" der Tabelle 2, wie im Screenshot 1 zu sehen ist, unter Keys angelegt. Muss jetzt noch eine Zuweisung erfolgen? Wenn ja wo wird diese Zuweisung gemacht?
25. November 2015 19:54
Mir scheint "Model" ist in der einen Tabelle Text 50 und in der anderen Code 60. Die Länge wäre jetzt nicht so tragisch aber Text hat Kleinbuchstaben, Code nicht, das wird das Problem sein. So oder so, die Feldtypen müssen schon gleich sein...
26. November 2015 15:25
Oha was ein peinlicher Fehler
. Jetzt funktioniert es. Vielen Dank für die Hilfe.
26. November 2015 17:15
Setze noch den Betreff im ersten Beitrag auf [Gelöst] oder [Erledigt] damit das entsprechend gekennzeichnet ist.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.