0

Verfügbarkeitsprüfung / Abfrage von mehreren Datensätzen (Mietgegenständen)

Hallo zusammen,

 

ich stecke mal wieder in was fest und komme einfach nicht weiter. Vielleicht kann mir jemand einen Anstoß geben.

 

Und zwar habe ich eine Tabelle mit Mietgegenständen und eine Tabelle mit Terminen an denen diese vermietet sind und mit denen die Mietgegenstände natürlich verknüpft sind. Es gibt in der Vermeittabelle ein Startdatumsfeld ein Enddatumsfeld und auch ein Terminfeld dass sich automatisch aus den beiden vorgenannten erstellt. 

Damit von von unterwegs mit dem Handy schnell mal prüfen kann wenn man gefragt wird ob ein Gegenstand einer bestimmten Gruppe frei ist habe ich eine Tabelle mit nur einem Datensatz als Formular erstellt. Dieses soll der Verfügbarkeitsprüfung dienen.

Auf diesem gibt es Ein 'von:'- und ein 'bis:'-Feld und ein Auswahlfeld mit dem ich die Mietgegenstandart auswähle. (Ich will ja nicht sehen ob genau der einen Gegenstand verfügbar ist (Wäre einfacher) sonder ob z.B. an dem gewübschten Wochenende ein Ausschankwagen zur Verfügung steht.

Dann habe ich darunter eine Ansicht erstellt und wollte mit dieser die Mietgegenstandstabelle auflisten mit folgender Formel:

let A := text('Mietgegenstandsart');
select '004_Mietgegenstaende' where Bezeichnung like A

Damit klappt schonmal wunderbar das anzeigen aller Mietgegenstände aus der Gruppe. 

Jetzt wollte ich aber noch anzeigen, dass nur die Mietgegenstände ausgewählt sind die zwischen 'von: und 'bis:' nicht bereits einen verknüften Termin haben.

let A := text(Mietgegenstandsart);
let B := Von;
let C :=Bis;

select '004_Mietgegenstaende' where Bezeichnung like A and not Vermietung.Termin > B and not Vermietung.Termin < C was natürlich völliger Quatsch ist  da es ja mehrere Datensätze unter Vermietung.Termin gibt. Ich habs auch versucht mit concat(Vermeitung.Termin) oder contains(... 

Aber dass das keinen richtogen Sinn macht ist mir klar, ich komm nur nicht auf die Lösung.

Wenn ich direkt auf den Mietgegenstand abfargen würde wäre es einfach. Da hat Leo mir schonmal geholfen. Dann würde ich die Vermietungen im zeitraum zählen und wenn > 1 ausblenden. Aber ich will ja hier gerne verscheidene Gegenstände prüfen.

 

Ich hoffe es ist verständlich was ich versuche zu verwirklichen. Hat wer eine Idee? Das wäre super!!

 

Danke vorab

 

Gruß Florian

4 Antworten

null
    • Florian_Wisser
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wieso werden manche Zeilenumbrüche hier eigentlich gelöscht. Ich hatte viel öfter leere Spalten gelassen zwischen meinen Sätzen... :-)

    • Florian_Wisser
    • vor 3 Jahren
    • Gemeldet - anzeigen

    P.S.: Wenns eine Edit Funktion gäbe würde ich die Tippfehler gerne korrigieren. Gibts ja leider nicht :-)

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Florian,
    wenn die Sache mit like klappt dann würde ich es so ausprobieren:

    ---

    let me:=this;
    let myTab:=select '004_Mietgegenstaende' where Bezeichnung like me.text(Mietgegenstandsart);
    myTab[cnt(Vermietung[Bis>=me.Von and Von<=me.Bis])=0]

    ---

    Dabei musst du die Feldnamen für Von und Bis in der Tabelle Vermietungen entsprechend anpassen.

     

    Leo

    • Florian_Wisser
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Boah Sau geil! Da wär ich nie drauf gekommen. Vielen Dank mal wieder. Klappt prima!

     

    Ein wunderschönes Wochenende Dir...

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 4Antworten
  • 446Ansichten