Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Jan Th. am 18.05.06 - 15:03:17

Titel: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 18.05.06 - 15:03:17
Hallo!

Ich versuche gerade eine Ansicht mit Daten, welche ich aus einer Exel-Tabele entnehmen möchte, zu füllen.

Ich habe dazu nun eine Maske mit einem Feld erstellt und versuche die ganze Zeit die Daten zu importieren, aber das klappt alles nicht...

Kann mir jemand von euch helfen?

Gibt es vielleicht irgendwo einmal eine Anleitung oder ein Buch, welches wirklich in einfachen schritten erklärt, wie ich vorzugehen habe?

Vielen Dank im Voraus


Gruß

Jan
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Wilhelm am 18.05.06 - 15:48:41
Hallo Jan,

willkommen im Forum! Für dieses Problem gibt es diverse Lösungsansätze, hängt von der genauen Anforderungslage und deinem persönlichen Background ab.

Benutze mal die SuFu hier im Forum und suche nach "csv". Da wirst du mit Sicherheit fündig.

Gruß

Willi
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 18.05.06 - 16:27:57
Schau in der Notes Hilfe mal unter COL Datei nach...
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 09:35:04
Hi!

also erstmal Danke für eure Tipps, aber ich bin noch nicht so richtig weiter gekommen...

was ich jetzt versucht habe ist die Datei mit einem @command befehl in die Ansicht zubringen.

@Command([FileImport]; "Lotus 1-2-3"; "H:\AUSBILDUNG\Schwerpunkt\Stammdaten\daten.wk4")

den befahle habe ich unter Spalte -> Spaltenwert hinterlegt.

könnt ihr mir sagen, was ich falsch mache?
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Wilhelm am 19.05.06 - 09:42:48
Hallo nochmal,

1) was denn jetzt? Excel oder 123?
2) Du musst die Werte in ein Notes-Dokument importieren und dann den Feldwert in der Ansicht darstellen.

Wie groß ist eigentlich dein Notes-Hintergrund? Bist Du Admin, Entwickler oder Anwender?

Gruß

Willi
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 09:49:13
...ich versuche es jetzt mit 123, weshalb ich meine Datei auch als wk.4 abgespeichert habe.

mein background? naja ich bin seit etwa zwei jahren anwender und erstelle jetzt im rahmen meiner ausbildung, als fachaufgabe, eine datenbank. mit dem entwickeln habe ich also vor etwa zwei tagen angefangen.

gibt es vieleicht auch eine Lektüre, die du mir empfehlen könntest? ich stehe nämlich wirklich noch ziemlich auf dem schlauch!

Danke!


Gruß

Jan
Titel: Re: Ansicht mit Daten füllen
Beitrag von: klaussal am 19.05.06 - 10:03:15
Da empfehlen sich wohl ein paar Sachen vom Herdt-Verlag. Dazu gibt's dann auch die passenden Übungs-DBs.
Ohne Grundlagen so ein Thema zu programmieren ist relativ zwecklos.
Titel: Re: Ansicht mit Daten füllen
Beitrag von: animate am 19.05.06 - 10:36:39
Ich bin da anderer Meinung als klauss. Ich bekam genau die gleiche Aufgabe auch ohne jede Grundlage als ich mal mit Notes anfing. Das ist kein Hexenwerk und geht ohne jegliche Programmierung. Onkel Dominos Tipp mit dem COL ist genau der richtige, denke ich. Using a column descriptor file (COL ) to map a source file to a Notes view (http://www-12.lotus.com/ldd/doc/domino_notes/6.5.1/help65_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/2669901fb003614b85256e0000493a77?OpenDocument).
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 11:13:25
zumindest finde ich den Tip mit dem Herdt-Verlag gut, was die Leseprobe verspricht finde ich das nicht schlecht!

...über die Hilfe bin ich aber zu diesem Punkt gelangt:

To import tabular text into a view

The source file containing the tabular text file must be on your local hard drive or on a file server to which you are connected.

1. Select the database and open the view that will receive the source data.

2. Choose File - Import.

...

Einfacher geht es ja wohl nicht, ABER! ich kann import nicht anwählen, da es mir nicht hinterlegt wird! Gibt es Einstellung zu einer Ansicht, die ich bei dieser Methode berücksichtigen muss?
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Wilhelm am 19.05.06 - 11:41:41
Ist die Ansicht in einem Frameset geöffnet und hast Du den Fokus vielleicht nicht auf der Ansicht??

Gruß

Willi
Titel: Re: Ansicht mit Daten füllen
Beitrag von: klaussal am 19.05.06 - 11:43:09
Jetzt fange ich mal von vorne an:

Hast Du schon eine Maske erstellt ?
Haben die Felder den gleichen Namen wie die Spalten in EXCEL ?

Ich könnte dir auch eine AKtion schicken, der die ganze Sache importiert. Da lernst Du dann gleichzeitig etwas LS  ;D
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 12:07:35
Die Ansicht wird in einem Frameset geöffnet, aber wie definiere ich den Focus?

Auch eine Maske mit Feldern und der selben Bezeichnung wie die Excel Spalten ist vorhanden.

Das mit dem Agenten wäre ne feine Sache! Ich möchte nur gerne einmal wieder einen Erfolg sehen!
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Wilhelm am 19.05.06 - 12:17:29
Erstelle doch mal in der Ansicht ein Beispieldokument und klicke 1x drauf. Dann hast Du den Fokus in der Ansicht und nicht auf dem aufrufenden Element wie z.B. einem Outline-Entry. Dann sollte es auch mit dem Importieren klappen.

Gruß

Willi
Titel: Re: Ansicht mit Daten füllen
Beitrag von: klaussal am 19.05.06 - 12:25:16
Und hier ist die Aktion:

Code
Sub Click(Source As Button)
	
'The action button is located on a view 
	Dim ws As New NotesUIWorkspace
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Set db = session.CurrentDatabase
	
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim temp1 As String
	Dim temp2 As String
	Dim temp3 As String
	Dim temp4 As String
	Dim temp5 As String
	Dim temp6 As String
	Dim temp7 As String
	Dim temp8 As String
	Dim temp9 As String
		
	
	Dim count As Integer
	Dim xlApp As Variant
	Dim xlSheet As Variant
	Dim cursor As Integer
	Dim recordcheck As String
		
	On Error Goto ERRORLABEL
	Dim FileName As String
	Dim DefaultFileName As String
	DefaultFileName="C:\Import\Deine Datei.xls"
	
	NamePrompt$="Enter the complete Path and File Name of the Excel file to be imported:" &Chr(13)
	FileName=Inputbox(NamePrompt$,"Import File Name Specification",DefaultFileName,100,100)
	If FileName="" Then Exit Sub
     'Create an Excel object for the spreadsheet
     'It may be necessary to have the proper MS Office DLLs installed on the PC running this application
     'That is, the person must be able to open the XLS file with Excel
	Set xlApp = CreateObject("excel.Application")
	xlApp.Application.Workbooks.Open Filename
'File not found will return ERR=213 and the routine will be ended
	With xlApp.workbooks.Add
     'Not sure what this line is for, unless it's to be sure that at least one workbook is present in the XLS file
	End With
'Stop
	Set xlSheet = xlApp.Workbooks(1).Worksheets(1)
	recordcheck="x"
	r=1 ' Row counter - first row contains fieldnames from the database; 
'these fieldnames are not needed as long as the spreadsheet follows a specified format
	While recordcheck <>"ENDE" 
           'Recordcheck = "0" when there is no value in the first cell of the row,  if integer, or "", if string
           'Important - Set r to a value that will stop the import routine without missing any data, if the other criteria do not
'For this example, six columns are imported
		cursor=0
		r=r+1
		temp1=xlSheet.Cells(r,1).value
		recordcheck=Cstr(temp1)
		If recordcheck="0" Then Goto Finished ' Avoid generating empty record
		
		temp1=xlSheet.Cells(r,1).value
		temp2=xlSheet.Cells(r,2).value
		temp3=xlSheet.Cells(r,3).value
		temp4=xlSheet.Cells(r,4).value
		temp5 =xlSheet.Cells(r,5).value
				
		
           'The above lines lines could be combined with those below, but keep separate for ease in debugging until ready to finalize the code
		Set doc = New NotesDocument(db)
		
		doc.Form = "DeineForm"
		
		doc.LastName= temp1
		doc.FirstName = temp2
		doc.Anrede = temp3
		doc.other = temp4
		doc.Address = temp5
		doc.ZIP = temp6
		doc.City = temp7		
				
		Call Doc.Save(True, False)
		count = count + 1
		
		Print "anzahl datensätze: " + Cstr(count)
Finished:
	Wend
	Goto SubClose
	
ERRORLABEL:
     'Msgbox "An error was encountered."
     'Print "Error: " Error(), "   Err:" Err(), " Erl:" Erl()
	If Err=213 Then
		Messagebox Filename & " was not found. Verify Path and Filename, then try the Import again."
		Exit Sub
	Else
		Messagebox "Error" & Str(Err) & ": " & Error$
	End If
	Resume Next
SubClose:
	xlApp.activeworkbook.close
	xlApp.Quit
	Set xlapp = Nothing
	Set view=db.getview("DeineView")
	Call ws.viewrefresh
	
End Sub
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 13:04:21
....mmmm mit dem Dokument hat das leider nicht geklappt.

und die Aktion von Klauss läuft und list die Datensätze, aber wenn er fertig ist bekomme ich die Fehlermeldung "Error 6 overflow"

wie muss ich denn die felder in der maske definieren? ich habe das auch schon mit einer .col datei versucht, aber das hat auch nicht richtig funktioniert. ???
Titel: Re: Ansicht mit Daten füllen
Beitrag von: klaussal am 19.05.06 - 13:08:02
Also: in der EXCEL-Datei muss am Ende in der ersten Spalte ENDE stehen (am besten einige Male).
Die Felder als Typ "Text" definieren.

Und wie Du selber siehst: ohne Grundkenntnisse wird es kompliziert.
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 13:24:47
...ich habe aber auch nie das gegenteil behauptet! ;)

das funktioniert aber immer noch nicht ganz. er zählt jetzt die datensätze gibt sie mir aber nicht aus obwohl ich ihm die ansicht genannt habe...
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Driri am 19.05.06 - 13:27:17
Dann hoffe ich mal, daß Du diese Codezeile hier

Zitat
doc.Form = "DeineForm"

entsprechend angepaßt hast. Dort muß der Name deiner Maske drin stehen, sonst werden die importierten Dokumente mit der (vermutlich) nicht vorhandenen Maske "DeineForm" erzeugt und Du bekommst sie in der View nicht zu sehen.

Was sagen denn die Datenbankeigenschaften ? Wieviele Dokumente bekommst Du dort angezeigt ?
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 13:57:33
ja angepasst habe ich die Form und die View...
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 19.05.06 - 14:19:02
Das Ganze kann man wunderbar einfach mit den eingebauten Import-Funktionen des Notes Clients lösen ohne sich dafür mit Lotus Script beschäftigt zu haben. Das Einzige, was man beachten muss ist die Richtigkeit der COL File. Das Erstellen dieses Files ist allerdings wunderbar in der Notes Designer Hilfe erklärt. Vor dem Import ist die Excel- oder Sonstwas-Datei noch in eine CSV Datei umzuwandeln.

Zitat von: Jan Th.
Gibt es vielleicht irgendwo einmal eine Anleitung oder ein Buch, welches wirklich in einfachen schritten erklärt, wie ich vorzugehen habe?

In einfachen Schritten heißt das:

1. COL Datei erstellen wie in der Hilfe beschrieben (s.u.)
2. Aus dem Menü File - Import wählen
3. Dateityp: Tabular Text wählen
4. zu importierende CSV Datei wählen
5. in dem darauf folgenden Dialog die richtige Maske für den Import wählen, die Option "Use format file" aktivieren und die oben erstellte COL Datei auswählen
6. Falls die CSV Datei einen Header, Footer oder sonstige Eigenarten aufweist, kann unter "Options for imported documents" die Anzahl der Zeilen des Headers, etc. eingetragen werden
7. ggf. ein Häkchen bei "Calculate fields on form during document import" setzen

Fertig

----------------------------------------------

Auszug aus der Notes Designer Hilfe:

Specifying the delimiter of a column
If the tabular text file uses a delimiter character to separate columns of data, you must use the UNTIL keyword to specify the delimiter as part of each field definition.
For example, if the source data is delimited by commas, as in:
"Smith", "Robert", "Gryphon Real Estate", "555-1212"
and the view contains the following field names:
LastName, FirstName, Company, Phone
then the COL file will contain the following lines:
LastName: UNTIL ",";
FirstName: UNTIL ",";
Company: UNTIL ",";
Phone: UNTIL "";
If there is no delimiter at the end of the record (row), you identify the end of the last field as a null ("").
Titel: Re: Ansicht mit Daten füllen
Beitrag von: klaussal am 19.05.06 - 15:14:44
Wie ich befürchtet habe: ohne Grundkenntnisse wird das ein Akt.
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Jan Th. am 19.05.06 - 15:33:05
...ja sicher, aber irgendwann muss man ja anfangen! und außerdem wurde ich ja ins kalte wasser geworfen, da alle denken der bekommt das schon hin... aber ein bild davon, was das für eine arbeit ist hat keiner!

ich bin auch ein stückchen weiter gekommen, da ich meine view jatzt immerhin schon mit daten füllen kann.

es will aber einfach mit dem Daten import nicht klappen. ich habe jetzt bereits ein .col geschrieben, aber wenn ich auf importieren klicke, dann kann ich eine Datei zum importieren auswählen und setzt er mir dann als Tabele oder die .col halt einfachen Text in die maske, füllt das feld jedoch nicht...!

ich mache jetzt feierabend, vieleicht bekomme ich ja am wochenende einen geistes blitz.

Vielen Dank an alle bisher beteiligten und ein schönes Wochenende!!!

Gruß

Jan
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 19.05.06 - 16:58:35
es will aber einfach mit dem Daten import nicht klappen. ich habe jetzt bereits ein .col geschrieben, aber wenn ich auf importieren klicke, dann kann ich eine Datei zum importieren auswählen und setzt er mir dann als Tabele oder die .col halt einfachen Text in die maske, füllt das feld jedoch nicht...!

Gaaanz ruhig...wir sind ja da  :)

Hast Du daran gedacht die richtige Maske beim Import auszuwählen? Hat die COL Datei auch das richtige Trennzeichen wie in der Hilfe beschrieben? Passen die Einträge der COL File zur CSV-Datei?

Ich würde vorschlagen Du gehst das Ganze am Montag nochmal Schritt für Schritt durch! Und nimm' Dir dafür mehr Zeit, als Du es zum Verfassen Deines letzten Postings gemacht hast  ;)
Titel: Re: Ansicht mit Daten füllen
Beitrag von: alexbeer am 24.05.06 - 19:59:22
Hi, versuche auch gerade Daten zu importieren.
Habe mit dem Windows Texteditor eine Col Datei geschrieben:
INhalt
Zitat
candidate_InitContact: UNTIL ",";
Recruiter: UNTIL ",";
Candidate: UNTIL ",";
candidate_email: UNTIL ",";
candidate_LeadFrom: UNTIL ",";
candidate_leadDetail_Monster: UNTIL ",";
candidate_Notes: UNTIL ",";
candidate_ContactNo: UNTIL ",";
candidate_IsCandidateActive: UNTIL "";
Dann habe ich meine Excel Datei in CSV exportiert.

Wenn ich jetzt aber in der View ueber importieren gehe und "Tabular Text " auswaehle, dann werden mir meine Dateien nicht angezeigt.
Nehme ich structured text, dann werden die angezeigt. Aber funktionieren tut es auch nicht.
Wo waehle ich denn die COL Datei aus, um Notes die Zuordnung klarzumachen?
Alleine mit der CSV Datei geht es auch nicht...
Die Hilfe erklaert zwar, wie man eine COL Datei erstellt, aber nicht, wie man sie einspielt - oder ichs ueberlesen.

Danke fuer Tipps
Titel: Re: Ansicht mit Daten füllen
Beitrag von: koehlerbv am 24.05.06 - 20:12:49
Die Hilfe erklaert zwar, wie man eine COL DAtei erstellt, aber nicht, wie man sie einspielt - oder ichs ueberlesen.

Sicher hast Du es überlesen. Sowohl in der Hilfe als auch in der Import-Dialogbox. In beiden findet sich der Begriff "Formatdatei wählen" ...

Bernhard
Titel: Re: Ansicht mit Daten füllen
Beitrag von: alexbeer am 25.05.06 - 15:45:04
@Bernhard,
das hatte ich tatsaechlich ueberlsen. Danke fuer den Hinweis auf "formatfile".
Habe es jetzt in der Hilfe gefunden und auch der Import hat geklappt.
Titel: Re: Ansicht mit Daten füllen
Beitrag von: koehlerbv am 25.05.06 - 15:56:22
Prima!
Bei Recherchen ist es zugegebenermassen ab und an schwierig, die zielführenden Begriffe zu finden. Aber dafür gibt es ja das Forum  :)

Bernhard
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 25.05.06 - 16:33:13
Ich muss zugeben, dass ich das explizite Auwählen der COL Datei in meiner Beschreibung (http://atnotes.de/index.php?topic=30552.msg192712#msg192712) unterschlagen hatte. Das ist nun ergänzt worden. Nun wird sie auch den von Jan Th. genannten Anforderungen gerecht  :)
Titel: Re: Ansicht mit Daten füllen
Beitrag von: hugo am 08.09.06 - 13:30:08
Hallo bin neu hier und was die Notes Entwicklung angeht auch vollkommener anfänger  ::)

Ich versuche auch schon die ganze Zeit eine Textdatei zu importieren ( ist in dem Forum ja ein beliebtes Thema  ;)). Also bevor mir jemand Vorwürfe macht: ich hab gegooglet, hier im Forum geschaut und in der Hilfe vom Designer, nichts gat geklappt.

Ich habe wie hier und in der Hilfe beschrieben eine COL Datei erstellt und versuche Sie in eine Ansicht zu importieren. Ja die Ansicht hat genau so viele Felder wie das File, das Problem ist wenn ich in der Ansicht bin und versuche über Datei->Importieren zu gehen, ist diese Schaltfläsche grau hinterlegt, es geht also leider nicht.....

Kann mir hier als bemühter Notesneuling geholfen werden?  :-:
Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 08.09.06 - 15:19:02
Hast Du ausreichend Rechte um Dokumente in der Datenbank zu erstellen? Du benötigst mindestens Autorenrechte...
Titel: Re: Ansicht mit Daten füllen
Beitrag von: VB3Bernd am 08.09.06 - 15:20:44
Hugo hat einen neuen Fred angefangen

--> http://atnotes.de/index.php?topic=32434.0

Grüße
Bernd

Titel: Re: Ansicht mit Daten füllen
Beitrag von: Onkel Domino am 08.09.06 - 15:31:51
Oh...vielen Dank für den Hinweis!

Ich habe eine eMail Benachrichtigung auf den Thread bekommen und mich nicht weiter umgeschaut :-)