vba - ADODB Recordset.RecordCount giving incorrect answer -


i have issue recordset returning -1 recordcount when in fact there 1164 records.

i have checked query fine. though tells me there -1 records copyfromrecordset method still works , pastes correct results. never had issue before using rs.recordcount?

dim strsql string dim rs new adodb.recordset  if cust = "jpm"     port = "rp l99" else     port = "rp v10" end if  strsql = "my select query"  rs.open strsql, cn, adopenkeyset, adlockoptimistic rs.movefirst getcompanies = rs.recordcount if getcompanies > 0    wslive.range("a" & rowcompanystart).copyfromrecordset rs    wslive.range("c" & rowcompanystart & ":c" & getcompanies + rowcompanystart).numberformat = "0.00%" end if closerecordset rs  end function 

to actual count, need first move cursor last record move beginning. however, remember large dataset, moving , forth inefficient task. so, suggest following caution.

    dim strsql string     dim rs new adodb.recordset      if cust = "jpm"         port = "rp l99"     else         port = "rp v10"     end if      strsql = "my select query"      rs.cursortype = adopendynamic      rs.open strsql, cn, adopenkeyset, adlockoptimistic      if not (rs.bof , rs.eof)         rs.movelast         rs.movefirst         getcompanies = rs.recordcount         wslive.range("a" & rowcompanystart).copyfromrecordset rs         wslive.range("c" & rowcompanystart & ":c" & getcompanies + rowcompanystart).numberformat = "0.00%"           'else         'msgbox "no records !!"     end if      closerecordset rs end function 

Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -