Hallo an alle,
ich habe ein kleines Problem. Ich habe in einer Datenbank eine Importansicht in die ich Datensätze aus einer csv Datei einlesen will.
Die Datei die ich einlesen ist folgendermaßen aufgebaut.
"Rechnername","Softwarebezeichnung"
Also ungefähr so:
"Rechner1","OfficeXP"
"Rechner1","Acrobat Reader"
"Rechner1","LotusNotes"
"Rechner2","Office2000"
"Rechner2","irgendwas"
usw
Sind auf einem Rechner also 10 verschiedene Programme installiert, würde der Rechner 10 Zeilen in meiner CSV Datei einnehmen. Immer zuerst die Rechnerbezeichnung dann die Softwarebzeichnung.
Das ganz normale einlesen habe ich auch schon hinbekommen. Ich benötige die Daten allerdings in einer anderen Form und zwar so:
Rechner1, OfficeXP, Acrobat Reader, LotusNotes,
Rechner2, Office2000, Irgendwas,
Also immer die Bezeichung vom Rechner und dann die entsprechende Software durch ein Komma getrennt dahinter.
Mein Script sieht momentan so aus:
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim View As NotesView
Dim doc As NotesDocument
Dim suchdoc As NotesDocument
Dim Profildoc As NotesDocument
Dim collection As NotesDocumentCollection
Dim afile As String
Dim txt As String
Set db =Session.CurrentDatabase
Set view = db.GetView("Import versuch")
aFile= Inputbox("Bitte geben Sie den Pfad ein")
fileNum% = Freefile() '1. Datei einlesen
Open aFile For Input As fileNum%
Line Input #fileNum%,vtxt$ 'Zeile lesen
txt = ""
Do While Not Eof(fileNum%)
If Not Eof(FileNum%) Then
Set doc=db.CreateDocument 'Dokument generieren
doc.Form="import"
For n01% = 1 To Len(vtxt$)
If Mid(vtxt$,n01%,1) <> Chr(34) Then
txt = txt + Mid(vtxt$,n01%,1)
End If
Next
software = ""
varfw = ""
trenner% = Instr(txt,",")
doc.fwnummer = Left(txt,trenner% - 1)
varfw = Left(txt,trenner% - 1)
software = Strright(txt, ",")
Do While abfrage = 1
Line Input #fileNum%,vtxt$ 'Zeile lesen
txt = ""
For n01% = 1 To Len(vtxt$)
If Mid(vtxt$,n01%,1) <> Chr(34) Then
txt = txt + Mid(vtxt$,n01%,1)
End If
Next
If Instr(txt, varfw) Then
software= software + Strright(txt, ",")
Else
abfrage = 2
vtxt$ = ""
End If
Loop
doc.software2 = software
Call doc.save(True, False)
End If
Loop
End Sub
Leider erscheint folgende Fehlermeldung
Notes error: Feld ist zu groß (32k), oder die Spalten oder Auswahlformeln der Ansicht sind zu groß.
Kann mir jemand von euch helfen? Wie gesagt ich bin noch Anfänger....
Grüße
deluxer