Ansicht mit lower befehl
Ninox Profile

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

Ninox Profile

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 

 

Ninox Profile

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

Ninox Profile

Danke sehr hat funktioniert. 

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

Ninox Profile

Hallo, 

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

Gruß, Jörg

Antworten