Efficient way to get data from lotus notes viewHow to export Rich Text fields as HTML from Notes with LotusScript?Peak detection in a 2D arrayWhy is reading lines from stdin much slower in C++ than Python?lotus notes 5 getdocumentbykey not working if view is open“Large data” work flows using pandasLotus Notes View with multiline data Export to ExcelHow to retrieve Lotus Notes attachments?How to export data from a IBM Lotus Notes Database using JavaGetting data from MS SQL database to Lotus Notes DatabaseGetting a view in lotus notes out of data from MySQL

Connection Between Knot Theory and Number Theory

PTIJ: Which Dr. Seuss books should one obtain?

Why is participating in the European Parliamentary elections used as a threat?

When is the exact date for EOL of Ubuntu 14.04 LTS?

Highest stage count that are used one right after the other?

Unfrosted light bulb

How can I, as DM, avoid the Conga Line of Death occurring when implementing some form of flanking rule?

Are hand made posters acceptable in Academia?

I keep switching characters, how do I stop?

How do you justify more code being written by following clean code practices?

Have any astronauts/cosmonauts died in space?

Why can't I get pgrep output right to variable on bash script?

What is the tangent at a sharp point on a curve?

A seasonal riddle

Output visual diagram of picture

How do I prevent inappropriate ads from appearing in my game?

What is the meaning of "You've never met a graph you didn't like?"

Magnifying glass in hyperbolic space

Sort with assumptions

C++ lambda syntax

1 John in Luther’s Bibel

"Marked down as someone wanting to sell shares." What does that mean?

Writing in a Christian voice

Would a primitive species be able to learn English from reading books alone?



Efficient way to get data from lotus notes view


How to export Rich Text fields as HTML from Notes with LotusScript?Peak detection in a 2D arrayWhy is reading lines from stdin much slower in C++ than Python?lotus notes 5 getdocumentbykey not working if view is open“Large data” work flows using pandasLotus Notes View with multiline data Export to ExcelHow to retrieve Lotus Notes attachments?How to export data from a IBM Lotus Notes Database using JavaGetting data from MS SQL database to Lotus Notes DatabaseGetting a view in lotus notes out of data from MySQL













1















I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:



import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)


To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.



And I tried second way with AllEntries, but it was even slower:



database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)


Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?










share|improve this question






















  • If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

    – Dave Delay
    Feb 23 at 15:01











  • Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

    – Ala Cris
    Feb 24 at 17:33











  • Where does your code run ? directly on the Domino server or on a client?

    – umeli
    Feb 25 at 9:50











  • I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

    – Ala Cris
    Feb 25 at 14:31











  • Then I suggest to replicate the database locally..

    – umeli
    Feb 26 at 9:25















1















I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:



import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)


To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.



And I tried second way with AllEntries, but it was even slower:



database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)


Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?










share|improve this question






















  • If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

    – Dave Delay
    Feb 23 at 15:01











  • Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

    – Ala Cris
    Feb 24 at 17:33











  • Where does your code run ? directly on the Domino server or on a client?

    – umeli
    Feb 25 at 9:50











  • I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

    – Ala Cris
    Feb 25 at 14:31











  • Then I suggest to replicate the database locally..

    – umeli
    Feb 26 at 9:25













1












1








1








I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:



import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)


To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.



And I tried second way with AllEntries, but it was even slower:



database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)


Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?










share|improve this question














I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:



import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)


To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.



And I tried second way with AllEntries, but it was even slower:



database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)


Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?







python lotus-domino lotusscript






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Feb 22 at 10:48









Ala CrisAla Cris

113




113












  • If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

    – Dave Delay
    Feb 23 at 15:01











  • Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

    – Ala Cris
    Feb 24 at 17:33











  • Where does your code run ? directly on the Domino server or on a client?

    – umeli
    Feb 25 at 9:50











  • I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

    – Ala Cris
    Feb 25 at 14:31











  • Then I suggest to replicate the database locally..

    – umeli
    Feb 26 at 9:25

















  • If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

    – Dave Delay
    Feb 23 at 15:01











  • Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

    – Ala Cris
    Feb 24 at 17:33











  • Where does your code run ? directly on the Domino server or on a client?

    – umeli
    Feb 25 at 9:50











  • I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

    – Ala Cris
    Feb 25 at 14:31











  • Then I suggest to replicate the database locally..

    – umeli
    Feb 26 at 9:25
















If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

– Dave Delay
Feb 23 at 15:01





If you were using LotusScript, I would recommend using NotesViewNavigator. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…

– Dave Delay
Feb 23 at 15:01













Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

– Ala Cris
Feb 24 at 17:33





Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code: db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc) It took about 146 seconds to get 1000 rows of data.

– Ala Cris
Feb 24 at 17:33













Where does your code run ? directly on the Domino server or on a client?

– umeli
Feb 25 at 9:50





Where does your code run ? directly on the Domino server or on a client?

– umeli
Feb 25 at 9:50













I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

– Ala Cris
Feb 25 at 14:31





I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.

– Ala Cris
Feb 25 at 14:31













Then I suggest to replicate the database locally..

– umeli
Feb 26 at 9:25





Then I suggest to replicate the database locally..

– umeli
Feb 26 at 9:25












2 Answers
2






active

oldest

votes


















1














Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.



You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.



My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:



First attempt:



while doc:
doc = view.GetNextDocument(doc)


Slow?



If not then next attempt:



while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)


Slow?



If yes: ColumnValues is your enemy...
If not then next attempt:



while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)


I would be very interested to get your results of where it starts to become slow.






share|improve this answer























  • Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

    – Ala Cris
    Feb 25 at 15:06


















0














It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.



Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop


I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/






share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54825425%2fefficient-way-to-get-data-from-lotus-notes-view%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.



    You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.



    My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:



    First attempt:



    while doc:
    doc = view.GetNextDocument(doc)


    Slow?



    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    doc = view.GetNextDocument(doc)


    Slow?



    If yes: ColumnValues is your enemy...
    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    data.append(arr)
    doc = view.GetNextDocument(doc)


    I would be very interested to get your results of where it starts to become slow.






    share|improve this answer























    • Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

      – Ala Cris
      Feb 25 at 15:06















    1














    Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.



    You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.



    My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:



    First attempt:



    while doc:
    doc = view.GetNextDocument(doc)


    Slow?



    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    doc = view.GetNextDocument(doc)


    Slow?



    If yes: ColumnValues is your enemy...
    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    data.append(arr)
    doc = view.GetNextDocument(doc)


    I would be very interested to get your results of where it starts to become slow.






    share|improve this answer























    • Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

      – Ala Cris
      Feb 25 at 15:06













    1












    1








    1







    Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.



    You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.



    My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:



    First attempt:



    while doc:
    doc = view.GetNextDocument(doc)


    Slow?



    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    doc = view.GetNextDocument(doc)


    Slow?



    If yes: ColumnValues is your enemy...
    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    data.append(arr)
    doc = view.GetNextDocument(doc)


    I would be very interested to get your results of where it starts to become slow.






    share|improve this answer













    Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.



    You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.



    My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:



    First attempt:



    while doc:
    doc = view.GetNextDocument(doc)


    Slow?



    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    doc = view.GetNextDocument(doc)


    Slow?



    If yes: ColumnValues is your enemy...
    If not then next attempt:



    while doc:
    arr = doc.ColumnValues
    data.append(arr)
    doc = view.GetNextDocument(doc)


    I would be very interested to get your results of where it starts to become slow.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Feb 25 at 8:03









    Torsten LinkTorsten Link

    8,2601130




    8,2601130












    • Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

      – Ala Cris
      Feb 25 at 15:06

















    • Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

      – Ala Cris
      Feb 25 at 15:06
















    Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

    – Ala Cris
    Feb 25 at 15:06





    Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only doc = view.GetNextDocument(doc) it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).

    – Ala Cris
    Feb 25 at 15:06













    0














    It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
    Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.



    Set col = view.AllEntries
    Set entry = col.GetFirstEntry()
    Do Until entry Is Nothing
    values = entry.ColumnValues '*** Array of column values
    '*** Do stuff here
    Set entry = col.GetNextEntry(entry)
    Loop


    I wrote a blog about this back in 2013:
    http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/






    share|improve this answer



























      0














      It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
      Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.



      Set col = view.AllEntries
      Set entry = col.GetFirstEntry()
      Do Until entry Is Nothing
      values = entry.ColumnValues '*** Array of column values
      '*** Do stuff here
      Set entry = col.GetNextEntry(entry)
      Loop


      I wrote a blog about this back in 2013:
      http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/






      share|improve this answer

























        0












        0








        0







        It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
        Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.



        Set col = view.AllEntries
        Set entry = col.GetFirstEntry()
        Do Until entry Is Nothing
        values = entry.ColumnValues '*** Array of column values
        '*** Do stuff here
        Set entry = col.GetNextEntry(entry)
        Loop


        I wrote a blog about this back in 2013:
        http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/






        share|improve this answer













        It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
        Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.



        Set col = view.AllEntries
        Set entry = col.GetFirstEntry()
        Do Until entry Is Nothing
        values = entry.ColumnValues '*** Array of column values
        '*** Do stuff here
        Set entry = col.GetNextEntry(entry)
        Loop


        I wrote a blog about this back in 2013:
        http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 7 at 20:30









        Karl-Henry MartinssonKarl-Henry Martinsson

        2,3001020




        2,3001020



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54825425%2fefficient-way-to-get-data-from-lotus-notes-view%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

            Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

            2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived