Autor Thema: Checkbox aus CSV Datei importieren  (Gelesen 3514 mal)

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Checkbox aus CSV Datei importieren
« am: 12.12.14 - 08:38:32 »
Einen wunderschönen Freitag,

passend zum Wochenausklang habe ich für euch noch eine vielleicht leichte Frage.
Ich habe eine neue Datenbank, die ich mit Daten aus einer CSV Datei füllen möchte.
Soweit so gut, eigentlich klappt alles... und jetzt das große ABER
Ich habe eine Checkbox die für die Kategorisierung der Daten zuständig ist.

Die Möglichkeiten der Checkbox sind die folgenden:
"Armaturen" "Kunststoff" und "Stahl / Edelstahl"

Solange die Kategorien nur einzeln sind werden sie beim Import sauber übernommen und auch als gewählte Kategorie angezeigt.

Mein Problem ist, dass ich nicht weiß, wie ich mehrere Kategorien übernehmen kann.
Ich habe es versucht indem ich die Kategorien auf verschiedenster Art angereiht habe..
Armaturen;Kunststoff | Armaturen,Kunststoff | Armaturen; Kunstoff und und und...

Könnt ihr mir da vielleicht weiterhelfen?

Anbei noch meinen ImportCode, der über einen Agenten gesteuert ist.

Besten Dank im Voraus! ;)


Sub Initialize
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim document As  NotesDocument
   Set db = session.CurrentDatabase
   Set document = db.CreateDocument
   Set profiledoc = db.GetProfileDocument( "Konfig" )
   Dim Firmen() As String
   Dim fggroesse As Integer
   
   
   Dim bpl As String
   Dim fg As Variant
   Dim pfad As Variant
   
   
   
   
   impfile = Inputbox("Eingabe","Dateiimport","c:\Import\IndustrieProjekte.csv")
      'impfile = pfad(0)+"f"+Firmen(i)+".csv"
   intNum = Freefile()
   
   Open impfile For Input As intNum
   
   Do While Not Eof(intNum)
      Set document = db.CreateDocument
      document.form="IProjekt"
      Line Input #intNum, strZeile
      
      document.Kunde_0 = Fulltrim (Strtoken(strZeile, ";",1))
      document.Kundennummer_0 = Fulltrim(Strtoken(strZeile, ";",2))
      document.Status = Fulltrim (Strtoken(strZeile, ";",3))
      document.Ansprechpartner_0 = Fulltrim (Strtoken(strZeile, ";",4))
      document.Ansprechpartnertel_0 = Fulltrim (Strtoken(strZeile, ";",5))
      document.Planer = Fulltrim (Strtoken(strZeile, ";",6))
      document.Planertel = Fulltrim (Strtoken(strZeile, ";",7))
      document.Angebotsnummer = Fulltrim (Strtoken(strZeile, ";",8))
      document.Angebotsdatum = Fulltrim (Strtoken(strZeile, ";",9))
      document.Projektnummer = Fulltrim (Strtoken(strZeile, ";",10))
      document.Projektbezeichnung = Fulltrim (Strtoken(strZeile, ";",11))
      document.Wiedervorlage = Fulltrim (Strtoken(strZeile, ";",12))
      document.Vam_0 = Fulltrim (Strtoken(strZeile, ";",13))
      document.VIM_0 = Fulltrim (Strtoken(strZeile, ";",14))
      document.Wert = Fulltrim (Strtoken(strZeile, ";",15))
      document.NIntern = Fulltrim (Strtoken(strZeile, ";",16))
      document.Kategorie = Fulltrim (Strtoken(strZeile, ";",17))
      Call document.Save(True,True)
      
   Loop
   
   
   
End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Checkbox aus CSV Datei importieren
« Antwort #1 am: 12.12.14 - 08:54:00 »
Du musst im Fall mehrerer Keywords ein entsprechend dimensioniertes Array bilden und dieses LS-Array dem Item Kategorie zuweisen.

Bernhard

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Re: Checkbox aus CSV Datei importieren
« Antwort #2 am: 12.12.14 - 09:21:05 »
Danke Bernhard,

nun informiere ich mich mal über dimensionierte Arrays :)
Hab ich leider noch nie genutzt.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Checkbox aus CSV Datei importieren
« Antwort #3 am: 12.12.14 - 09:35:23 »
Dynamic Arrays in der DesignerHelp, Dim und Redim als weitere Begriffe.

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Re: Checkbox aus CSV Datei importieren
« Antwort #4 am: 12.12.14 - 10:09:24 »
Vielen Dank ;)
Ich habe mich informiert und bin zu der folgenden Lösung gekommen...

      Dim kategorie(2) As String
      kategorie(0) = Fulltrim (Strtoken(strZeile, ";",17))
      kategorie(1) = Fulltrim (Strtoken(strZeile, ";",18))
      kategorie(2) = Fulltrim (Strtoken(strZeile, ";",19))
      
      document.Kategorie = kategorie

Damit wird die Checkbox richtig gefüllt.

Ich bedanke mich und wünsche ein schönes Wochenende ;)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Checkbox aus CSV Datei importieren
« Antwort #5 am: 12.12.14 - 11:18:59 »
Und was machst Du, wenn das Importfile noch ein Keyword oder zwei liefert?

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Re: Checkbox aus CSV Datei importieren
« Antwort #6 am: 12.12.14 - 13:14:34 »
Das ist ausgeschlossen, da es nur die 3 Kategorien gibt. :D

Offline ERR

  • Frischling
  • *
  • Beiträge: 46
  • Geschlecht: Männlich
Re: Checkbox aus CSV Datei importieren
« Antwort #7 am: 12.12.14 - 15:37:26 »
Vielen Dank ;)
Ich habe mich informiert und bin zu der folgenden Lösung gekommen...

      Dim kategorie(2) As String
      kategorie(0) = Fulltrim (Strtoken(strZeile, ";",17))
      kategorie(1) = Fulltrim (Strtoken(strZeile, ";",18))
      kategorie(2) = Fulltrim (Strtoken(strZeile, ";",19))
      
      document.Kategorie = kategorie

Damit wird die Checkbox richtig gefüllt.

Ich bedanke mich und wünsche ein schönes Wochenende ;)

Hallo Michael,

sinnvoller wäre es trotzdem, wie in deinen ersten Versuchen, die Werte mit einem Komma getrennt zu verwenden. Dann hättest du es auch mit der folgenden Zeile hinbekommen:

Code
document.Kategorie = Split(Fulltrim (Strtoken(strZeile, ";",17)), ",")

Das Split mit dem Parameter "," teilt den String wieder in ein Array auf, das zur Feldzuweisung verwendet werden kann.

Als Entwickler tut es mir ein bisschen weh, wenn andere Entwickler sich mit der in dem Moment "simplen" Lösung zufrieden geben, denn an anderen Stellen funktioniert diese Lösung dann wieder nicht mehr (wie z.B. von Bernhard vorgetragen) und dann muss wieder eine weitere "simple" Lösung gebastelt werden, die eigentlich nicht nötig wäre... Der "einfache" Weg ist nicht immer der Beste.

MFG
ERR

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Re: Checkbox aus CSV Datei importieren
« Antwort #8 am: 16.12.14 - 09:20:30 »
Danke ERR,

für das nächste Mal werde ich diese Zeile anwenden  ;)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz