| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Abfrage in AutoCAD als neue datenbank speichern (1152 mal gelesen)
|
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 09. Mrz. 2005 13:25 <-- editieren / zitieren --> Unities abgeben:         
Hi Leute, Ich habe in SQL eine Stammdatenbank erstellt, die alle Objekte beinhaltet, die in einer AutoCAD-Zeichnung vorkommen können. Diese Datensätze werden dann, wenn man eine neue Zeichnung kreirt mit den Objekten verknüpft, denen sie entsprechen. daraus habe ich eine Abfrage gemacht, die die Datensätze anzeigt, die mit der Zeichnung verknüpft sind. Wie kann man aus dieser Abfrage eine neue Datenbank erstellen, die nur die Datensätze von dieser Zeichnung beinhaltet? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4191 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 09. Mrz. 2005 13:39 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
Hallo Dexta, du möchtest diese Daten in einer neuen Tabelle speichern? Reicht denn aber nicht die Abfrage? Diese kannst du doch immer dann, wenn du diese Daten benötigst auch durchführen? Dann wären die Daten Tagesaktuell und du vermeidest redundante Datenhalten, deren Pflege sehr viel Arbeit bedeutet und in der täglichen Arbeit immer einen Unsicherheitsfaktor bedeutet. SELECT INTO ... könnte die Lösung sein? Musst allerdings noch eine neue Tabelle erstellen. Das ist allerdings von der Art der Datenbank und den in der Tabelle vorgesehenen Feldern abhängig. Schau doch bitte mal in die SQL-Hilfe, das wird dir mit Sicherheit eher weiter helfen, als dieses Forum. Es ist für jemanden, der weder die Datenbank noch die Art der Verknüpfung usw kennt, eigentlich unmöglich dir hier inhaltlich stimmige Lösungen zu bieten. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 09. Mrz. 2005 13:46 <-- editieren / zitieren --> Unities abgeben:         
hi Holger, Prinzipiell hast du recht, aber es geht darum, dass diese Tabelle, bzw. neue Datenbank nicht in AutoCAD gespeichert werden soll, da diese Daten nicht nur von Leuten betrachtet werden soll, die AutoCAD auf ihrem Rechner haben, sondern auch über Access und Excel anschaulich gemacht werden sollen. Außerdem gibt es ziemlich viele Projekte, die alle verschiedene Objekte beinhalten, dies soll auch noch dazu dauerhaft und von jedem abrufbar sein. Deswegen ist eine eigene Datenbank pro Projekt fast unumgänglich! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4191 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 09. Mrz. 2005 13:56 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
Hallo Dexta, eine Datenbank ist nur die Hülle für verschiedene Datenbankobjekte. Es ist quasi das Betriebssystem für die Datenbanktabellen. Soll heißen: Eine Datenbank! (deine SQL-DB auf dem Server) In dieser DB legst du dir dann eine Tabelle an, in der alle möglichen Projekte enthalten sind. Dann machst du dir eine Projekttabelle, in der jeder Datensatz auf ein Objekt und auf ein Bauteil verweist. Bastelst dir eine Abfragemaske, welches Projekt denn betrachtet werden soll, und dann lässt dir dann nur die Daten anzeigen, die eben diesem gewähltem Projekt zugehörig sind. Ich schlage vor, du überdenkst deine Herangehensweise. Du machst dir sonst wirklich doppelte Arbeit und irgendwann wird niemand im Unternehmen den Daten aus der Datenbank trauen weile diese eben redundant gehalten werden? Oder du musst dir Algorithmen(Unternehmensabläufe) ausdenken, die sicherstellen, dass immer aktuelle Daten vorliegen. Und eine Datenbank (z.T.)kopieren, das ist sicher nicht die richtige Lösung. Was ist, wenn sich ein Teil der Stammdatenbank ändert? Willst du dieses Teil in allen Projekten nachpflegen??? Denk mal drüber nach! Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 09. Mrz. 2005 15:43 <-- editieren / zitieren --> Unities abgeben:         
Hi Holger, Klasse IDEE! So könnte es funktionieren. Bloß an der Umsetzung hapert es noch. Das ich dich richtig verstehe. Tabelle1_Projekt: mit P_ID und projektname Tabelle2_Artikel A_ID P_Nr per Fremdschlüssel verknüpft mit P_ID +Attribute Ich sollte mir aber noch eine Stammdatenbank machen, oder?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 09. Mrz. 2005 15:48 <-- editieren / zitieren --> Unities abgeben:         
Und wie kann ich festhalten, dass ein Artikel in der Stammdatenbank eine Verknüpfung zu einem Projekt hat? Wenn ich Beispielsweise in der Stammdatenbank ein Feld hab, indem hinterlegt ist, in welchem Projekt diese Datensatz vorkommt, wird das doch irgendwann sehr verwirrend, wenn dann bei einem Objekt 1000 Projekte hinterlegt sind, in denen dieses Objekt vorkommt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 09. Mrz. 2005 15:54 <-- editieren / zitieren --> Unities abgeben:         
Und noch eine Frage, ich weiss, dass ist schon die dritte hintereinander, aber du hast mich mit deinem Vorschlag wirklich sehr angeregt. wie kann ich die Abfrage formulieren? Alle Objekt, die in AutoCAD in einer gewissen Zeichnung eine Verknüpfung haben, was ist das Kriterium??? Kann man eigentlich überhaupt irgendwie mit der verknüpfung in autocad als Abfragekriterium arbeiten? und wie? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4191 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 09. Mrz. 2005 21:32 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
Hallo Dexta, jetzt verstehe ich die Welt nicht mehr. Du willst dir eine Stammdatenbank machne? Ich denke die hast du. Bei dem was du vor hast, solltest du dir mal die Threads durchlesen, die das Mitglied kiltswitch (z.B. dieser) begonnen hat. Den Inhalt bzgl dessen, wie man ein Projekt durchzieht solltest auch du dir zu Herzen nehmen. Grundsätzlich ist eine Datenbank für einen Außenstehenden verwirrend. Ziel ist aber immer die Daten so flexibel wie möglich zu halten und dabei redundante Daten zu vermeiden. Der Aufbau könnte folgender sein +PROJEKTE+ -P_ID -PBezeichnung -Ort -... +DWG+ -DWG_ID -DWGBezeichnung -DWGDateiname -DWGDateipfad -... +ProjektDWG+ diese Tabelle ist notwendig, fals zu einem Projekt mehrere ZEichnungen gehören -PDWG_ID -P_ID(+PROJEKTE+) -DWG_ID(+DWG+) +OBJEKTE+ -O_ID -OBezeichnung -ODaten -... +PROJEKTOBJEKTE+ -PO_ID -DWG_ID(+DWG+) -O_ID(+OBJEKTE+) -Entity_HANDLE -... usw.... Du kannst nun in der Datenbank folgende Abfragen gestalten -Objekte, die in einer Zeichnung vorkommen -Objekte, die in einem Projekt vorkommen -Welche Zeichnungen zu einem Projekt gehören -... Setz dich am besten mal mit Papier und Bleistift hin und versuche dir die Struktur der DB aufzuzeichnen. Da siehst du am besten, welche Zusammenhänge notwendig sind. Dann ist es auch ein leichtes die SQL-Strings zu generieren. Machst du diese Vorarbeiten ordentlich und gut durchdacht, dann ist der Rest ein Kinderspiel, dann hapert es meist nur noch an der Syntax. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 10. Mrz. 2005 09:05 <-- editieren / zitieren --> Unities abgeben:         
Einen wunderschönen guten Morgen, Holger!! Hab gerade noch eine Frage zu meinem Tabellenentwurf, und zwar zur Objekttabelle, ich habe dort die Werte: Baugruppe, Bezeichnung, Bezugsgröße, DN, Funktionsweise, Lieferant und Material. Ich will sämtliche Felder durch ein Kombinationsfeld im Formular nachschlagen können, dafür habe ich überall eine Tabelle für jeden Werte erstellt, und mit einer Mastertabelle, Objekte, in der aber nur Fremdschlüssel stehen verknüpft. Wenn ich nun einen Beispieldatensatz eingebe und dann speichern will, gibt mir SQL, bzw. Access eine Fehlermeldung aus, "Der Datensatz kann nicht aktualisiert werden, Ein anderer Benutzer hat ihn entweder gelöscht oder den Wert seines prmärschlüssels geändert". Noch dazu auffällig ist, dass es doch normal ist, wenn man das erste Feld im Formular eingegeben hat und bestätigt, der Primärschlüssel, vom Typen Autowert auf eine Zahl gesetzt wird, hier steht aber immernoch Autowert im Feld, auch, wenn ich chon alle Daten eingegeben habe. Hast du eine Erklärung? und findest du, dass das mit der Mastertabelle eine gute Idee ist, oder kann man noch irgedwie anders Felder hinterlegen, für ein Kombinationsfeld, die nur ausgewählt werden müssen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4191 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 10. Mrz. 2005 09:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 10. Mrz. 2005 11:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
|
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 10. Mrz. 2005 14:39 <-- editieren / zitieren --> Unities abgeben:         
Hi Holger, So, jetzt paßt mein Datenmodell. Hab´s jetzt so gemacht wie du´s mir vorgeschlagen has, und jetzt klappt alles innerhalb der db. Vielen Dank nochmal. Aber trotzdem habe ich die nächste Frage: Wenn ein Benutzer eine Zeichnung auf hat, vergibt er ja den Namen der Zeichnung, wie kann ich den Namen der aktuellen Zeichnung automatisch in Meine Zeichnungstabelle in SQL einfügen lassen? So, dass die Verknüpfung greift. Und die Abfrage, welche Objekte in einer ganz bestimmten Zeichnung auftauchen, wie mach ich dass, muss ich das wahrschienlich irgendwie über die Zwischentabelle Zeichnungsobjekt machen, die ja mit einer jeweiligen 1:n Verbindung zu Zeichnung und Objekt steht? :-)
Nochmal sorry, aber des ist echt mein erstes Datenbankprojekt, das ich mache, deshalb war´s zuerst ziemlich planlos. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4191 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 10. Mrz. 2005 15:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Dexta
Hallo Dexta, ganz so ist es nicht. Der Benutzer zeichnet ja nun erst einmal und dann irgendwann will er irgendwelche Elemente mit der DB verknüpfen. Genau in diesem Moment muss von dir eine Routine greifen, die prüft, ob denn diese Zeichnung bereits in der DB erfasst ist. Ist sie es, dann hast du die DWG_ID und bekommst darüber alle auch die Projekt_ID usw. Ist sie es nicht, wird das Programm nach dem Projekt fragen müssen, welchem die Zeichnung zugeordnet werden soll. Dazu ist dann wiederum eine Abfrage der zur Verfügung stehenden Projekte notwendig, aus denen der Anwender dann auswählen kann. Ist dies geschehen, wird die Zeichnung in der DB durch das Programm erfasst und mittels der nun existierenden DWG_ID kannst du auch dein Bauteil zuordnen. Alles eine Frage des Konzeptes. Dieses solltest du wirklich aufbauen und auch absegnen/prüfen lassen. Wie du sicher bemerkt hast, wird dann wohl auch eine Projektverwaltung eine Zeichnungsverwalltung usw. noch für diese DB programmiert werden müssen. Das ist Aufwand, den deine Firma bereit sein muss zu zahlen (du kostest ja auch etwas). Erfahrungsgemäß geht es hierbei meist um viel Geld, weshalb man wirklich nicht mit der Zeit der Konzepterarbeitung sparen sollte. Und sorry, ich will dir jetzt nicht zu nahe treten, aber ich kann mir kaum vorstellen, dass du jetzt schon so weit bist. Was du auch sicher gemerkt hast, AutoCAD bietet zwar die Möglichkeit der DB-Anbindung, die Schnittstelle selbst ist jedoch für den alltäglichen Gebrauch nur eingeschränkt zu nutzen. Deshalb wirst du wohl um die vollständige Programmierung nicht vorbei kommen. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |