Domino 9 und frühere Versionen > ND6: Entwicklung
Beim einlesen von CSV-Datei Zeilen addieren
john doh:
Hallo zusammen,
die CSV sieht ungefähr so aus:
...;"14";...;"Rechnungbetrag Firme 1";...;15,99 €
...;"14";...;"blah blah";...;
...;"14";...;"blah blah";...;
...;"14";...;"Rechnungbetrag Firme 2";...;;;0,99 €
...;"14";...;"blah blah";...;
...;"14";...;"Rechnungbetrag Firme 3";...;;100,99 €
Mein Problem sieht so aus, alle Zeilen mit gleicher Kartennr (in diesem Fall 14) und dem Wort "Rechnungsbetrag" sollen addiert werden. Die Eurobeträge stehen an VERSCHIEDENEN Positionen.
Das ist mein bisherigen Code:
Sub Initialize
Dim uiws As New NotesUIWorkspace
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Dim view As NotesView
Dim fileNum As Integer
Dim fileName As Variant
Dim InputStr As String
Dim delimiter As String
Dim FieldArray As Variant
Set db = session.currentdatabase
Set view = db.GetView ("abgleich")
fileNum% = Freefile()
fileName = uiws.OpenFileDialog(True, "CSV-Datei auswählen", "CSV Files|*.CSV", "C:\")
delimiter = ";"
Open fileName(0) For Input As fileNum%
Line Input #1, InputStr$
Do While Not Eof(fileNum%)
Line Input #1, InputStr$
FieldArray = Split(Replace(inputstr$ ,Chr(34),""),delimiter,-1,0)
If Not Isempty(FieldArray) Then
If Instr (InputStr$,"Rechnungsbetrag") > 0 Then
Set doc = view.GetDocumentByKey(fieldarray(2))
If Not doc Is Nothing Then
Call doc.ReplaceItemValue("status", "Abgleich am "+Now)
Call doc.ReplaceItemValue("puffer", fieldarray(18))
Call doc.Save(True,True)
End If
End If
End If
Loop
Close fileNum%
End Sub
Ich hab nicht den leisesten Schimmer, wie ich das realisieren soll.
Matthias
koehlerbv:
Dann muss Du Dir einen Parser bauen:
- Prüfen, ob in Array (x) die gewünschte Kartennummer steht. Wenn nein -> nächste Zeile
- Prüfen, ob in FieldArray (y) "Rechnungsbetrag" steht. Wenn nein -> nächste Zeile
- Alle folgenden Elemente des Arrays durchsuchen, ob dort das Euro-Zeichen steht.
- Wenn ja, alle Zeichen ausser Ziffern und Komma eliminieren, Double-Wert bilden und addieren.
HTH,
Bernhard
john doh:
Der code aus meinen 1. Post, macht der das nicht (bis aufs addieren)?
Matthias
klaussal:
--- Zitat ---Der code aus meinen 1. Post, macht der das nicht (bis aufs addieren)?
--- Ende Zitat ---
Böse Falle. Seinen eigenen Code sollte man schon kennen + was der macht.
john doh:
@ Bernhard
Manchmal bin ich sooo doof. ;D
JETZT, wo ich endlich verstanden habe wie Du das meinst, werde ich mich voller Tatendrang dransetzen. Falls ich Schwierigkeiten haben sollte, werd ich nochmal nach Hilfe schreien.
Vielen Dank für den Schups in die richtige Richtung.
Matthias
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln