Autor Thema: Problem mit "" bei Import  (Gelesen 1825 mal)

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Problem mit "" bei Import
« am: 23.03.07 - 12:31:21 »
Hallo,
es ist mal wieder Freitag und ich seh den Wald vor Bäumen nicht und bräuchte mal wieder einen kleinen Schubser. Ich importiere einen Ascii-File der die werte mit Tabulatoren getrennt enthält. Soweit kein Problem. Jetzt sind aber manche Werte in diesem Ascii-File mit Hochkommas umgeben und manche nicht. Die Hochkommas möchte ich natürlich nicht in meinen Notesfelder drin stehen haben, sondern nur den reinen Text. Ich bring das irgendwie nicht hin.
Anbei das Script, das schon dabei aussteigt, wenn ich den Beginner auslesen will.
Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As notesDatabase
   Dim doc As NotesDocument
   Dim doc2 As NotesDocument
   Dim view As NotesView
   Dim  thr_rec(1 To 11)
   Set db = session.currentdatabase
   Set docDummy=New NotesDocument(db)
   fileNum% = Freefile()
   counter% = 0
   filename= ws.OpenFileDialog(False, "Bitte Importdatei auswählen !", "", "c:")
   If filename(0) ="" Then
      Msgbox "Dateiname nicht angeben !"
      Exit Sub
   End If
   Open filename(0) For Input As fileNum%
   Do While Not Eof(fileNum%)
      Line Input #fileNum%, txt$
      counter% = counter% + 1
   Loop
   
   Seek fileNum%, 1
   For countRec% = 1 To counter%-1
      spos=1
      epos=1
      string2 = Chr$(34)
      string1 = Chr$(9)
      i = 1
      j = 11
      Line Input #fileNum%, txt$
      epos =Instr ( spos,   txt$, string1)
      
      Do
         length = epos - spos
         thr_rec(i)=Trim(Mid (txt$, spos,length))
         beginner = Evaluate( | @Left("| + thr_rec(i) + |";1)|)

'hier versuch ich die Hochkommas anhand der Position gar nicht erst in den String zu lesen
'Aber es kommt der Fehler: Operation failed, wenn es mit einem Hochkomma beginnt.
         If beginner(0) = string2 Then
            thr_rec(i)=Trim(Mid (txt$, spos+1,length-1))
         End If
         spos = epos + 1
         epos =Instr ( spos,   txt$, string1)
         i = i+1
      Loop Until epos = 0
      Set doc = New NotesDocument(db)
      doc.Form="Videos"     
      doc.AN = thr_rec(1)
      doc.NA = thr_rec(2)      
      doc.NA1 = Strleft(doc.NA(0),",")
      doc.TI = thr_rec(3)
      doc.DA = thr_rec(4)
      doc.AB = thr_rec(5)
      doc.CL = thr_rec(6)
      doc.CO = thr_rec(7)
      doc.CH = thr_rec(8)
      doc.ME = thr_rec(9)
      doc.LE = thr_rec(10)
      doc.LI = thr_rec(11)
      
      Call doc.save(True,True)         
      
   Next
   Print countRec%
   Close fileNum%

Vielen Dank


Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Problem mit "" bei Import
« Antwort #1 am: 23.03.07 - 12:45:48 »
Hmmm, warum nimmst du nicht zu entfernen ein Replacesubstring ? Das könntest du doch einfach vor dem schreiben in die Felder drüber laufen lassen und schon hast du die Werte ohne Hochkomma.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Driri

  • Gast
Re: Problem mit "" bei Import
« Antwort #2 am: 23.03.07 - 12:48:23 »
Mach doch einfach ein Replace vorher.


Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Problem mit "" bei Import
« Antwort #3 am: 23.03.07 - 14:00:09 »
Ich sags ja der Waldd vor Bäumen. Ich hatt mich so drauf konzentriert, dass ich das über die Positionen regle, dass ich diese Möglichkeit nicht gesehen hab. Das Replace war genau das richtige. Was wär ich ohne dieses Forum. Vielen Dank und schönes Wochenende.
Gruß Klaus

Offline geissbock

  • Aktives Mitglied
  • ***
  • Beiträge: 131
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Problem mit "" bei Import
« Antwort #4 am: 26.03.07 - 09:42:59 »
Hallo,
ich hab doch noch mal 2 Nachfragen zum Import.
1. Die Datensätze sind in der Datei mit Zeilenumbrüchen markiert. Die einzelnen Feldinhalte mit Tabulatoren. Das Script oben importiert mir jetzt nicht den letztenFeldinhalt. Warum nicht?
2. Die Importdateien sind wohl inkonsisetent. Das heisst, manchmal kommt auch ein Zeilenumbruch mitten in einem Datensatz vor. Und teilweise dann noch eine Leerzeile. Wie fängt man denn sowas am besten ab?
Vielen Dank

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz