AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Syntax bzw. Sql Problem

Syntax bzw. Sql Problem

Ein Thema von pjuk · begonnen am 17. Nov 2004 · letzter Beitrag vom 26. Nov 2004
Antwort Antwort
pjuk

Registriert seit: 14. Okt 2004
85 Beiträge
 
#1

Syntax bzw. Sql Problem

  Alt 17. Nov 2004, 08:17
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.
Alexander K.
chris : leben ist leben lassen....wunder dich also nicht über die schaben & spinnen in meiner küche!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Syntax bzw. Sql Problem

  Alt 17. Nov 2004, 08:27
Hai pjuk,

ändere mal diese Zeile:
          sqlstr := sqlstr + 'Abteilung = ' + Combobox1.Text; in diesen Code:
          sqlstr := sqlstr + 'Abteilung = ' + QuotedStr (Combobox1.Text);
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
pjuk

Registriert seit: 14. Okt 2004
85 Beiträge
 
#3

Re: Syntax bzw. Sql Problem

  Alt 23. Nov 2004, 08:16
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
Alexander K.
chris : leben ist leben lassen....wunder dich also nicht über die schaben & spinnen in meiner küche!
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Syntax bzw. Sql Problem

  Alt 23. Nov 2004, 08:19
Hallo pjuk,

heißt die Tabelle tatsächlich Tabelle1?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
pjuk

Registriert seit: 14. Okt 2004
85 Beiträge
 
#5

Re: Syntax bzw. Sql Problem

  Alt 23. Nov 2004, 08:23
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?
Alexander K.
chris : leben ist leben lassen....wunder dich also nicht über die schaben & spinnen in meiner küche!
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Syntax bzw. Sql Problem

  Alt 23. Nov 2004, 09:13
Hallo pjuk,

die beiden Anweisungen:
Delphi-Quellcode:
ADODataset1.Active := false;
        ADODataset1.Close;
machen das gleiche. Eine von beiden kannst du löschen.

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.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
pjuk

Registriert seit: 14. Okt 2004
85 Beiträge
 
#7

Re: Syntax bzw. Sql Problem

  Alt 26. Nov 2004, 11:48
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
Alexander K.
chris : leben ist leben lassen....wunder dich also nicht über die schaben & spinnen in meiner küche!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz