20. september 2005 - 13:53Der er
4 kommentarer og 2 løsninger
GetDocumentByKey med flere parametre/dimensioner
Hej i kloge mennesker
Jeg er ved at lave en agent (faktisk en webservice) der skal checke om en record med en given id findes og opdate den (ellers oprette og opdatere).
Jeg har hele tiden fået det til at køre ved et view med id og navn, hvori jeg laver dette opslag.
'Check om dette firma tidligere er overført... key = id Set newdoc = checkview.getdocumentbykey(key, True) If newdoc Is Nothing Then 'opretter document hvis det ikke er der i forvejen Set newdoc = New notesdocument(db) ... End If 'SELVE OPDATERINGEN som er ens om det er et nyt doc eller ej .... ...
------------
Jeg prøver nu at udvide den til både at medtage ID og SourceSystem (string)
keys( 1 ) = SourceSystem keys( 2 ) = Id
Set newdoc = checkview.getdocumentbykey(keys, True)
If newdoc Is Nothing Then ... -----------------
Denne ender altid med at oprette et nyt dokument - fremfor at finde det gamle. Jeg har lavet et view i denne forbindelse, der har system, id og navn som sorteret kolonner...
Er der nogle der har en ide om hvorfor den ikke finder de gamle dokumenter? Er der noget jeg har glemt.
christian har ret. LS arrays starter altid ved 0, medmindre du ændrer det ved at angive Option Base 1 i Options afsnittet.
Jeg vil dog fraråde dig at anvende denne teknik. Jeg vil personlig kun anvende den når jeg skal integrere med en eksisterende applikation hvor der allerede findes en oversigt som er sorteret på denne måde. Hvis du har fri råderet over applikationen, så vil jeg anbefale dig at anvende en "nøglet" kolonne, som sorterer dokumenter sådan: _s := "¤"; SourceSystem +_s+ Id eller Id +_s+ SourceSystem alt efter hvad der vil gøre debugning nemmere.
Grunden til det er at denne oversigt vil kunne anvendes både fra LotusScript, Java OG @Formula. Det sidste er meget vigtigt for mig, specielt fordi @DbLookup anvender multiple nøgler på en HELT anden måde. Hvis du slår op med flere nøgler i @DBLookup får du en liste tilbage, som svarer til en konkateneret DbLookup med hver enkelt nøgle. Men generelt er det rart at kunne anvende de samme opslagsoversigter både til LS og @Formula. Og @DbLookup kan IKKE slå op med flere kolonner som nøgle.
Bingo så kører det via den ene kolonne... (Skulle lige lave en trim$() også), da mit id gik fra tallet 100 til teksten ' 100' og dermed ikke var ens... Tak for hjælpen, jeg giver flest points til Jogii da det var den del der hjalp mig videre...
jeg overvejede det, men det var på Id'en og det var den der virkede fint med en dimension. Jeg tror faktisk også den lavede opslaget som nummer fremfor tekst på det tidspunkt..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.