Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Daniel am 14.07.03 - 17:37:49
-
Hallo Leute!
Ich hab ein wenig eine spezielle Anforderung:
Ich sollte Brennerdaten (Heizungsfirma) ablegen, manche Brenner können mit anderen Düsen ausgestattet werden. Eine Düse könnte von mehereren Brennern verwendet werden.
Zusätzlich verändern sich Brennwerte, welche später für die Anzeige eines Graphs verwendet werden.
Es werden auch für mehere Brenner ein und das selbe Bild verwendet usw.
Wie kann ich das ganze Relationell machen?
Und wie können die Ansichten dann Optimal dargestellt werden.
Ich hab ein wenig im Forum gestöbert, aber konkretes hab ich nicht gefunden.
Danke, Daniel
-
hi,
notes ist ein dokumenten-, nicht ein relationales- Datenbanksystem...
man kann relationen jedoch 'von hinten durch die brust ins auge' realisieren... sogar referenzielle integrität bekommt man hin...
aber man kommt teilweise in teufels kueche...
relationen wuerde ich immer ueber einen key abbilden(ER), andere sagen man arbeitet besser mit antwortdokumenten...
views lassen sich recht einfach darstellen (mit verst. spalten zum sortieren)
gruss
-
ich denke auch, daß das nicht ganz trivial, aber nich unmglich ist.
zunächst einmal mußt du Trennen
Du brauchst 2 Masken; eine für den Brenner und eine für die Düsen.
Wenn du dann die Düsen mit sen entsprechenden Spezifikationn erstellt hast, kannst du von einem Brennerdoc auf ein Düsendoc verweisen. Als "Schlüssel" würde ich die DocUD des Düsendocs nehmen.
In dein Brennerdoc baust du dann Felder ein, die die Werte aus dem Düsendoc enthalten ( die eigenschaft der Felder setzt du auf berechnet zu rAnzeige )
über @dbLookup kannst du dann mittels des Keys, der in einem Feld im Brennerdoc steht die Werte des Düsendocs in den vorher definierten Feldern anzeigen.
Hat den Vorteil, daß bei einer Änderung am Düsendoc bei der Anzeige des Brennerdoc immer die aktuellen Werte angezeigt werden.
ist ein bisschen theoretisch, ich weiß. Da muss wohl eine Demo her; aber heute nimmer.
eknori
na ja, ok, hier ist die demo
-
Ist ja echt der Hammer, ich werd mir das gleich anschauen!
Danke!
Bei Fragen ....
Daniel
-
Hallo Eknori!
Danke nochmals für das Beispiel!
Lieg ich richtig damit, wenn ich meine, dass meherere Düsen pro Brenner über eine Ansichtstabelle angezeigt werden können?
-
Hallo Eknori!
Dein Bsp. war super. Danke!
NOch was anderes, ich hab nun eine Maske erstellt, in welcher die Brenner eingegeben werden und eine 2. in welcher Ventile/Düsen (Zusatzgeräte) zu den Brennern eingegeben werden.
In der Brennermaske hab ich ein Listenfeld (Zusatzgeräteauswahl), in welchem ich Zusatzgeräte auswählen kann (mehere mgl.)
Das Feld Zusatzgeräte_ArtNr wird in dieses Listenfeld geschrieben.
Wenn nun Zusatzgeräte zu einem Brenner ausgewählt wurden, möchte ich diese in einer Ansicht in der Brennermaske Anzeigen.
Ich bekomme aber über die Maske keinen Bezug her das Abzufragen.
Ich habe als Anzeigedefinition angegeben, dass in der Ansicht Geräte aufscheinen, welche im Feld Zusatzgeräteauswahl der aktiven Maske enthalten sind. Meiner Meinung sollte das klappen...
Daniel
-
das wird so nicht funktioneren, da deine Brenner zwar einen Bezug zur Düse enthalten, deine Düse aber im Düsendoc nicht gespeichert haben, in welchen Brennern sie eingebaut sind.
DAs wäre eine Voraussetzung, um eine Ansicht kategorisiert nach Brennernummer zu erstellen, die dann als eingebettete Ansicht im Brennerdoc mit single categorie "Brennernummer" alle diesem Brenner zugeordneten Düsen anzeigt.
Um das darzustellen musst du ganz schön tricksen
-
... da musst du nun etwas mehr Aufwand betreiben - wie ist die Zuordnung des Zubehörs geregelt?
ata
-
Hi!
Also die Maske soll ganz normal die Brennerdaten anzeigen und in der Ansicht kommen dann die Zugeteilten Zusatzgeräte.
Diese sind im Feld Zusatzgeräteauswahl mit deren Artikelnummer gespeichert. Anhand diesen Feldes würde ich gerne die Ansicht generieren, und zwar so, dass nur die Dokumente angezeigt werden, welche im Feld "Zusatzgereate_ArtNr" dieselbe ArtNr wie im Feld "Zusatzgeräteauswahl" besitzen.
-
Da hab' ich leider verpaßt, das da mittlerweile zwei Threads laufen - sorry ...
Mein Vorschlag (und der Einfachheit bleibe ich jetzt mal bei "Brennern" und "Düsen"):
- Es gibt Brenner, und die können unterschiedliche Düsen haben (das Modell wäre dann beliebig ausbaubar)
- Es gibt eine Maske "Düsen", mit denen eben diese erfaßt werden
- Es gibt eine Maske "Brenner" mit einem Feld "Düsen", welches via @dbColumn gefüllt wird
- Damit gibt es dann n Dokumente mit der Form "Brenner", die ggf. gleiche Brennernamen, aber unterschiedliche Düsenwerte beinhalten
- Um jetzt alle Brenner mit ihren unterschiedlichen Düsen darzustellen, braucht es eine Ansicht mit
* View selection: Form = "Brenner"
* Spalte 1: Brennername, sortiert, kategorisiert
* Spalte 2: Düse (wahlweise sortiert)
Dann steht dort:
Brenner Höllenglut
Mit Düse KleinesLoch
Mit Düse 0,5 mm
Mit Düse Starkstrahl
Brenner Atomar
Mit Düse Nuklear
Mit Düse klein (START-Vertrag)
Mit Düse Scheissegal (Nordkoreanische Variante)
Brenner GanzSicher
Mit Düse KleinesLoch
Mit Düse 0,5 mm
Natürlich könnte man auch bei den Brenner die ausgewählten Düsen wieder zurück schreiben in die Düsen-Dokumente, das wäre nur wenig Aufwand und auch eineindeutig.
So Notes-untypisch relational ist diese Task also offensichtlich nicht.
Sag einfach an, wenn Du weitere Details brauchst.
HTH,
Bernhard
-
... wäre mit einer eingebetteten Ansicht möglich...
ata
-
Oder sogar simpel durch ein Feld im Brenner-Dokument: "Verwendete Düsen". Da bräuchten wir ja noch nicht mal eine Ansicht.
-
Hi!
Also hab ich das richtig verstanden?!
Wird nun für jede BrennerDüse Variante ein Komplettes Dokument mit allen Brennerwerten und Düsenwerten angelegt?
Das ist unpraktisch, wenn sich Daten eines Brenners ändern?!
Oder lieg ich falsch?
-
Ich zeig mal schnell her, was ich bisher fabriziert habe.
-
So, ich habe dir das schnell mal eingebaut.
Das mit der eingebetteten Ansicht ist schon soweit OK.
wie funktioniert das nun.
zunächst mal ist da das brennerdoc mit der Artikelnummer des Brenners.
Dann gibt es noch die Zusatzgeräte.
Im Zusatzdokument habe ich ein neues feld "Verwendet in".
Hier muß nun die Artikelnummer des brenners eingetragen werden ( oder bei Verwendung in mehreren brennern entsprechend mehrere Nummern )
Damit hat der Zusatz eine referenz auf den Brenner.
Die eingebettete Ansicht wird aus der Ansicht "verwendet" gefüttert.
Die Ansicht enthält in der ersten Spalte kategorisiert die Artikelnummer des brenners. Die weiteren Spalten enthalten dann die Angaben aus dem Düsendoc.
Die Ansicht enthält nur Zusatzdocs.
In der eingebetteten Ansicht werden nun über die "Single categorie" nur die Zusätze zu dem brenner angezeigt.
Thats all.
-
hallo Eknori!
Nun hab ichs verstanden. Danke! Es gibt da so viele kleine Schräubchen, an denen man drehen muss...
Noch was anderes. Nun werden in der Düsenmaske die Zugehörigen Brenner angegeben. Ist es möglich, in der Brennermaske eine Dialogliste mit den Düsen anzuzeigen und dann in die Maske der Ausgewählten Düsen automatisch die "Zugehörig zum Brenner" Nr. einzutragen?
Ich hab etwas probiert, krieg das aber nicht hin. Gehts oder gehts nicht?
Danke für eure Hilfe!
Daniel
-
das geht mit Sicherheit. Die korrespondierenden Düsen hast du ja dann durch die Auswahl und die Brennernummer bekommst du aus dem akltuellen Dokument. Jetzt musst du nur noch die Brennernummer in die einzelnen Düsendocs schreiben.
Müsste dann wohl mit Script gemacht werden, da R5 keine Schleifen in Formeln unterstützt.
U
-
Zu Lotus Script bin ich noch nicht gekommen... Ich werd mich aber kommende Woche etwas einlesen.
Bisher leider nur Formelsprache.
Wäre eventuell mit Java was zu machen, oder wirds dann zu verstrickt?
-
ich gucke mir das am WE mal an.
-
Ich gebe dir noch die aktuelle DB.
Vergiss nicht deine Freizeit!!!
Daniel
-
Bin eh am WE allein zuhause. Entweder ihr kommt alle zum Saufen vorbei 8) , oder ich programmiere halt ein bisschen... ;D ;D
-
Dazu musst du mich nicht überreden...
Ich hoffe deinen Minibar ist gefüllt, ansonsten gib bescheid, was fehlt!
;)
-
Wie war die Party?
-
Hi Eknori!
Hast du was neues?
Vielleicht kannst du mir ein paar anhaltspunkte geben, welche ich beachten muss. Ich versuch dann mal das Script zusammen zu fuzeln.
Danke, Daniel