Domino 9 und frühere Versionen > ND6: Entwicklung
Beim einlesen von CSV-Datei Zeilen addieren
john doh:
--- Zitat von: koehlerbv am 07.07.08 - 11:09:52 ---- 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
--- Ende Zitat ---
Soweit alles hinbekommen, nur das mit dem addieren will nicht so klappen.
DerAndre:
Was bedeutet nicht so klappen?
john doh:
Es bleiben zwei Double-Werte (rest) übrig. Diese hätte ich jetzt versucht mit evaluate("@sum(rest)") zu addieren.
john doh:
Sub Initialize
Dim uiws As New NotesUIWorkspace
Dim session As New notessession
Dim db As notesdatabase
Dim fileNum As Integer
Dim fileName As Variant
Dim InputStr As String
Dim FieldArray As Variant
Dim rest As Double
Set db = session.currentdatabase
fileNum% = Freefile()
fileName = uiws.OpenFileDialog(True, "CSV-Datei auswählen", "CSV Files|*.CSV", "C:\!zeug!")
Open fileName(0) For Input As fileNum%
Line Input #1, InputStr$
Do While Not Eof(fileNum%)
Line Input #1, InputStr$
If Instr (inputstr$,"43409699") Then
If Instr (inputstr$,"Rechnungsbetrag") Then
fieldarray = Replace(Right(inputstr$,10) ,";","")
rest = Evaluate("@sum(fieldarray)")
Call CreateDocument(db, rest)
End If
End If
Loop
Close fileNum%
End Sub
Als Ergebnis bekomme ich zwei Zeilen mit 0. Es soll aber eine Zeile mit 80,19 herauskommen. In "Fieldarray" stehen zwei Werte, 79,45 und 0,74. Wo mache ich den oder die Fehler?
Matthias
MadMetzger:
In dem Evaluate liegt der Fehler. Schau dir mal die Hilfe dazu an. Kleiner Hinweis: Erzeuge dir ein temporäres Dokument in dessen Kontext das Evaluate laufen kann. Da kannst du dann dein Field-Array als Item hinterlegen und Schwupps sollte es funken.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln