Domino 9 und frühere Versionen > ND7: Entwicklung

csv Datei importieren

(1/7) > >>

Alperen15:
Hallo alle zusammen.....Ich habe ein paar csv Dateien. Jede Datei hat paar Zeilen( kundennummer, name usw.... )Ich habe eine Teilmaske erstellt mit den Felder die automatisch befüllt werden sollen. Eine Ansicht habe ich mir auch erstellt...Kundennummer, name usw...

Mein Agent den ich erstellt habe soll eine Datei öffnen den ersten Datensatz lesen dann die Kundennummer in der Ansicht suchen und falls die Kundennummer existier in der Ansicht das Dokument öffnen, die Felder befüllen und nächsten Datensatz lesen....was simples für euch aber für mich eine Herausforderung... bei set doc = doc.getfirstDocument bekomme ich schon eine Fehlermeldung, wahrscheinlich habe ich ncoh mehr....ich würde mcih echt freuen wenn ich paar Infos bekommen könnte

Sub Initialize
   
   Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim view As NotesView
   Dim doc As NotesDocument   
   Dim item As NotesItem
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String
   Dim i As String
   Dim cTrenn As String, cText As String, cDate As String, cError As String, cAusgabe As String
   Dim cSelection As String
   Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim lDate As Long
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim PathFileName As String
   Dim csvFilename As String
   Dim kundennummer As String
   Dim oNeuDoc As NotesDocument
   
   Set db=session.CurrentDatabase
   Set view = db.GetView ("vwKundeKur" )
   Set oHeute = New NotesDateTime(Now)                     ' *** Akt. Datum   
   
   pathName$ = "E:\TestKUR\Label\*"
   cFilename$ = Dir$(pathName$ & "*.csv", 0)
   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   
   Do While cFilename$ <> ""
      If  Isempty(cFilename$) Then
         Exit Sub
      End If    
      PathFileName = "E:\TestKUR\Label\" & cFilename$
      
      i = i + cTrenn
      iZaehler = iZaehler + 1      
      'lese erste zeile
      fileNum% = Freefile()
      Open PathFileName For Input As filenum  
      Seek filenum,1  
      Line Input #filenum, i
      
      Call ReadFields(i)                                    ' *** neuer Datensatz lesen         
      
      kundennummer = cImString(1)            'Kundennummer zwischenspeicher
      
      cSelection = "FORM = ""maKundenetikett"" & doc.fdCustNo = kundennummer"
      Set dc = db.Search ( cSelection , dtCutOff , 0 )   
      
      ' **** Wenn Kundennummer in der Ansicht = Kundennummer aus der csv Datei dann... ***********
      Set doc = doc.GetFirstDocument()
      If Not doc Is Nothing Then
         Call FillFields(doc,i)      
         On Error Goto ErrorPrint
         Call doc.save(False,True)      
      End If
      
      cFilename$ = Dir$()
   Loop
   
EndeGut:
   Close filenum
   Print cText
   Goto EndeAlles
ErrorPrint:  
   Resume Next
   Print cError
EndeFileOpen:
   Goto EndeAlles
EndeAlles:
   Exit Sub
End Sub

klaussal:

--- Zitat ---set doc = doc.getfirstDocument bekomme ich schon eine Fehlermeldung
--- Ende Zitat ---

muss wohl heissen   .. = namedeinerview.getfirst...

Vielleicht solltest du hier mit getdocumentbykey arbeiten.

Alperen15:
meinst du Set doc = vwKundeKur.getfirstdocument() ??

Alperen15:
a ja jetzt hab ichs moment mal debuggen wies jetzt aussieht

Alperen15:
also jetzt habe ich es mal so....ich mache es Schritt für Schritt wies sich auch für einen Anfänger gehört. Momentan liest der Agent alle Datensatz in der Datei stumpf durch. Laut debugger stimmt es auch so weit. Jetzt möchte ich in meine Ansicht die ich erstellt habe. Er soll den Kundennummer von der Datei nehmen schauen ob es die Kundennummer auch in der Ansicht gibt. Wenn ja dann fülle die Felder von der Datei in das Dokument.

Dim session As New  NotesSession
   Dim db As NotesDatabase   
   Dim dc As NotesDocumentCollection
   Dim view As NotesView
   Dim doc As NotesDocument   
   Dim item As NotesItem
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String
   Dim i As String
   Dim cTrenn As String, cText As String, cDate As String, cError As String, cAusgabe As String
   Dim cSelection As String
   Dim dtCutOff As New NotesDateTime("31.12.1900")
   Dim lDate As Long
   Dim cpathName As String
   Dim cFilename As String
   Dim Pathname As String
   Dim PathFileName As String
   Dim csvFilename As String
   Dim kundennummer As String
   Dim oNeuDoc As NotesDocument
   
   Set db=session.CurrentDatabase
   Set view = db.GetView ("vwKundeKur" )
   Set oHeute = New NotesDateTime(Now)                     ' *** Akt. Datum   
   
   pathName$ = "E:\TestKUR\Label\*"
   cFilename$ = Dir$(pathName$ & "*.csv", 0)
   
   iZaehler = 1
   cTrenn = ";"                                                              ' *** Definition des Trennzeichens
   
   If  Isempty(cFilename$) Then
   Exit Sub
   End If     
   PathFileName = "E:\TestKUR\Label\" & cFilename$
   
           
      'lese erste zeile
   fileNum% = Freefile()
   Open PathFileName For Input As filenum   
   Seek filenum,1   
   
   Do Until Eof (filenum)
      Line Input #filenum, i
      If i <> "" Then
         i = i + cTrenn
         iZaehler = iZaehler + 1
         Call ReadFields(i)                                    ' *** neuer Datensatz lesen
      End If
         
      
      ' **** Wenn Kundennummer in der Ansicht = Kundennummer aus der csv Datei dann... ***********
      
   Loop
   
EndeGut:
   Close filenum
   Print cText
   Goto EndeAlles
ErrorPrint:   
   Resume Next
   Print cError
EndeFileOpen:
   Goto EndeAlles
EndeAlles:
   Exit Sub
End Sub

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln