0
Trigger
Hallo,
erstmal vielen Dank für das tolle Produkt. Nun habe ich eine Frage: Ich hab es zwar hinbekommen einen Trigger für ein Feld einzurichten aber kann ich einen Trigger so einrichten, dass er sich auf mehr als ein Feld auswirkt?
Z. B.: wenn Feld A »Ja« dann Felder B UND C ändern
Vielen Dank im Voraus!
erstmal vielen Dank für das tolle Produkt. Nun habe ich eine Frage: Ich hab es zwar hinbekommen einen Trigger für ein Feld einzurichten aber kann ich einen Trigger so einrichten, dass er sich auf mehr als ein Feld auswirkt?
Z. B.: wenn Feld A »Ja« dann Felder B UND C ändern
Vielen Dank im Voraus!
193 Antworten
-
Hallo Mirko,
wenn das Feld Sortierung in der Tab_Strassen liegt, bedeutet das, dass eine Straße nur bei einem Tour benutzt werden kann. Als Beispiel: die Hauptstraße soll in Tour Nr. 1 unter Nummer 2 stehen. Jetzt möchtest du in Tour Nr. 2 die Hauptstraße als Nummer 6 haben und änderst die Sortierung. In diesem Moment ist die Hauptstraße in allen anderen Touen auch unter Nummer 6. Ich würde das Feld Sortierung in die Tabelle Tab_Strassen_Touren verschieben.
Grüße
Leo -
Hallo Leo,
Du hast vollkommen recht, das hatte ich bei meinen Überlegungen ganz vergessen...Problem somit gelöst! :-)
Grüße
Mirko -
Hallo Leo,
hat mich dann aber auf mein nächstes Problem gebracht...in der Tab_Strassen gibt es ja die Untertabelle mit den zu erledigenden Arbeiten bei der jeweiligen Strasse. Nun ist es aber genau so, wenn ich die Strasse bei zwei verschiedenen Touren einordne, erledigt die eine Tour den einen Teil, die andere Tour einen anderen Teil.
Zurzeit habe ich auch da dann einen Fehler bei der Addierung der Massen, es werden dann ja bei den Touren, die nur einen Teil einer Strasse machen trotzdem die ganzen Massen gerechnet.
Ich muss aber zwingend in der Strasse den gesamten Arbeitsumfang erfasst haben. Denn zum Zeitpunkt der Eingabe steht die Verteilung auf die Touren nicht immer schon fest, oder sie ändert sich später noch mal.
Wo gebe ich denn da am besten die Massen ein?
Grüße
Mirko -
Hallo Mirko,
Eine Aufgabe gehört sowoh zu der Straße als auch zu der Tour. Am besten die Arbeiten zu den Datensätzen aus der Tabelle Tab_Strassen_Touren zuordnen. So kannst du auch leicht die Summen berechnen.
Grüße
Leo -
Hallo Leo,
hab ich auch schon dran gedacht, nur wie kann ich dann beim verknüpfen mit der Tour nur die Aufgaben auswählen, die ich bei derjenigen brauche. In 85-90% der Fälle werde ich immer die gesamten Aufgaben übernehmen, also fällt einzelnes auswählen eher aus, würde zulange dauern. Aber vielleicht kann man dann ja Daten irgendwie abwählen per Auswahl oder Button?
Grüße
Mirko -
Hallo Mirko,
Da muss ich wohl ein bisschen mehr wissen um das Konzept zu verstehen. Du kannst z.B. ein Ja/Nein Häkchen verwenden
Grüße
Leo -
Hallo Leo,
das ganze ist eine Datenbank für eine Winterdienstplanung.
Die Tab_Strassen ist sozusagen der Auftrag mit allen Daten der Kunden, vom Namen über Besonderheiten bis hin zu den erledigenden Arbeiten. Diese werden in einer Untertabelle erfasst, da bei einem Kunden mehrere verschieden Flächen zu räumen sind.
Die Tab_Touren hat Daten wie z.B. welcher Fahrer, welcher Stadtteil, welches Fahrzeug und natürlich die aus der Tab_Strassen zugeordneten Strassen. Diese werden mittels eines Sortierungsfeldes in die richtige Reihenfolge gebracht. Damit kann ich dann eine Tourenliste ausdrucken, und Auswertungen wie z.B. wieviele qm sind auf der gesamten Tour.
Die Touren sind zum Teil auf die Größe des Gerätes zugeschnitten, Industriehöfe mit einem großen Traktor, Wohnanlagen und Gehwege mit einem kleinen Traktor.
Nun sind aber bei den meisten Industrieanlagen auch Gehwege mit dabei, so dass bei diesem Kunden auch ein Kleingerät auf dem Gehweg fahren muss. So muss dieser Datensatz aus Tab_Strassen auf 2 Touren in Tab_Touren verteilt werden, aber nicht alle Aufgaben, sondern nur diese, die auch ausgeführt werden sollen. Jetzt werden bei der Tour des kleinen Trecker auch die Massen der großen Tour komplett mit übernommen, so dass dies natürlich die Summe verfälscht.
Jetzt stellt sich die Frage, wo gebe ich die Massen für den Auftrag ein, es müssen auf jeden Fall alle zu räumenden Flächen komplett in der Tab_Strassen auftauchen. Die Daten werden aus einem externen Programm dort eingegeben, dieses sollte auch schnell gehen und nicht zu kompliziert sein.
Vielleicht hast Du da ja noch eine Idee?
Grüße
Mirko -
Hallo Mirko,
Ganz klassisch würde ich noch eine Tabelle z.B. strassenpositionen Einfügen und dort die Flächen pro Straße einzeln aufführen. Die Gerätschaften müssen dann direkt den Positionen zugeordnet werden. Und in der Straße kannst du dann die Summen und die Auflistung aller Maschinen einfügen. -
Hallo zusammen,
kann man per Befehl eine Datenbank schließen ?
(Wenn ja, mit welchen?)
Gruß Georg_0815 -
cmd + w schließt die Datenbank.
Birger - Ninox Support -
Hallo Birger,
sorry für meinen missverständlichen Ausdruck. Ich meine ob man mit einem Trigger, der zB auf eine Schaltfläche, (oder nach einer Berechnung) hinterlegt ist, die Datenbank schließen kann.
Schönen Gruß Georg_0815 -
Nein, dies ist nicht möglich.
Birger - Ninox Support -
Hallo, habe folgendes Problem:
Ich ruf über eine Variable den Wert aus einer vorhergehenden Zeile ab, und übergebe sie an ein Datenfeld. Ich möchte nun, das ganze in einer Schleife laufen lassen, sodass bei einer Änderung im gesamten Datensatz alle Zeilen nachträglich geändert werden. Nur bekomme ich die Schleife nicht hin. Mein Ansatz:let aID := Nr;//Speichert die aktuelle Nr//
let vorID := last(select Kasse where Nr < aID).Nr;//sucht die letztkleinere Nr als die aktuelle Nr und speichert sie in der Variable//
'Übertrag' := first((select Kasse where Nr = vorID).Berechnung); //wählt die Spalte „Berechnung“ mit der letzkleinsten Nr und fügt den Betrag in das Feld „Übertrag“// -
Das last holt immer die Letzte ID in einer Tabelle, das geht dann natürlich nicht in deinem Ansatz.
Mach es doch anders.
let vorID := number(Nr)-1; -
Wenn aber einen Datensatz gelöscht wird, dann kommt es zu den Fehler in der Berechnung.
Was hier funktionieren kann:
for II in select Kasse do
II.'Übertrag' := last(select Kasse[Nr < II.Nr].Berechnung)
end
Grüße
Leo -
Vielen Dank, so funktioniert es.
-
Hallo ich möchte eine Geschäftsnummer automatisch erzeugen nach folgendem Schema:
- - es gibt in der Tabelle ein Anlagedatum aus dem man den Monat und das Jahr extrahieren könnte. Wie bekomme ich das hin das immer nur je Monat und Jahr hochzählt. Also z.B. 0001-01-2018 für den ersten Vorgang im Monat Januar aus 2018.
Vielen Dank. -
Hallo dressler.f,
leg bitte ein Zahlenfeld an. Name z.B. "myNr". Die Formel für den Trigger bei neu auf Tabellenebene:
myNr := if cnt((select Rechnungen where yearmonth(Anlagedatum) = yearmonth(today())).myNr) = 0 then
1
else
max((select Rechnungen where yearmonth(Anlagedatum) = yearmonth(today())).myNr) + 1
end
Dieses Feld kannst du verstecken.
Jetzt legst du ein Berechnungsfeld "Geschäftsnummer" an.
Die Formel:
format(myNr, "0000")+format(Anlagedatum, "-MM-YYYY")
Grüße
Leo
Content aside
- vor 6 JahrenZuletzt aktiv
- 193Antworten
- 58180Ansichten