Artikel automatisch über Art.-Nr. mit Dateien verknüpfen?

Anfragen und Lösungen, die per SQL-Script zu lösen sind und von Anwendern entwickelt oder von Dienstleistern zur Verfügung gestellt wurden

Moderator: SYNERPY

Antworten
Cyg
Beiträge: 45
Registriert: Mi Mai 31, 2006 2:37 pm

Artikel automatisch über Art.-Nr. mit Dateien verknüpfen?

Beitrag von Cyg » Di Sep 26, 2006 7:51 am

Ich möchte gerne PDF-Zeichnungen mit Artikeln in Averp verknüpfen.

Die Dateinamen der PDFs enthalten bereits die Artikelnummer.

Gibt es eine einfache Lösung (SQL, Stored Procedure oder kleines Utility?) diese Verknüpfung automatisch machen zu lassen, oder muß ich mir da aufwändig was selber Programmieren (Delphi) :?:


Herzlichen Dank im Voraus!

admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin » Mi Sep 27, 2006 9:51 am

Weder noch. Die Dateien werden über die CAD-Verwaltung verbunden. Ein einfaches INSERT INTO BZEI (...) SELECT ... FROM BSA mit dem entsprechenden Dateinamen erledigt das.

Dann müssen noch in den Pfaden (BPATH) folgende Daten hinterlegt sein:

1.
Kürzel:
PROE
Programmangaben:
PDF_ABLAGE=c:\temp
DATEIABLAGE=c:\temp

2.
Kürzel:
ACAD13
Programmangaben:
PDF_ABLAGE=c:\temp
DATEIABLAGE=c:\temp

Cyg
Beiträge: 45
Registriert: Mi Mai 31, 2006 2:37 pm

Beitrag von Cyg » Mi Sep 27, 2006 1:44 pm

admin hat geschrieben:Weder noch. Die Dateien werden über die CAD-Verwaltung verbunden. Ein einfaches INSERT INTO BZEI (...) SELECT ... FROM BSA mit dem entsprechenden Dateinamen erledigt das.
Ich wollte die PDF-Dateien aber über den Menüpunkt Artikelstamm - Dateien einbinden.

Außerdem wollte ich mir das mühsame Abtippen der Dateinamen sparen. Wie gesagt, der Dateiname enthält bereits die Art.-Nr.

Es sind über 1000 Dateien :!:

admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin » Do Sep 28, 2006 7:20 am

Wissen Sie was ein INSERT-SELECT ist?

Cyg
Beiträge: 45
Registriert: Mi Mai 31, 2006 2:37 pm

Beitrag von Cyg » Do Sep 28, 2006 8:15 am

admin hat geschrieben:Wissen Sie was ein INSERT-SELECT ist?
Ja, das weiß ich ich.

Aber warscheinlich habe ich mich nicht klar genug ausgedrückt:

Die Dateinamen enthalten zwar die Artikelnummer, aber zusätzlich noch eine Beschreibung, welche bei jedem Dateinamen unterschiedlich ist.

Die Dateinamen stehen auch noch _NICHT_ in der Datenbank (das soll ja der eigtliche Sinn der Aktion sein) sondern sind nur in einem Verzeichnis auf der Festplatte.



Evtl. diesen Thread doch nochmal ins Entwicklerforum kopieren? :wink:

admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin » Do Sep 28, 2006 10:43 am

Handelt es sich um einen variablen, nicht bestimmbaren Dateinamen, dann muss man hier ein separates Programm zum Einlesen schreiben.

Cyg
Beiträge: 45
Registriert: Mi Mai 31, 2006 2:37 pm

Beitrag von Cyg » Fr Sep 29, 2006 2:22 pm

Die Dateinamen bestehen aus der 13-stelligen Artikelnummer (feste Länge) + eine beliebige Artikelbeschreibung (z. B.: "Kotflügel links" oder "Motorhaube vorne grün metallic")

admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin » Mi Okt 04, 2006 9:15 am

Ja, da wird man um eine Programmierung nicht herumkommen.

miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe » Mi Okt 04, 2006 9:40 am

Mal als Tip:

Die Daten in Excel passend zur Tabelle vorbereiten, eine csv davon machen und dann per INSERTEX im IBexpert oder mit einem anderen Importtool einlesen. Das kann man dann "relativ einfach" mit den VBA Befehlen im Scripteditor von Excel machen. VBA kann nach Dateinamen suchen usw. ...

Das hatte ich so auch schon mal angedacht, aber nie fertig programmiert, muß mich aber in zwei - drei Wochen wieder dranklemmen, weil genau das gleiche bei mir auch ansteht ...

Gruß
Michael

tgvoelker
Beiträge: 47
Registriert: So Dez 11, 2005 11:52 am

Beitrag von tgvoelker » Sa Okt 28, 2006 10:32 pm

Kleine Anmerkung:

Quick and dirty geht das ganze, indem man die ganzen Dateien in ein Verzeichnis kopiert, die Ausgabe des DIR-Befehles an der Kommandozeile in eine Textdatei umleitet und mit Excel die Dateinamen von dem ganzen Rest separiert.

Entsprechend könnte dann die Artikelnummer in eine zweite Spalte separiert werden.

Nun noch die Zuordnung ID (zur Referenzierung) und Artikelnummer in eine weiter Excel-Tabelle importiert, das mit den Dateinamen verknüpft und man hat die INSERTEX-Vorlage.

miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe » So Okt 29, 2006 9:40 am

Okay, das war dann noch die Ergänzung wie man die Daten überhaupt erst mal in Excel reinbekommt ... ich hatte wohl stillschweigend vorausgesetzt, daß es die Liste schon irgendwie in Excel gibt.

Jetzt ist nur noch die Frage, ob es noch Leute auf dieser Computerwelt gibt, die die Kommandozeilenoptionen zum Umleiten der Standardausgabe unter Dos kennen :wink: Ich muß gestehen, ich müßte auch in mich gehen und tief graben.

Gruß
Michael

tgvoelker
Beiträge: 47
Registriert: So Dez 11, 2005 11:52 am

Beitrag von tgvoelker » So Okt 29, 2006 9:48 am

das wird mit Pipe-Operatoren gemacht:

Code: Alles auswählen

dir /a >c:\dateien.txt
leitet die Ausgabe von "DIR" gegen das aktuelle Verzeichnis in die Datei C:\dateien.txt um.

Grüße,

Thomas

Antworten