0

Ansicht mit lower befehl

Moin, mein Problem ist es, dass ich eine Tabelle habe mit vielen Positionen, diese sind dann sowas wie "Leistung", oder "Detail". Nun habe ich andere Tabelle inder ich ein Suchfeld und eine Ansicht habe und zwei Ja/Nein Slider einmal Leistung einmal Verwaltung. Normalerweise wenn keiner von beiden auf ja ist werden einträge aus der Tabelle genommen, bei denen ein der Text im Suchfeld auch im Beschreibungfeld oder im Namen ist. Ich möchte aber, dass wenn ich den Slider Leistung betätige nur noch Inhalte in der Ansicht kommen wo das Feld Spalte1 = "Leistung" ist. Das schaffe ich nicht.

 

Die Funktion der Ansicht sieht ungefähr so aus:

let mySuche := lower(Suchfeld);
if Leistung = false and Verwaltung = false then
select Material1 where contains(lower(Oberbegriff + Hersteller + Herstellernummer), mySuche)
else
if Leistung then
select Material1 where contains(lower(Oberbegriff + Hersteller + Herstellernummer), mySuche) and (select Material1 where Spalte1 = "Leistung")
else
if Technik then
select Material1 where contains(lower(Oberbegriff + Hersteller + Herstellernummer + Art), mySuche) and (select Material1 where Art = 1)
else
if Verwaltung then
select Material1 where contains(lower(Oberbegriff + Hersteller + Herstellernummer), mySuche) and (select Material1 where Spalte1 = "Verwaltung")
end
end
end
end

4 Antworten

null
    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let Suche := lower(Suchfeld);
    let Leistung := (select Projektpositionen where Spalte1 = "Leistung");
    if Detail = false and Leistung = false then
    select Projektpositionen where contains(lower(Projekt + Position + Text), Suche)
    else
    if Leistung then
    select Projektpositionen where contains(lower(Projekt + Position + Text), Suche) and (select Projektpositionen where Spalte1 = "Leistung")
    end
    end

     

    Das ist mein jetziger Code 

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Lorenz,

     

    ersetze die Zeile

     

    select Projektpositionen where contains(lower(Projekt + Position + Text), Suche) and (select Projektpositionen where Spalte1 = "Leistung")

     

    durch

     

    select Projektpositionen where contains(lower(Projekt + Position + Text), Suche) and Spalte1 = "Leistung"

     

    und verfahre bei den anderen analog.

     

    lg, Torsten

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke sehr hat funktioniert. 

    Aber ich würde auch gerne verstehen wie die lower Funktion funktioniert, könnte mir jemand das erklären?

    • Team Lead Customer Service
    • joerg
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo, 

    die Funktion lower() verwandelt eine Zeichenkette in Kleinbuchstaben, ersetzt also alle Großbuchstaben durch kleine.

    Gruß, Jörg