Autor Thema: dynamische Tab ... meine ersten Schritte  (Gelesen 3687 mal)

Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
dynamische Tab ... meine ersten Schritte
« am: 03.09.06 - 14:14:59 »
Hallo Forum,

ich bin neu im Umgang als Entwickler in Lotus Notes.
Aber vielleicht findet sich hier doch jemand, der auch einem Neuling auf die richtige Spur setzen möchte.

Mein ZIEL:
Ziel soll es sein, via Button eine Textdatei in eine Tabelle zu importieren.

Wie ich eine Textdatei auslese, weis ich bereits. Nun stellt sich die Frage, wie steuere ich eine Tabelle im Dokument an (lesen ? / schreiben ?). Hierzu habe ich auch einen Code .... aber der will nicht so richtig. Er zeigt (msgbox) mir den Inhalt der Zeile nicht an, sondern bringt mir die Fehlermeldung: "Instance member GETITEMVALUE does not exist"

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Set doc = workspace.CurrentDocument
   A = doc.GetItemValue ( "$Table1", "1" )
   Msgbox A(0)
End Sub


Die Tabelle habe ich "table1" genannt und die erste Zeile "1"

Ich benutze Lotus Script, da ich mit Visual Basic ganz gut umgehen kann.

Würde mich über Eure Unterstützung sehr freuen.

Gruß

Gerhard

Glombi

  • Gast
Re: dynamische Tab ... meine ersten Schritte
« Antwort #1 am: 03.09.06 - 16:46:15 »
doc soll wohl ein NotesDocument und kein NotesUIDocument sein.

Also
dim doc as NotesDocument

...

Set doc = workspace.CurrentDocument.Document



Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
Re: dynamische Tab ... meine ersten Schritte
« Antwort #2 am: 03.09.06 - 17:44:22 »
Hi Glombi,

vielen Dank für den Hinweis. Klar ...  da hab ich wohl zwei Dinge durcheinander gebracht.

Hab den Code nun angepasst ....

Sub Click(Source As Button)
   Dim workspaceUI As New NotesUIWorkspace
   Dim doc As notesDocument   
   Set doc = workspaceUI.CurrentDocument.Document
   A = doc.GetItemValue ( "$Table1", "1" )
   Msgbox A(0)
End Sub


Nun hab ich folgende Fehlermeldung:
"Wrong number of arguments for GETITEMVALUE ?"

Bin ich da falsch ? .... Wie kann ich denn die Werte einer Tabelle auslesen, manipulieren und wieder schreiben ?

Gruß

Gerhard


Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: dynamische Tab ... meine ersten Schritte
« Antwort #3 am: 03.09.06 - 19:26:47 »
Wie du deine Tabelle und deren erste Zeile nennst, ist ziemlich wurscht, wichtig ist, in welchen Feldern die Werte stehen, deren Inhalt du mit doc.Getitemvalue herausholen möchtest - sprich: wie Notes die Inhalte der Tabelle nennt bzw. kennt. Von der Verwendung von $-Zeichen in Feldnamen, die du selbst vergibst, kann ich nur dringend abraten.

Vielleicht hilft uns ein kleines Bild der Anwendung im Designer dort weiter.
Situs vilate in isse tabernit.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: dynamische Tab ... meine ersten Schritte
« Antwort #4 am: 03.09.06 - 19:27:52 »
Hast Du Dir denn in der DesignerHelp mal die Syntax für NotesDocument.GetItemValue angeschaut? Offensichtlich nicht ...

Dieser syntaktische Fehler ist aber nur ein "Nebenkriegsschauplatz": Du kannst nicht "einfach so" ein Textfile in eine Tabelle einlesen - Du müsstest dafür entweder in einer Tabelle entsprechende Felder für die Inhalte vorhalten oder die Tabelle komplett neu aufbauen. Welches Konzept hast Du bisher entwickelt? Genau darüber sollten wir erstmal debattieren, bevor es an das "Handwerk" geht.

Bernhard

Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
Re: dynamische Tab ... meine ersten Schritte
« Antwort #5 am: 03.09.06 - 20:06:36 »
Hallo Bernhard,
hallo LN4ever,

Danke für Eure Anregungen.

Ja, ich hab die Syntax in der Hilfe gelesen, umsomehr hat mich der Befehl aus den Forum hier "doc.GetItemValue ( "$Table1", "1" )" gewundert. Da hab ich bestimmt den Inhalt des Beitrages nicht richtig verstanden .... sorry.

Wie schon gesagt, ich möchte eine Textdatei mit variabler Größe, jedoch mit fester Anzahl von Spalten in eine Tabelle importieren. Beim Import soll der Inhalt der einzelnen Zellen mit dem Datensatz aus der *.txt verglichen werden. Ist das Ergebnis ungleich, soll der Datensatz im Notes korrigiert werden und farblich gekennzeichnet.

Ich hab mir nun vorgstellt, dass ich zunächst eine Maske generiere, welche 2 Inhalte hat:
1.) Ein Feld mit dem Namen der *.txt
2.) Eine dynamische Tabelle
Importieren wollte ich mit einem Button im Header per Klick.

Das Script hab ich angefangen mit dem Import. Hier mal die Kurzversion:

...  fileNum1% = Freefile
  Open "C:\ACCESS\Tabelle1.txt" For Input As fileNum1%
  Input #fileNum1%, Wert1$, Wert2$, Wert3$, Wert4$
  Ausdruck$ = Wert1$ & Wert2$ & Wert3$ & Wert4$
  Close fileNum1% ...


Funktioniert zwar, bringt mich jedoch nicht weiter, da ich es noch nicht verstanden habe, den Zelleninhalt einer Notes-Tabelle zu manipulieren.
Da hackts ....

Ich arbeite viel mit Datenbanken, SQL, Access und wollte mein scheinbar laienhaftes Wissen auf eine Tabelle im Notes übertragen .... denkste .... is nicht.

Vielleicht habt Ihr einen Ansatz für mich ?

Gruß
Gerhard


« Letzte Änderung: 03.09.06 - 21:32:17 von Bamberg »

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: dynamische Tab ... meine ersten Schritte
« Antwort #6 am: 03.09.06 - 22:03:43 »
Wenn Notes- und Access-Programmierer von "Tabellen" sprechen, kann man vortrefflich aneinander vorbeireden, weil in beiden Fällen etwas völlig unterschiedliches gemeint ist.

Wenn Word-Benutzer und Notes-Benutzer das Wort "Tabelle" in den Mund nehmen, meinen sie manchmal, aber nicht zwangsläufig dasselbe.

In einer Accesstabelle bezeichnest du das als Zeile, was in Notes einem Dokument entspricht. Eine Spalte ist dann eher ein Feld.

Oder hast du gar nicht mehrere Notes-Dokumente, sondern alles nur in einem Notes-Dokument und dort in einem einzigen Richtext-Item in einer (Word-ähnlichen) Tabelle ?
Situs vilate in isse tabernit.

Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
Re: dynamische Tab ... meine ersten Schritte
« Antwort #7 am: 03.09.06 - 22:08:47 »
Hallo LN4ever,

ja, Letzteres ... genau so ist es.

Word-ähnliche Tabelle...

... in VBA für Word ist es kein Problem die Tabelleninhalte zu manipulieren ... gilt dies auch für Notes ?

Gruß

Gerhard

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: dynamische Tab ... meine ersten Schritte
« Antwort #8 am: 03.09.06 - 22:51:57 »
Eine Tabelle ist kein eigenes Gestaltungselement wie ein Textfeld oder eine Dropdown-Box, sondern nur ein spezieller Inhalt eines RichTextFeldes.
Die Manipulation dieser Tabellen im RichText-Feld werden in der Designer-Hilfe entsprechend beschrieben. Wenn Dir das zu komplex ist, bietet etwa Ben Langhinrichs das Midas Rich Text LSX an, welches die Arbeit mit Tabellen vereinfacht.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
Re: dynamische Tab ... meine ersten Schritte
« Antwort #9 am: 04.09.06 - 11:30:08 »
Hallo m3,

vielen Dank für Deinen Hinweis.
... ist also nicht möglich im Notes eine Tabelle zu manipulieren. Lediglich der RichText kann manipuliert werden. Der Aufwand lohnt jedoch nicht, da ich die Möglichkeit habe, die txt-Datei in fast x-beliebiger Form zur Verfügung zu stellen. (xls, doc, html, rtf, o.ä.) Auch kann ich den Abgleich der Datensätze extern vornehmen.

Ich denke, ich nehme xls. Oder habt Ihr einen besseren Vorschlag?

Kann man ein eingebettetes Excel-Arbeitsblatt via Lotus Script aktualisieren ? (Verweis auf eine Datei)

Für Eure Tipps wäre ich dankbar. Ich bin doch etwas vorsichtiger geworden, frag da lieber mal bei Euch nach .... ;)

Gruß

Gerhard

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: dynamische Tab ... meine ersten Schritte
« Antwort #10 am: 04.09.06 - 11:48:46 »
Ab Notes R6 kann man Tabellen bearbeiten: NotesRichTextTable....

In R5 wird es schwierig....

Man kann ein Excel-Dokument einbetten und aktualisieren, mit den "normalen" COM-Mitteln.

Solltet ihr einen R6 Server haben und nur R5 Clients, könnte man ggf. auch eine aktualisieren mit einem Hintergrund-Agenten (dieser läuft dann auf dem Server) vorstellen.

Gruss
Chirs

Offline Bamberg

  • Frischling
  • *
  • Beiträge: 24
Re: dynamische Tab ... meine ersten Schritte
« Antwort #11 am: 04.09.06 - 12:12:28 »
Hallo Chirs (?) oder Chris,

ok ... ich werd mich dann mal auf den Weg machen Excel-Sheets einzubetten.

Danke an alle für Eure Unterstützung.

Gruß

Gerhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz