Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: shok am 23.05.11 - 22:12:55

Titel: datenbank einträge auslesen
Beitrag von: shok am 23.05.11 - 22:12:55
Hallo liebe Notus fans...
ich bin grad dabei mich ins lotus notes einzuarbeiten
und stehe vor einem "noch" unlösbaren problem.

ich muss folgende sache machen:
- einen knopf erstellen, der eine datenbank (Name, Vorname...) ausliest
- die datenbank einträge in einer listbox (o. ä) anzeigen
- user kann den gewünschten eintrag auswählen
- nach der auswahl wird der datenbank eintrag in ein feld eingetragen

bei meinen ersten gehversuchen habe ich folgendes testweise programmiert:

_var:="Berlin";
@Command([EditGotoField]; "Location");
@Command([EditInsertText]; _var)

dieses wurde als schlechteste alternative bezeichnet :(

jetzt fehlt mir aber der ansazt...
ist es mit lotus notes möglich eine art relationale dantenbank anzulegen und die daten entsprechen der spalten auszulesen? diese dann in einen stringbuffer zu speichern und dann anzuzeigen?

bitte um weitere hilfe :)

dankeeee
Titel: Re: datenbank einträge auslesen
Beitrag von: mind1 am 23.05.11 - 22:28:20
Sieh mal in der Designer-Hilfe unter @PickList nach. Das sollte helfen.

Gruß, Bernd
Titel: Re: datenbank einträge auslesen
Beitrag von: WildVirus am 23.05.11 - 22:39:45
Guten Abend Shok (eigenartiger Name),

herzlich willkommen im Forum.

Dein Eintrag ist etwas irritierend, daher ein paar Kommentare dazu:


ist es mit lotus notes möglich eine art relationale dantenbank anzulegen und die daten entsprechen der spalten auszulesen? diese dann in einen stringbuffer zu speichern und dann anzuzeigen?
Notes ist keine relationale Datenbank !

Aus Deinen Fragen entnehme ich, dass Dir keiner Lotus Notes und wie Daten gespeichert werden, erklärt hat.

Notes kennt Anwendungen (z.B. Deine Mail-Datenbank oder Dein Adressbuch). Darin werden Dokumente abgelegt. Notes trennt Inhalt von Form, d.h. in einem Dokument steht drin, dass das Feld Vorname den Stringwert "Franz" hat. Ob das Feld bei der Anzeige (dafür werden Masken genutzt) blau oder rot ist, steht im Design der Anwendung.

Um Dein Codefragment beurteilen zu können, ist mehr davon notwendig - auch die Aussage "
dieses wurde als schlechteste alternative bezeichnet :(
irritiert mich. Wer hat das gesagt ?

Übersetzt bedeutet Dein Code, dass einer Variable _var der Stringwert Berlin zugewiesen wird. Dann gehst Du in ein Feld Location und der Wert der Variable soll eingefügt werden. Bist Du in einer Maske (Dann geht das nur im Editmodus) ? Oder hast Du ein Dokument im Fokus ?

Welche Kenntnisse hast Du ?
Wo willst Du die Schaltfläche anbringen ? In einer Ansicht ? In einer Maske ? ......
Sollst Du eine vorhandene Anwendung erweitern oder ist das was ganz Neues ?

Fragen über Fragen, gib bitte -nebe Deinem richtigen Namen- mehr Infos an, dann kannst Du auch Tipps bekommen.

Neben Picklist (Tipp von Bernd) gibt es auch Prompt-Möglichkeiten. Steht auch in der Hilfe.

Viel Erfolg.

CU,
Axel
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 23.05.11 - 23:03:15
Hallo Bernd, hallo Axel

sorry, dass ich mich umständlich ausgedrückt habe.

Ok ein Beispiel.
Folgende fiktive (relationale???) Datenbank habe ich gegeben:
Vorname     Name
Heiko          Lehmann
Max            Mustermann

diese Datenbank gilt es zusätzlich zu erstellen. :(

weiterhin habe ich eine Anwendung:
Hierbei habe ich ein Feld "Name" und ein Feld "Vorname".
Neben den besagten Feldern möchte ich gern jeweils einen Schaltfläche einbauen. "Name hinzufügen" und "Vorname hinzufügen".
Beim click auf  "Vornamen hinzufügen", würde ich dann eine Listbox öffnen mit den Einträgen "Heiko; Max".
Beim auswählen eines Eintrages, wird dieser Wert in das Feld "Vorname" übernommen.
Durch solch eine Funktion soll im Übrigen der Kalender erweitert werden.

Grüße Felix
Titel: Re: datenbank einträge auslesen
Beitrag von: WildVirus am 23.05.11 - 23:14:53
Hallo Felix,

also bei zwei Feldern ist noch wenig relationales dabei  :)

Dann willst Du den Kalender erweitern ? Den in der Mail-DB ? Das ist nicht ohne, da musst Du Notes schon sehr gut kennen. An C&S haben sich schon etliche Programmierer die Tastatur zerbrochen  :D

Ok, Du nimmst die Kalendermaske, baust eine Schaltfläche (Aktion) ein und dort erstellst Du Deinen Code. Du rufst die Datenbank auf, in der die Namen gespeichert sind (evtl. meinst Du ja das Domino Directory). Holst Dir dort z.B. über eine Verbindung aus @prompt / @dbcolumn / @dblookup (um nur einige zu nennen) die Daten aus der anderen Datenbank und schreibst das in Dein Kalenderdokument.

So ganz grob

CU,
Axel
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 23.05.11 - 23:21:14
ja hierfür habe anstatt einer aktion ein button erstellt, geht das auch?
zunächst einmal eine grundlegende frage :)
wie kann ich die datenbank mit den einträgen erstellen? einfache tabelle?
Vorname     Name
Heiko          Lehmann
Max            Mustermann
und dann kann ich auf die tabelle zugreifen?
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 23.05.11 - 23:29:23
Notes tickt völlig anders, als Du Dir das momentan offensichtlich noch vorstellst.

Hol Dir ein gutes Buch für die Basics der Notes-Programmierung. Das können wir nicht ersetzen. Und nein: Da gibt es nichts wirklich brauchbares kostenlos im Internet für Anfänger.

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: WildVirus am 23.05.11 - 23:34:57
Hallo Felix,

mein letzter Tipp für heute

wie kann ich die datenbank mit den einträgen erstellen? einfache tabelle?
Maske erstellen, Felder rein, Fertig

Nur - eine einfache Tabelle wird das nicht - wie gesagt, Notes legt Informationen mittels Dokumenten in Anwendungen (=Datenbanken) ab

Aber wenn Du unbedingt eine Tabelle möchtest, das gibt es als Designelement in der Maske  ;)
und dann kann ich auf die tabelle zugreifen?
Anzeigen = Ansicht
Zugreifen = per Code, z.B. @dbcolumn / @dblookup

Dazu eine Frage: Hast Du schon einmal in die Hilfe-DB geschaut und darin gestöbert ? Wenn nein, Marsch an den Rechner und lesen, nachbauen, probieren

Und schau Dir als allererstes Notes und seine Datenhaltung an ! Sonst verstehst Du immer nur Wald vor lauter Bäumen

So, ich bin für heute rau, geh jetzt in die Heia

Gute Nacht allerseits
Axel
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 00:22:31
Maske erstellen, Felder rein, fertig

alles schon gemacht, bloß dann fehlt der Button der die Ergebnisse speichert! :(
Werde in der Literatur einfach nicht fündig, wich dem dem Button sage, dass er die eingetragenen Information abspeichern soll.

Danke Bernhard, habe einen dicken Welzer neben mir liegen ;)

Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 00:36:49
... habe einen dicken Welzer neben mir liegen ;)

Sorry für das off-topic, Felix, aber der Duden ist das bestimmt nicht ...

Und ich kenne kein Notes-Buch, was wirklich schlecht ist. Nicht alle sind gut, aber eine Basis-Einführung bieten sie alle.

Ergo: Lesen bildet, und systematisches Vorgehen ist immer der einzig zielführende Weg (ausser, man spielt Lotto).

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 00:38:33
jo danke für die konstruktive hilfe... :-[

gute nacht
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 01:00:09
Die konstruktive Hilfe war das der Hinweis auf das systematische Herangehen und das Heranziehen von guter Literatur. Wenn wir bei einer Bruchstückaufgabe wiederum nur Bruchstücke zuliefern würden, nützt das doch keinem - der Gesamtzusammenhang bliebe ja unklar.

Über sorgfältige und respektvolle (also verständliche und leserliche) Fragestellung hatten wir hier schon genug Beiträge, ich werde das hier nicht wiederholen ausser "Wie es in den Wald hineinruft, so schallt es wieder heraus."
Man könnte sich ja wenigstens die Mühe geben, an den doch abzählbar erforderlichen Stellen die Umschalttaste zu drücken.

Deine Fragen sind hier sehr willkommen - dafür sind wir da, und einige Leute schreiben hier nicht aus Gag vier- oder fünfstellige Antwortzahlen.
Das Einlesen in die Grundlagen und das selbständige Denken können wir aber keinem abnehmen.

Und ganz wichtig: Wenn Du programmieren willst, dann übernimmst Du immer Verantwortung für andere (es sei denn, Du betreibst "softwaretechnologische Onanie" und willst Dir nur selber was zusammen schnitzen). Die Worte "probieren" und "irgendwie anfangen" u.ä. sind damit einfach tabu.

So, und jetzt lies, bilde Dich, investiere (Zeit) - und dann her mit Deinen konkreten Fragen. Nochmals: Wir helfen gerne!

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: marschul am 24.05.11 - 09:40:53
... "softwaretechnologische Onanie" ...

 ;D Den muss ich mir merken - vermutlich kommt man auf so etwas auch nur 01:00 Uhr nachts ;)
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 16:52:32
hallo
sooo habe die nacht fast durchgearbeitet und mich intensiv belesen.
zur zeit befinde ich mich an folgenden standpunkt.

1. testdatenbank mit einträgen wurde erstellt
2. eine combobox im Kalender wurde ebenfalls erstellt
3. combobox enthält einträge der testdatenbank

nun würde ich gern die ausgewählten werte der combobox auslesen
und in eine textbox eintragen.

das eintragen ist kein problem, aber grad scheiterts am auslesen der combobox.
kann mir jemand die passende formel sagen?

hoffe die frage ist ok :)

grüße
Titel: Re: datenbank einträge auslesen
Beitrag von: Peter Klett am 24.05.11 - 16:57:39
Stell mal ein Bildschirmfoto ein, vielleicht wird dann klarer, was Du meinst
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 16:59:11
Kombobox? Textbox? Grossbuchstaben?

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 17:12:56
Hallo Peter,

Der folgende Code fügt einen vordefinierten String in eine Feld vom Typ "Text" ein.

_var:="Hallo"
@Command([EditGotoField]; "Subject");
@Command([EditInsertText]; _var)

Da ein statischer String jedoch etwas langweilig ist, würde ich gern anstatt diesen die Einträge aus einem Feld vom Typ "Combobox" auslesen. Hierbei bin ich in der Literatur nicht fündig geworden.

Habe es erfolglos folgendermaßen probiert:

_var:=@Command([EditGotoField]; "Auswahl");
(In dem Fall heißt die Combobox "Auswahl".)
Titel: Re: datenbank einträge auslesen
Beitrag von: Peter Klett am 24.05.11 - 17:14:37
Machs über das Backend

FIELD Auswahl := "Wert1" : "Wert2"
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 17:17:55
Backend ist hier nicht der Bringer, da das nicht immer automatisch refreshed wird. @SetField ist da freundlicher (in diesem Fall!).

@Felix: "das ist ein string" und dasisteinitemnameodereinevariable.

In Anführungszeichen innerhalb von Formeln: Eine Zeichenkettenkonstante.
Ohne Anführungszeichen: Gemeint ist eine Variable (innerhalb des selben Moduls definiert) oder ein Itemname (der durch ein Feld seine Entsprechung finden kann, aber nicht muss!) innerhalb des Dokumentes, auf das sich der Code bezieht.

Bernhard

Titel: Re: datenbank einträge auslesen
Beitrag von: Peter Klett am 24.05.11 - 17:23:50
Gem. Hilfe ist FIELD und @SetField identisch, nur dass man @SetField auch innerhalb anderer @Funktionen verwenden kann.
Titel: Re: datenbank einträge auslesen
Beitrag von: Tode am 24.05.11 - 17:28:51
Mal wieder eine Ungenauigkeit der Hilfe: Seit Version 6 (wenn ich mich nicht irre) kann man auch FIELD innerhalb anderer @Funktionen verwenden. Seither sind beide Funktionen quasi identisch in Ihrer Funktion
Code
<Historie>
früher musste man Felder z.B. in Agenten mit FIELD initialisieren, 
damit sie im weiteren Verlauf ansprechbar / auslesbar waren, 
sonst hatte man immer nur Zugriff auf eine "Lokale Variable" mit zufällig dem gleichen Namen wie einem Dokumentenfeld </Historie>


EDIT BK: Zitat auf brauchbare Breite gestutzt
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 17:29:58
vielen Dank,

@SetField ist natürlich eleganter, bleibt jedoch die Frage offen wie ich an den ausgewählten Wert der Combobox komme?
Titel: Re: datenbank einträge auslesen
Beitrag von: Peter Klett am 24.05.11 - 17:37:37
bleibt jedoch die Frage offen wie ich an den ausgewählten Wert der Combobox komme?
Über den Feldnamen der Combobox
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 17:38:01
@SetField ("Zielfeld"; NameDesKombinationsfeldes)

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 18:11:23
jo es klappt danke,

wäre es eigentlich möglich
in JavaScript eine entsprechende Funktion zu @SetField zu programmieren?

Dadurch könnte man, den Wert sofort nach der Auswahl aus der Combobox in die Textbox hinzufügen und der Click auf den Button wäre überflüssig.
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 18:18:11
Dazu brauchst Du kein JS. Du kannst im Kombinationsfeld einstellen, dass Schlüsselwortänderungen automatisch andere Felder aktualisieren. Wenn Du dann noch in das Zielfeld eine entsprechende Formel (einfach namedeskombinationsfeldes) einträgst ...

Vielleicht erklärst Du aber besser nochmal genau, was Du überhaupt vorhast.

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 18:36:35
Wo muss ich die entsprechende Formel im Zielfeld eintragen?
Titel: Re: datenbank einträge auslesen
Beitrag von: koehlerbv am 24.05.11 - 18:45:08
Lesen ... Bitte! Das ist kein Vorkau-Forum! Wenigstens doch mal die Basics studieren aus der DesignerHelp, besser ein Einführungsbuch (gibt es beispielsweise im Herdtverlag für überschaubares Geld - und da kann man sogar eine ältere Version nehmen).

Bernhard
Titel: Re: datenbank einträge auslesen
Beitrag von: shok am 24.05.11 - 18:48:21
War eine dumme Frage, hab es!
Trotzdem Danke ;D