![]() |
Syntax bzw. Sql Problem
Hallo,
habe folgendes Problem und hoffe auf euren Rat : Ich habe auf meinem Form eine Combobox und eine DBlookuplistbox. In der Combobox will ich eine Abteilung auswählen und dann mir in der Lookuplistbox die zugehörigen Mitarbeiter anzeigen lassen. Hab eine Access Datenbank in der die ganzen Werte drine stehen. Dachte mir aber dass ich am besten die Abteilungen als Items schon fest der Combobox zuweise. Habs mit SQl versucht, kommt aber leider nen Fehler : 'SyntaxFehler ( fehlender Operator) in Abfrageausdruck 'Abteilung = 'MeinWERT' ' - Prozess wurde angehalten. Hier mein Schnipsel - Code :
Code:
procedure Tnewuser.ComboBox1Change(Sender: TObject);
var sqlstr: string; begin if Combobox1.Text <> '' then begin ADODataset1.Active := false; ADODataset1.Close; sqlstr := 'select User, Vorname, Name ' + 'from 'Tabelle1 ' + 'where '; sqlstr := sqlstr + 'Abteilung = ' + Combobox1.Text; end; ADODataset1.CommandText := sqlstr; ADODataset1.Open; ADODataset1.Active := True; end; Meine Frage ist jetzt, wie kann ich mir dann genau die Werte der ausgewählten Abteilung in dem DBLookuplistbox-Feld anzeigen lassen, also diese heraus Filtern? bzw. Was hab ich Sql mäßig falsch gemacht und wie kann ich den Fehler beheben?! danke. |
Re: Syntax bzw. Sql Problem
Hai pjuk,
ändere mal diese Zeile:
Delphi-Quellcode:
in diesen Code:
sqlstr := sqlstr + 'Abteilung = ' + Combobox1.Text;
Delphi-Quellcode:
sqlstr := sqlstr + 'Abteilung = ' + QuotedStr (Combobox1.Text);
|
Re: Syntax bzw. Sql Problem
Hey Sharky,
dein Lösungsvorschlag scheint zu funktionieren! Nun bekomme ich aber noch eine Fehlermeldung von meinem ADODataset dass die Filder User, Name , Vorname nicht vorhanden seien. Muss ich diese zuerst in der box als datasource hinterlegen? grüße |
Re: Syntax bzw. Sql Problem
Hallo pjuk,
heißt die Tabelle tatsächlich Tabelle1? |
Re: Syntax bzw. Sql Problem
nein, die hat nen anderen namen Mr. Spock, hab das aber geändert. Darf aus rechtlichen Gründen hier nur keine Daten angeben, deswegen Tabelle1.
Hättest du eine Idee wie ich das machen könnte? also die Mitarbeiter einer Abteilung filtern lassen indem ich in der Combobox eine Abteilung auswähle? |
Re: Syntax bzw. Sql Problem
Hallo pjuk,
die beiden Anweisungen:
Delphi-Quellcode:
machen das gleiche. Eine von beiden kannst du löschen.
ADODataset1.Active := false;
ADODataset1.Close; USER ist ein Schlüsselwort und sollte nicht als Feldname benutzt werden. Wenn sich das nicht mehr ändern lässt, solltest du USER in doppelte Anführungszeichen setzen. Außerdem solltest du die Query nicht zweimal öffnen. Dann sollte es mit dem Tip von Sharky funktionieren. |
Re: Syntax bzw. Sql Problem
Hey!
Hab nun folgendes geändert : Hab an Stelle von einer Combobox eine Dblookupcombox genommen und ihr als Listsource gleich meine Abteilung zugeordnent. Nun habe ich jedoch noch folgendes Problem : Ich wähle eine Abtielung aus und mein prog schreibt mir in meine listboxen dann nicht den wert der zugeordnenten Mitarbeiter der abteilung, sondern den String :( hier mein code :
Code:
procedure Tzuordnen.DBLookupComboBox1Enter(Sender: TObject);
var sqlstr: string; begin if DbLookupCombobox1.Text <> '' then begin //ADODataset1.Active := false; //ADODataset1.Close; sqlstr := 'select Vorname, Name ' + 'from landat ' + 'where '; sqlstr := sqlstr + 'Abteilung = '' '+ QuotedStr (DbLookupCombobox1.Text); end; SrcList.Items.Text := sqlstr; end; Glaub ich hab falsche Eigenschaft genommen, jedoch welche ist die richtige?! Wie bekomme ich meinen Wert dann so gefiltert dass ich damit weiter arbeiten kann? greetz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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