Domino 9 und frühere Versionen > ND6: Entwicklung

Dokument suchen und Daten ändern

<< < (23/26) > >>

DerAndre:
Ja, denn die Ausgabe der Fehlermeldung erfolgt im wahrsten Sinne des Wortes Bedingugslos

Nach dem loop ein else.
Wenn dann aktfile = "" dann kommt die Meldung

DAU-in:
Aber gerne!!!

   If aktfile <> "" Then
      Open aktfile For Input As fileNum%
      Line Input #1,  InputStr$   
      Do While Not Eof(fileNum%)
         
         Line Input #1,  InputStr$
         FieldArray = Split(InputStr$,delimiter, -1, 0)
         If Not Isempty(FieldArray) Then
            Set doc = view.GetDocumentByKey(FieldArray(2))
            If Not doc Is Nothing Then
               Call doc.ReplaceItemValue("Bestelldatum", Today)
               Call doc.Save(True,True)
            End If
         End If
      Loop
      Messagebox "Datei nicht vorhanden", 16, "Fehler"   End If
   Close fileNum%
End Sub



Klassischer Abstauber  ;D

grüsse

Dau-in

lotus blue:

--- Zitat von: DerAndre am 21.07.08 - 14:01:05 ---Ja, denn die Ausgabe der Fehlermeldung erfolgt im wahrsten Sinne des Wortes Bedingugslos

Nach dem loop ein else.
Wenn dann aktfile = "" dann kommt die Meldung

--- Ende Zitat ---

Ah jetzt ja eine Insel  ;D ;D :-X

Grazie es funzt

lotus blue:
Hi Leute.
Das Script läuft ja seit Wochen ach was seit Monaten  ;D ;D
nun will/muss ich es noch ein wenig umbauen, da die Datenmenge zugenommen hat.

Zunächst:
Das Script holt sich die zu überprüfende TXT und überprüft Zeile für Zeile ob eine Produktnummer vorhanden ist, wenn ja setzt es in dem Dok mit der Produktnummer einen Feldwert.
Dann überprüft das Script die nächste Zeile usw.

Die importierende Datei ist so aufgebaut, dass
in einer Zeile die Produktnummer und der Name Lager steht.
In den Folgezeilen jeweils die gleiche Produktnummer und ein Zahlencode.
Beim Nächsten Produkt dann wieder die Nummer und Lager.

quasi so:
123456789=Lager
123456789;589QERC568996699
123456789;58322UZRD255D22D
123456789;5633366DACC22222
123456789;DS55663771111563
081508150=Lager
081508150;66589555ERTV5523
.......
Im Grunde muss er sich mit den Folgezeilen nicht lange aufhalten.
1.Wie realiesiere ich es am Besten, dass er nur immer die Zeilen, in der "Lager" steht , die Nummer holt und im Dok den Feldwert ändert?
Da würde ich doch ne Menge an Performance sparen.

2.In dem Ordner in dem die zu überprüfende TXT liegt gibt es mehrere Dateien,
die soll er alle der Reihe nach abarbeiten. Bisher war es nur eine.


Hier das bisher eingesetzte Script:
Sub Initialize
   Dim session As New notessession
   Dim db As notesdatabase
   Dim doc As Notesdocument, profdoc As Notesdocument
   Dim Dateipfad As String, aktfile As String
   Dim fileNum As Integer, cells As Integer, k As Long
   Dim fileName As String
   Dim InputStr As String, delimiter As String
   Dim FieldArray As Variant
   Dim view As NotesView
   
   Set db = session.currentdatabase
   Set profdoc = db.getprofiledocument("(Konfiguration)")
   Dateipfad = profdoc.Dateipfad_1(0)
   fileNum = Freefile()
   Set view = db.GetView ("Alle Bestellungen")
   
'Trennzeichen
   delimiter = ";"
   
   aktfile = Dateipfad
   If aktfile <> "" Then
      Open aktfile For Input As fileNum%
      Line Input #1,  InputStr$   
      Do While Not Eof(fileNum%)
         
         Line Input #1,  InputStr$
         FieldArray = Split(InputStr$,delimiter, -1, 0)
         If Not Isempty(FieldArray) Then
            Set doc = view.GetDocumentByKey(FieldArray(2))
            If Not doc Is Nothing Then
               Call doc.ReplaceItemValue("Bestelldatum", Today)
               Call doc.ReplaceItemValue("History", Today)
               Call doc.Save(True,True)
            End If
         End If
      Loop
   Else

Gruß Jason

klaussal:
Zu 1: If....... = "Lager" then tue irgendetwas else weiterlesen.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln