AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBfeldzugriff mit 'distinct substring' bei mssql
Thema durchsuchen
Ansicht
Themen-Optionen

DBfeldzugriff mit 'distinct substring' bei mssql

Ein Thema von mr.floppy81 · begonnen am 28. Jan 2005 · letzter Beitrag vom 28. Jan 2005
 
mr.floppy81

Registriert seit: 18. Nov 2004
Ort: Wismar
77 Beiträge
 
Delphi 5 Enterprise
 
#1

DBfeldzugriff mit 'distinct substring' bei mssql

  Alt 28. Jan 2005, 09:27
moin,

habe schon eine ganze weile am rechner gesessen und bei folgendem Problem keine Lösung gefunden:

Es wird eine Variable 'Stückliste' über ein Editfeld namens 'Haupt1.Stueckliste' eingegeben.

In dieser Stückliste ist unter anderem das DBfeld 'bmk' vorhanden.
Das Feld 'bmk' setzt sich wie folgt zusammen:
'=xxx+yyy-zzz'
Dabei ist =xxx das anlagenkennzeichen, +yyy das Ortskennzeichen und -zzz das Bertriebsmittelkennzeichen.

Über ein Query möchte ich aber nur das Ortskennzeichen auslesen was hiermit geschieht:
Delphi-Quellcode:
procedure Thaupt2.FormShow(Sender: TObject);
begin

datamodule5.ADOQuery2.Active:=False;
 datamodule5.ADOQuery2.SQL.Clear;
 datamodule5.ADOQuery2.SQL.Add('select distinct substring(bmk,charindex(' + '''' + '+' + ''''+',bmk,1)+1,charindex(' + '''' + '-' + '''' + ',bmk,1)-charindex(' + '''' + '+' + '''' + ',bmk,1)-1) from procos.stuecklistenpos where stueckliste=' + '''' + Haupt1.Stueckliste.Text + '''');
datamodule5.ADOQuery2.Active:=True;
end
In einer DBlookupcombobox namens 'Ortskennzeichen' werden nun dies Ausgewählten Ortskennzeichen angezeigt, was auch ohne Problem funktioniert.
Wenn ich jetzt allerdings ein Ortskennzeichen auswähle so erscheint die Fehlermeldung:

"Im Projekt1.exe ist eine exception der Klasse eoleexception aufgetreten. Meldung'Ein Objekt das dem angefordertem Namen oder Ordinalverweis entspricht, kann nicht gefunden werden.'Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen"

Soweit ich das verstehe sagt mir das Programm, dass das DBfeld in der Datenbank nicht vorhanden ist. Das ist ja auch richtig.
Aber ich möchte über eben die Ortskennzahl, alle Artikel auswählen, die diese Ortskennzahl besitzen...
Das soll dann hierüber geschehen:
Delphi-Quellcode:
procedure Thaupt2.OrtskennzeichenCloseUp(Sender: TObject);
begin

ortskennz:=ortskennzeichen.Text;
//dies wäre die dblookupcombobox
edit3.text:=ortskennz;
//dies ist nur eine Kontrolle ob er das OKZ übernimmt, was das
//Programm aber schon ncht macht (oben beschriebener Fehler)

datamodule5.ADOQuery3.Active:=false;
datamodule5.ADOQuery3.SQL.Clear;
datamodule5.ADOQuery3.SQL.Add('select sp.artikel,sp.menge,at.VerlustLstg,at.spulehaltelstg from procos.stuecklistenpos sp, procos.arttechnik at, procos.artikel a where sp.stueckliste='+''''+ stuecklist +''''+' and distinct substring(bmk,charindex(' + '''' + '+' + ''''+',bmk,1)+1,charindex(' + '''' + '-' + '''' + ',bmk,1)-charindex(' + '''' + '+' + '''' + ',bmk,1)-1)');
datamodule5.ADOQuery3.Active:=true;

end;
Ich hoffe dass ihr mir bei diesem Problem weiterhelfen könnt, denn wenn wir das beseitigen ist das Programm fast fertig....

LG Andreas



Achso ich vergass: verwendet wird der mssqlserver
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz