PK einer Tabelle finden?!

Bild Microsoft Dynamics NAV 1.xx und 2.xx
(ehem. Navision Financials)

PK einer Tabelle finden?!

Beitragvon Dune » 24. Mai 2007 12:55

Hallo zusammen,

ich möchte irgendwie die Schlüssel (nur der Primärschlüssel reicht auch!) einer Tabelle herausfinden.

Jetzt bitte nicht gleich losschreiben: Guck in den Designer!

Etwas komplizierter ist es schon:

Gibt es eine versteckte Tabelle (wie "Fields" oder "Objekt"), in der die SchlĂĽssel gespeichert werden?

Hintergrund der ganzen Aktion ist folgender:
Ich ziehe mir ĂĽber ODBC Tabellendaten nach Excel, um sie mit anderen Datenbanken zu vergleichen.
Der Vergleich erfolgt z.B. so: Artikelnr. der ersten DB wird in der zweiten DB gesucht, alle Felder dieser Zeile werden verglichen und dann geht´s weiter mit der nächsten Artikelnr.

Das Ganze läuft natürlich nur, wenn das Feld Artikelnr. auch eindeutig ist, sprich keine Artikelnr. mehrfach vergeben ist.

Sollte eine Tabelle einen PrimärKey aus mehreren Feldern besitzen, läuft der Vergleich so nicht mehr und ich mußte mir was anderes überlegen.

Mein Problem ist nun, dass ich erst mal herausfinden muss, ob die entsprechende Tabelle einen PrimärKey aus einem Feld oder mehreren besitzt.

Mein erster Versuch, dies ĂĽber die Feldnr. herauszufinden hat nicht funktioniert. In der Tabelle "Artikel VK-Preis" ist Artikelnr. Feld 1, aber der PK besteht trotzdem aus mehreren Feldern.

Hoffe, es ist verständlich formuliert.

Danke.
Dune
 
Beiträge: 112
Registriert: 7. Dezember 2006 10:25

Beitragvon MartinR » 24. Mai 2007 13:47

Hallo.

MĂĽsste doch eigentlich ĂĽber CURRENTKEY funktionieren.

Code: Alles auswählen
Datei.RESET;
Primärschlüssel := Datei.CURRENTKEY;
MartinR
 
Beiträge: 25
Registriert: 15. Mai 2007 11:03
Wohnort: Weinheim

Beitragvon Dune » 24. Mai 2007 15:39

Hallo MartinR,

danke fĂĽr deinen Hinweis, das stimmt zwar, aber das suche ich leider nicht.

Ich mĂĽĂźte wissen, ob die SchlĂĽssel in einer versteckten Tabelle stehen und wie diese Tabelle heiĂźt!

Der Vergleich der DBs läuft in Excel (VBA), d.h. ich habe keine Navision-Befehle zur Verfügung. (Ich hoffe, dass wurde auch im ersten Beitrag deutlich!)
Sollte es diese o.g. Tabelle geben, könnte ich diese mittels ODBC auslesen und so herausfinden, wie der PrimärKey der Tabelle XY lautet.

Bis dann.
Dune
 
Beiträge: 112
Registriert: 7. Dezember 2006 10:25

Beitragvon mespelage » 24. Mai 2007 15:47

Ab Version 4.02 (eventuell auch schon ab 4.0) gibt es die Tabelle Key (2000000063). Dort Kannst du nach Tabellen ID und nach Schlüsselnummer (Primärkey = 1) abfiltern.
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon MartinR » 24. Mai 2007 15:51

Hallo Dune.

Sorry, hab wohl Deinen ersten Beitrag falsch verstanden.

Meines Wissens nach gibt es leider keine Systemtabelle,
aus der man die SchlĂĽssel einer bestimmten Tabelle
ermitteln kann.
MartinR
 
Beiträge: 25
Registriert: 15. Mai 2007 11:03
Wohnort: Weinheim

Beitragvon MartinR » 24. Mai 2007 15:55

mespelage hat geschrieben:Ab Version 4.02 (eventuell auch schon ab 4.0) gibt es die Tabelle Key (2000000063). Dort Kannst du nach Tabellen ID und nach Schlüsselnummer (Primärkey = 1) abfiltern.


Cool. Kannte ich noch gar nicht.
MartinR
 
Beiträge: 25
Registriert: 15. Mai 2007 11:03
Wohnort: Weinheim

Beitragvon Dune » 24. Mai 2007 16:27

Hi mespelage,

dank dir für deine Antwort. Dann könnten die Keys vor 4.0 doch auch in einer Tabelle stehen und man muß diese Tabelle nur noch finden!?

Hoffentlich hat sie bereits jemand gefunden und kann mir noch schnell den Namen sagen.
Dune
 
Beiträge: 112
Registriert: 7. Dezember 2006 10:25

Beitragvon Natalie » 24. Mai 2007 18:19

Dune hat geschrieben:Hoffentlich hat sie bereits jemand gefunden und kann mir noch schnell den Namen sagen.


Ohne nachgeschaut zu haben: In der Regel existieren die Tabellen in ältereren Versionen einfach nur in der deutschen Übersetzung. Da die Tabelle heute "Key" heißt (wie mehrfach genannt), könnte sie früher "Schlüssel" geheißen haben.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon jm » 24. Mai 2007 19:13

Dune hat geschrieben:Hoffentlich hat sie bereits jemand gefunden und kann mir noch schnell den Namen sagen.


Nein, die Daten haben bestimmt irgendwo existiert, wurden aber nicht ĂĽber Systemtabellen auf der C/AL-Ebene zur VerfĂĽgung gestellt.

Um sich alle Systemtabellen (und auch die "normalen") mit ihnen Feldern anschauen zu können, muss man nur eine neue Form auf die Tabelle "2000000041" aufsetzen.
Aber bitte Editable=nein, da ein Löschen hier wirklich Felder im Tabllendesign löscht.
MfG
Josef Metz
jm
Microsoft Partner
Microsoft Partner
 
Beiträge: 139
Registriert: 18. April 2005 11:32
Wohnort: WĂĽrzburg
Realer Name: Josef Metz
Arbeitsort: WĂĽrzburg
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: DOS..


ZurĂĽck zu NAV 2.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast