Autor Thema: Ansicht mit Daten füllen  (Gelesen 9342 mal)

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Ansicht mit Daten füllen
« 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

Offline Wilhelm

  • Aktives Mitglied
  • ***
  • Beiträge: 214
  • Geschlecht: Männlich
Re: Ansicht mit Daten füllen
« Antwort #1 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
Ich will endlich die F9-Taste in diesem Forum haben!!!

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Ansicht mit Daten füllen
« Antwort #2 am: 18.05.06 - 16:27:57 »
Schau in der Notes Hilfe mal unter COL Datei nach...
There are only 10 types of people in the world: Those who understand binary and those who don't.

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #3 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?

Offline Wilhelm

  • Aktives Mitglied
  • ***
  • Beiträge: 214
  • Geschlecht: Männlich
Re: Ansicht mit Daten füllen
« Antwort #4 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
Ich will endlich die F9-Taste in diesem Forum haben!!!

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #5 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

klaussal

  • Gast
Re: Ansicht mit Daten füllen
« Antwort #6 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.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Ansicht mit Daten füllen
« Antwort #7 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.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #8 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?

Offline Wilhelm

  • Aktives Mitglied
  • ***
  • Beiträge: 214
  • Geschlecht: Männlich
Re: Ansicht mit Daten füllen
« Antwort #9 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
Ich will endlich die F9-Taste in diesem Forum haben!!!

klaussal

  • Gast
Re: Ansicht mit Daten füllen
« Antwort #10 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
« Letzte Änderung: 19.05.06 - 12:26:05 von klauss »

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #11 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!

Offline Wilhelm

  • Aktives Mitglied
  • ***
  • Beiträge: 214
  • Geschlecht: Männlich
Re: Ansicht mit Daten füllen
« Antwort #12 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
Ich will endlich die F9-Taste in diesem Forum haben!!!

klaussal

  • Gast
Re: Ansicht mit Daten füllen
« Antwort #13 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

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #14 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. ???

klaussal

  • Gast
Re: Ansicht mit Daten füllen
« Antwort #15 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.

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #16 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...

Driri

  • Gast
Re: Ansicht mit Daten füllen
« Antwort #17 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 ?

Offline Jan Th.

  • Frischling
  • *
  • Beiträge: 9
Re: Ansicht mit Daten füllen
« Antwort #18 am: 19.05.06 - 13:57:33 »
ja angepasst habe ich die Form und die View...

Offline Onkel Domino

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • Tue Gutes - und rede darüber!
Re: Ansicht mit Daten füllen
« Antwort #19 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 ("").
« Letzte Änderung: 25.05.06 - 16:29:42 von Onkel Domino »
There are only 10 types of people in the world: Those who understand binary and those who don't.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz