Domino 9 und frühere Versionen > ND6: Entwicklung

Suche Weg die letzte Zeile einer Datei zu finden

(1/2) > >>

Kadlec:
Hallo,

vor dem Import einer csv Datei muss ich prüfen ob in einer Spalte zwei Werte stehen.
Der Wert steht in der fünften Spalte.
Wie komme ich am schnellsten an die letzte Zeile (ca. 30 000 Datensätze)?

Gruss
Boris

iukhdh:
Kopiers in ein Excel Tabellenblatt und sortiere nach der 5. Spalte absteigend.

jo@chim:
Versuchs mal so:

--- Code: --- Dim excelobj As Variant
Dim xlsheet As Variant
'Die Nr. der Rückgabespalte:
col= 5
                'Beliebige Datei (Semikolon getrennt):
fileName$ = "c:\meinedatei.csv"
Set excelobj= createObject("Excel.Application")
Call excelobj.Workbooks.OpenText(fileName$,,,,,,,True)
Set xlsheet = excelobj.Workbooks(1).Worksheets(1)
With xlsheet
lastrow= .Cells.SpecialCells(11).Row
lastval= .cells(lastrow,col).value
End With
Set excelobj=Nothing
Msgbox lastval
--- Ende Code ---
Das Script gibt den letzten Wert in Spalte 5 der Semikolon getrennten Datei "c:\meinedatei.csv" zurück.

Kadlec:
Ich wollte das mit so wenig wie möglich Code erledigen und wenn möglich ohne Umwege (Excel).
Mein Ansatz war/ist die Datei komplett einzulesen
HoleFile = Input(Lof(i_FileNum), i_FileNum)   
Dann mit strrightback...an den Anfang der Zeile.

Nur wie erkenne ich den Anfang??

tks:
Ich würde es mal so versuchen:

Dim InputStr As String
fileNum% = Freefile()
   fileName$ = "d:\import1.txt"

Open fileName$ For Input As fileNum%

Do While Not Eof(fileNum%)
      Line Input #1,  InputStr$
      Loop

In InputStr$ sollte nun der Inhalt der letzten Zeile stehen.

Ist aus einem von meinen Importagenten rausgeklaut und ohne Anpassung o.ä.
Geht wahrscheinlich auch eleganter. Evt. kann das Line Input auch hinter den Loop

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln