Autor Thema: Upload Agent funktioniert nicht  (Gelesen 4838 mal)

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Upload Agent funktioniert nicht
« am: 19.04.12 - 14:39:31 »
Hallo alle zusammen,

ich habe vor Monaten einen Upload Agenten in Notes programmiert. Und schon seit Monaten mach ich nichts mehr mit Notes. Jetzt bekomme ich folgende Fehlermeldung, wenn ich den Agenten starte "Object variable not set" im Quellcode habe ich es markiert.

Sub Initialize   
   Dim session As New NotesSession
   Dim db As NotesDatabase   
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim rtitem As NotesRichTextItem, SendRtitem As NotesRichTextItem
   Dim itemReaders As NotesItem, itemReaders2 As NotesItem
   Dim object As NotesEmbeddedObject
   Dim row As Integer, written As Integer ,iWCount As Integer
   Dim colsum As Currency, colsum2 As Currency, colval As Currency, colname As Currency
   Dim Excel As Variant, xlWorkbook As Variant, xlSheet As Variant, vIntLeser(3) As Variant
   Dim One As String,  xlFilename As String
   Dim cRechname As String, cPathname As String
   Dim tmpKundennr As String
   Dim vdoc As NotesDocument
   Dim   i As String
   Dim filenum As Integer
   Dim pathName As String
   Dim cFilename As String
   Dim PathFileName As String
   
   pathName$ = "K:\LCU-Sales issue - commercial data\*"
   cFilename$ = Dir$(pathName$ & "*.xls", 0)
   PathFileName = "K:\LCU-Sales issue - commercial data\" & cFilename$
   
   iWCount = 1
   Set db = session.CurrentDatabase
   Set Excel = CreateObject( "Excel.Application" )      
   '  *** ---------------------- öffnet Excel File ---------------------------
   Excel.Visible = False
   
   Excel.Workbooks.Open PathFileName
   Set xlWorkbook = Excel.ActiveWorkbook
      'Set xlSheet = xlWorkbook.Worksheets(1)
   
   Set xlSheet = xlWorkbook.ActiveSheet                          ' *** Nur ein Sheet - wird hier definiert
   row = 2      
   
   With xlSheet
      
      tmpKundennr = .Cells( row, 1 ).Value
      Set view = db.GetView ("vwLogistik")
      While tmpKundennr <> ""
         'tmpKundennr = .Cells( row, 1 ).Value
         Set vdoc = view.GetDocumentByKey(tmpKundennr)         
         'If Not vdoc Is Nothing Then
         If   vdoc Is Nothing Then
            vdoc.Form = "maLCU"    --> Da kommt die Fehlermeldung          vdoc.txCustNo = .Cells( row, 2 ).Value
            vdoc.txCustName = .Cells( row, 3 ).Value                   
            vdoc.fdMandant = .Cells( row, 4 ).Value                 
            vdoc.fdAnzahlMA = .Cells( row, 5 ).Value       
            vdoc.fdBranche = .Cells( row, 6 ).Value               
            vdoc.fdAPKunde = .Cells( row, 7 ).Value               
            vdoc.fdUmsatzAktiv = .Cells( row, 8 ).Value
            vdoc.fdUmsatzPassive = .Cells( row, 9 ).Value
            vdoc.fdUmsatzEMechanik = .Cells( row, 10 ).Value
            vdoc.fdUmsatzTotal = .Cells( row, 11 ).Value
            vdoc.fdMargeAktiv = .Cells( row, 12 ).Value
            vdoc.fdMargePassive = .Cells( row, 13 ).Value
            vdoc.fdMargeEMechanik = .Cells( row, 14 ).Value
            vdoc.fdUmsatzAktiv_1 = .Cells( row, 15).Value
            vdoc.fdUmsatzPassive_1 = .Cells( row, 16 ).Value
            vdoc.fdUmsatzEMechanik_1 = .Cells( row, 17 ).Value
            vdoc.fdUmsatzTotal_1 = .Cells( row, 18 ).Value
            
            vdoc.fdMargeAktiv_1 = .Cells( row, 19 ).Value
            vdoc.fdMargePassive_1 = .Cells( row, 20 ).Value
            vdoc.fdMargeEMechanik_1 = .Cells( row, 21 ).Value
            vdoc.fdUmsatzAktiv_2 = .Cells( row, 22 ).Value
            vdoc.fdUmsatzPassive_2 = .Cells( row, 23 ).Value
            vdoc.fdUmsatzEMechanik_2 = .Cells( row, 24 ).Value
            
            vdoc.fdUmsatzTotal_2 = .Cells( row, 25 ).Value
            vdoc.fdMargeAktiv_2 = .Cells( row, 26 ).Value
            vdoc.fdMargePassive_2 = .Cells( row, 27 ).Value
            
            vdoc.fdMargeEMechanik_2 = .Cells( row, 28 ).Value
            vdoc.fdAnzahlMA = .Cells( row, 29 ).Value
            vdoc.fdAPKunde = .Cells( row, 30 ).Value
            vdoc.fdInnendienst = .Cells( row, 31 ).Value
            vdoc.fdAussendienst = .Cells( row, 32 ).Value
            
            Call vdoc.save(False,True)   
            row = row + 1
            tmpKundennr = .Cells( row, 1 ).Value
         Else
            row = row + 1
            tmpKundennr = .Cells( row, 1 ).Value
         End If
         
         
      Wend
   End With 
NextDoc:
      ' *** Disconnecting from Excel...            
   xlWorkbook.Close False          
   Excel.Quit
   Set Excel = Nothing
End Sub

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Upload Agent funktioniert nicht
« Antwort #1 am: 19.04.12 - 14:40:18 »
Ich wäre euch sehr dankbar, wenn ihr mir weiterhelfen könnt. Danke im voraus

Glombi

  • Gast
Re: Upload Agent funktioniert nicht
« Antwort #2 am: 19.04.12 - 14:43:38 »
If   vdoc Is Nothing Then
ist natürlich Unsinn, wenn kein
set vdoc = db.CreateDocument
folgt.

Oder muss es doch
If Not vdoc Is Nothing
heissen? Das musst Du beurteilen.

Das kann aber noch nie funktioniert haben.

Andreas


Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Upload Agent funktioniert nicht
« Antwort #3 am: 19.04.12 - 14:45:19 »
Hallo,

Warum Fragst Du ab, ob vdoc Nothing ist, und wenn Nothing, um dann mit dem besagten Objekt weiterzuarbeiten, als ob
es erfolgreich gesetzt ist?


Andreas

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Upload Agent funktioniert nicht
« Antwort #4 am: 19.04.12 - 15:03:19 »
klar das falsche war auskommentiert

If Not vdoc Is Nothing ist richtig, jetzt wird allerdings kein dokument erstellt obwohl das dokument mit derselben Kundennummer verfügbar ist in der Exceldatei

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Upload Agent funktioniert nicht
« Antwort #5 am: 19.04.12 - 15:09:08 »
Was soll der Code denn eigentlich machen?

Du sprichst jetzt davon, dass kein Dokument erstellt wird.
Das macht der Code doch auf den ersten Blick nicht.

Nur wenn in der Ansicht bereits ein Dokument gefunden wird, wird dieses mit den Daten aus dem Excel-File
aktualisiert.
Wird nichts in der Ansicht gefunden, wird auch nichts erstellt bzw. aktualisiert.


Andreas

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Upload Agent funktioniert nicht
« Antwort #6 am: 19.04.12 - 15:16:30 »
genau dass soll auch gemacht werden. Wenn ein Dokument gefunden wird, soll dieses Dokument aktualisiert werden.

Ich habe aber ein Dokument und in der Excelfile die Kundennummer (key) trotzdem wird nichts aktualisiert

klaussal

  • Gast
Re: Upload Agent funktioniert nicht
« Antwort #7 am: 19.04.12 - 15:21:02 »
Kommt die Kd-Nr in der Ansicht vor ?
Ist die Notes-Kd-Nr 100% identisch zu der im Excel-File ?

Was "sagt" der Debugger ?

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Upload Agent funktioniert nicht
« Antwort #8 am: 19.04.12 - 15:25:44 »
Ich schliesse mich der Frage an, was der Debugger sagt.

Wird die Nummer, auch wenn vorhanden, in der Ansicht ueberhaupt gefunden?


Andreas

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Upload Agent funktioniert nicht
« Antwort #9 am: 23.04.12 - 08:50:05 »
... wenn du 

If  Not vdoc Is Nothing Then

verwendest, und die Fehlermeldung in der Zeile kommt mit "Object variable not set", dann hört sich das seltsam an.

Prüfe mal mit vdoc.IsValid - eventuell hast du einen deletion stub erwischt.

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz