Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Autodesk Productstream Professional
  SQL Abfrage innerhalb von PSP

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Phoenix/PDM von ORCON bei Atlanta Antriebssysteme , ein Anwenderbericht
Autor Thema:  SQL Abfrage innerhalb von PSP (1369 mal gelesen)
T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 23. Mai. 2008 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

gibt es eine Möglichkeit innerhalb von der Shell oder der DBP-Programmierung eine SELECT...WHERE Abfrage zu machen und das ergebnis in eine Variable zu schreiben???

Vielen Dank!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

blacky1985
Mitglied
Application Engineer


Sehen Sie sich das Profil von blacky1985 an!   Senden Sie eine Private Message an blacky1985  Schreiben Sie einen Gästebucheintrag für blacky1985

Beiträge: 348
Registriert: 16.04.2008

PSP 2008 SP1
PSP 2009 SP1
PSP 2010
AIP 2008 SP3
AIP 2009 SP2
AIP 2010

erstellt am: 23. Mai. 2008 21:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

Ich weiß nicht, ob dir das folgende genau hilft, bzw. du darauf hinaus willst, aber ich schreibe dir mal die Antwort.

Code:

___Environment(DOC_IDENT=#(where db=Folder_EngineeringDocument AIMKEY='1254.27999' #(IDENT)));

Hiermit kannst du z.B. in die Variable DOC_IDENT den IDENT des Dokumentes schreiben, der zu dem AIMKEY 1254.27999 gehört. Also im Prinzip eine einfache SELECT...WHERE Abfrage, die natürlich beliebig geändert werden kann.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 24. Mai. 2008 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

um genau zu sein, brauch ich diese abfrage
SELECT MAX FIELD01 FROM dbo.ELEMENT WHERE FIELD02 like '03%'
und das ergebnis soll dann eine Variable gepackt werden.

ich weiß nicht so recht wie ich die in ne Environment packen soll...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 28. Mai. 2008 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

je nachdem wofür und in welcher Form du das tatsächlich einsetzen willst, wäre das Auslagern der Abfrage in eine Datenbankprozedur sinnvoll. Beispiele dazu siehe hier http://ww3.cad.de/foren/ubb/Forum120/HTML/000450.shtml#000007
und hier http://ww3.cad.de/foren/ubb/Forum120/HTML/000339.shtml#000003

Ciao, WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 30. Mai. 2008 16:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
danke für die Antworten.
Das Problem ist, das die Felder variieren z.b. nicht nur FIELD01 und FIELD02. ODer auch das Element like'03%' kann auch mal 12 oder 36 oder iregendwas anderes sein. Es wäre halt vorteilhaft, wenn das mit einem oder mehreren Befehlen gehen würde, damit man das ergebnis dann in einer Variablen gleich weiter im Programm verwenden kann. (Ergebniswert wäre z.b. 001 oder 089, je nach MAX abfrage...)

Ich hoffe Ihr könnt mir weiterhelfen... bin momentan etwas ohne aussicht     

Vielen Dank!!!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 31. Mai. 2008 04:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

Ich denke du wirst deine Anforderungen etwas konkreter formulieren müssen. Egal was für Werte du in deinem LIKE haben möchtest, die müssen ja irgendwo her kommen, also müssen sie auch irgendwo abfragbar und in weiterer Folge als variable Parameter einsetzbar sein.
Dass die abzufragenden Felder wechseln sollen entzieht sich zur Zeit noch meinem Verständnis, entweder hast ein paar grundlegende Fehler in deinem Datenbankentwurf oder du versuchst gerade, einzelne Punkte, die eigentlich getrennt gehörten, zusammenzufassen.

Beschreib mal deine Ausgangssituation, welche Bedeutung die Felder und Werte bei dir haben, was du effektiv erreichen willst und welche MIttel dir zu Verfügung stehen. Am besten sowohl in allgemeingültiger Form als auch mit zwei bis drei Beispielen.

Ciao, WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 17. Jun. 2008 11:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
tut mir leid ich war jetzt lang nicht in der Firma.. unterwegs etc

Im grundlegenden geht es um die Bezeichnung(zusammengesetzt aus mehreren feldern) von einer neuen Zeichnung.
Diese soll eindeutig sein (deswegen like, da er in abhänigkeit des vorgegangenen feldes "feld 2 abhänig von feld 1 und dann das maximum ausgeben")

Eingegeben wird diese in:
Hauptgruppe
Baugruppe/teil...etc

Der befehl GetMaxKey ist genau das was ich benötige.
Jedoch müsste dieser irgendwie in abhänigkeit sein von einem anderen

zb (syntax fuktioniert jetzt nicht aber so würde ich sie gerne haben)


Vielen Dank für die Antworten!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 17. Jun. 2008 21:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von T to the F:
Im grundlegenden geht es um die Bezeichnung(zusammengesetzt aus mehreren feldern) von einer neuen Zeichnung. Diese soll eindeutig sein

ok, da komm ich noch mit, obwohl ich mir die Frage stelle, ob die Zeichnungsnummer nicht schon reichen würde für eine Eindeutigkeit.

Zitat:
Original erstellt von T to the F:
deswegen like, da er in abhänigkeit des vorgegangenen feldes "feld 2 abhänig von feld 1 und dann das maximum ausgeben")

Diesen Satz versteh ich trotz mehrfachem Durchlesens immer noch nicht, sorry.


Zitat:
Original erstellt von T to the F:
zb (syntax fuktioniert jetzt nicht aber so würde ich sie gerne haben)

ähmmm.... sollte da noch ein Beispiel folgen oder so?


Na gut, du willst also die Bezeichnung für eine neue Zeichnung erstellen, wenn ich richtig verstehe. Die Bezeichnung soll eindeutig sein. Auch gut. Aber was setzt du nun in Abhängigkeit womit?

Ciao, WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 18. Jun. 2008 08:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Untitled1.jpg

 
Hallo,
im Anhang ist es jetzt glaub ich verständlich zu sehen, was ich mit dieser Anbhänigkeit meine.

Vielen Dank WolfgangE für deine Bemühungen mich zu verstehen     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 18. Jun. 2008 13:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

jetzt versteh ich was meinst.

Die Funktion MaxKey kenne ich leider nicht (mehr?), so dass ich dazu leider nichts sagen kann, hab auch grad keine Doku hand....
Mit einer gespeicherten Prozedur allerdings kommst sicher an's Ziel.
Du übergibst einfach den aktuellen Wert aus Feld01 (also z.B. '003') als Parameter an die Prozedur und formulierst die Abfrage in etwa so:
@NeuerWert = Select Max(Feld02)+1 From TabelleXY Where Feld01 = @Parameter

Den so erhaltenen Wert brauchst dann nur noch formatieren, um die führenden Nullen wieder zu erhalten, sollte in etwa so funktionieren:
@NeuerWert = Left('000',3-Len(@NeuerWert)) + Cast(@NeuerWert as varchar(3))

Die Prozedur lässt sich dann natürlich beliebig erweitern, um auch Feld03 noch miteinzubeziehen.

Ciao, WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

[Diese Nachricht wurde von WolfgangE am 19. Jun. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 18. Jun. 2008 19:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
okey ich werde es mal so versuchen. Werde mich dann wieder melden.
Danke!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 19. Jun. 2008 15:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
Vielen Dank! ich habe jetzte eine Prozedur erstellt und die Liefert mir auch den richtigen wert (in SQL Management Studio wenn ich die Prozedur ausführe)

Noch ein letztes.
Wie führe ich aus PSP das aus? ich habe schon 200 mal die syntax in der Doku gelesen...
Beispiel in Doku:
___Environment ( StlId=#(XDWSFKT:sumstl ( ,#AIMKEY,$(arg:v1) ) ) );


Meine:
___Environment (TFO_Input=#(XDWSFKT:KompoMax (,TFO_RetValue)))

Meine Procedur heißt KompoMax.
Die TFO_RetValue ist die Rückgabevariable.
Input ist der SELECT...WHERE... = TFO_Input


Bloß iwie bekomm ich nix zurück... Weißt du was ich falsche mache?

Vielen Dank!!!!!!!!1

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

WolfgangE
Mitglied



Sehen Sie sich das Profil von WolfgangE an!   Senden Sie eine Private Message an WolfgangE  Schreiben Sie einen Gästebucheintrag für WolfgangE

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 19. Jun. 2008 17:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für T to the F 10 Unities + Antwort hilfreich

kann es sein, dass bei deinem Aufruf vor dem "TFO_RetValue" ein $-Zeichen fehlt? Hast du bei deiner SQL-Prozedur den ersten Parameter als OUTPUT-Parameter definiert?

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 19. Jun. 2008 17:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nein TFO_RetValue ist der Output.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 20. Jun. 2008 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

In welche Variable wird denn das Ergebnis geschrieben??

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Anzeige:Infos zum Werbeplatz >>

pitCAD Ultimate Basis + BIM ? Einzelplatz CAD APP für TGA, Facility Management, AEC - Architektur-, Ingenieur- und Bauwesen

Vereint die langjährige Erfahrung von pit-cup im Bereich der Gebäudetechnikplanung und des Facility Management zu einem durchgängigen 2D/3D CAD/BIM Planungswerkzeug, über den gesamten Lebenszyklus einer Immobilie.

T to the F
Mitglied



Sehen Sie sich das Profil von T to the F an!   Senden Sie eine Private Message an T to the F  Schreiben Sie einen Gästebucheintrag für T to the F

Beiträge: 398
Registriert: 06.06.2007

Win 7 x64 SP1
PrDS 2012 Ultimate
Vault Pro 2012
i7 M640
8 GB
Quadro FX 1800M

erstellt am: 20. Jun. 2008 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habs!!!!
Der Befehl ist:

___Environment (TFO_RetValue=#(XDWSFKT:KompoMax (,22) ) )


Vielen Dank an allen die sich das durchgelesen haben und sich gedanken gemacht haben!

[Diese Nachricht wurde von T to the F am 20. Jun. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz