Autor Thema: CSV Import - Leerzeichen werden als neue Zeile interpretiert?  (Gelesen 1102 mal)

Offline smile.mon

  • Frischling
  • *
  • Beiträge: 31
Servus zusammen,

gibt es eine Option, dass Leerzeichen nicht als neue Zeile interpretiert werden?

.CSV Beispieldatei mit folgendem Inhalt. 

1;51110;Mannheim;StuttgarterStraße 100;EG
2;62220;Köln;Reihnuferstr.99;OG


Problem: im String "StuttgarterStraße 100" wird das Leerzeichen als neue Zeile interpretiert.
Keine Ahnung wieso. Eigentlich trivial, aber iwi für mich gerade nicht nachvollziehbar.
Client: 12.01., OS: win11

Jemand eine Idee?  :)

und hier der Code:

Option Public
Option Declare

Sub Initialize
   
   Const CS_FORM = "Test"
   
   Dim s As New NotesSession
   Dim uiws As New NotesUIWorkspace
   Dim db As Notesdatabase
   Dim doc As Notesdocument
   Dim filenum As Integer
     Dim vfilePath As Variant
   Dim v1 , v2, v3 As Variant
     
    Set db = s.currentdatabase
   
    vFilePath = uiws.OpenFileDialog(False, "Please choose an csv file","*.csv", "c:\temp")
   
   If Not(IsArray(vFilePath)) Then Exit Sub
   
   filenum% = FreeFile()

   Open vFilePath(0) For Input As filenum%
                  
   Do Until EOF(filenum%)

       Input #filenum%, v1
      
      Set doc = db.createdocument
       Call doc.replaceItemValue("f1", v1)
      Call doc.replaceItemvalue("form", CS_FORM)
       Call doc.save(True,True)
                           
    Loop
   
    Exit Sub
            
End Sub






pantelis.botsas

  • Gast
Nur ein Verdacht:

Kann es sein, dass das Feld F1 in Deiner Maske, als Feld mit Merhfachwerten konfiguriert wurde und als Trennzeichen für Mehrfachwerte ein Leerzeichen eingestellt ist?

Offline Riccardo Virzi

  • Junior Mitglied
  • **
  • Beiträge: 70
Ich vermute auch, daß das Feld F1 ein Mehrfachwerte Feld ist und das Leerzeichen als Trenner definiert ist.

Du kannst ganz einfach testen, ob der Fehler vom Skript kommt. Am einfachsten kürzt Du dafür die CSV-Datei auf eine Zeile mit einem Leerzeichen. Danach kannst Du Dir entweder im Debugger den Wert der Variablen v1 ansehen. Oder Du gibst den Inhalt mit "Print( v1 )" nach "Input #filenum%, v1" in der Statuszeile aus.

Wenn wir Recht haben, bekommst Du die komplette Zeile inkl. dem Leerzeichen angezeigt. Dann mußt Du in den Maskeneigenschaften das Leerzeichen als Trenner im Feld F1 entfernen.

Offline smile.mon

  • Frischling
  • *
  • Beiträge: 31
bin von der Hilfe auf den falschen Dampfer geschickt worden.  :-\

https://help.hcltechsw.com/dom_designer/11.0.1/basic/LSAZ_LINE_INPUT_LB_STATEMENT.html

When reading a multiline string from a sequential file, use the Input # statement, not the Line Input # statement.

mit line input (statt nur input) funktioniert es...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz