Thx Manou pour ton reply
Je viens juste de terminer ma chtite fonction de recherche
Bon je sais po si elle fonctionne mais je verrai bien.
Sinon j'ai regardé ce que faisait la fonction Search et en fait elle fait exactement ce que je veux et en plus c plus propre et moins bourrin que mon truc
Je te dis juste pour voir ce que tu en penses.
Alors allons-y:
-> Tout d'abord, je me pose une question à savoir si on peut sélectionner 2 BD pour une même session ??
ex:
-----
Set db_prod = session.GetDatabase("server","base" )
Set db_load = session.GetDataBase("server","base" )
Si c po possible, je suis po ds la merde moi déjà
->Ensuite...bon je te colle le code parceque c trop long à expliquer
Voilà, est-ce que je peux faire tourner ça ??
Sub Research ()
On Error Goto errhandle
Dim session As New NotesSession
Dim db_prod As NotesDatabase
Dim db_load As NotesDatabase
Dim view_prod As NotesView
Dim view_load As NotesView
Dim doccollection1 As NotesDocument
Dim doccollection2 As NotesDocument
Dim collection1 As NotesDocumentCollection
Dim collection2 As NotesDocumentCollection
Dim doc1 As NotesDocument
Dim doc2 As NotesDocument
Dim keys (0 To 1)
Set db_prod = session.GetDatabase("server","base" )
Set db_load = session.GetDataBase("server","base" )
'Log file creation
Set agentLog = New NotesLog ("LoadFast/Productional compare" )
Call agentLog.OpenNotesLog ("","logresearch.nsf" )
Call agentLog.LogAction("Beginning of comparison at " & Format(Now(),"Long Time" ))
Set view_prod = db_prod.GetView("$extractes210" )
Set view_load = db_load.GetView("$extractes210" )
Set doc1 = view_prod.GetFirstDocument
found :
While Not(doc1 Is Nothing)
keys(0) = doc1.salesmannum
keys(1) = doc1.custnum
Set collection2 = view_load.GetAllDocumentsByKey (keys,True)
Set doccollection2 = collection2.GetFirstDocument
If Not(doccollection2 Is Nothing) Then
While Not (doccollection2 Is Nothing) ' while we have a document in the collection
If Not(doc1.PCN(0) = doccollection2.PCN(0)) Then
Set doccollection2 = doccollection.GetNextDocumennt(doccollection2)
Else
'Document is still existing
Set doc1 = view_prod.GetNextDocument(doc1)
Goto found
End If
Wend
If (doccollection Is Nothing) Then
'Document not found
Call agentLog.LogAction("Product - " & doc1.proddesc & " - not found under Salesman - " & doc1.salesmanname & "at " & Format(Now(),"Long Time" ))
Set doc1 = view_prod.GetNextDocument(doc1)
Goto found
End If
Else
'Salesman or Custnum not found
Call agentLog.LogAction("Salesman - " & doc1.salesmanname & " - with custnum - " & doc1.custnum & " - not found at " & Format(Now(),"Long Time" ))
Set doc1 = view_prod.GetNextDocument(doc1)
End If
Wend
errhandle:
Print doc.custname(0) & " " & doc.countrycode(0) & " " & doc.mktcode(0) & " " & doc.salesmanname(0) & " " & doc.proddesc(0)
Print "Error" & Str(Err) & ": " & Error$
End Sub
---------------
Q.G Tutoriaux ici