Results 1 to 12 of 12
  1. #1
    Join Date
    Dec 2002
    Posts
    10

    Post Unanswered: runtime error 3265: item cannot be found in this collection

    Hello!

    I connected to sqlserver 7 db from vb6.I got one record displayed from my db table as rs.fields(0).If i give rs.fields(1) , it gives me the error, item cannot be found in this collection.When i dispalyed the record count as msgbox rs.recordcount it shows -1.what may be the error, pls help.

    Lydia

  2. #2
    Join Date
    Feb 2002
    Posts
    2,232
    Please provide your sql statement within vb - and which cursorlocation are you setting (client or server). It sounds like your sql statement is only returning 1 column. When you use rs.fields(1) accesses the 2nd column returned by your sql query - not the next record in the recordset.

  3. #3
    Join Date
    Dec 2002
    Posts
    10

    ByVal ref argument type mismatch

    Hello!

    Thank you very much, i fixed the error as soon as i written to you.That is the same thing that you replied.It's coz i am quite new to VB and am learning.

    Two more issues - i need ur help

    1. But still i am getting the record count as -1 . why is it? but i am getting all my records in the record set.


    2. I created a function to fill up the list box as


    Function FillList(Listitem as Listbox, FieldName as Field, TableName as Table)

    ----Code----Goes here

    End Function


    when i tried to call the function as

    FillList(List1, m_email,members)

    it is returning error as : ByVal ref argument type mismatch

    how should i refer the values with the arguments in the function?

    Pls help

    Lydia

  4. #4
    Join Date
    Feb 2002
    Posts
    2,232
    Which cursorlocation are you using ?

  5. #5
    Join Date
    Dec 2002
    Posts
    10
    Originally posted by rnealejr
    Which cursorlocation are you using ?

    What do you mean by cursor location? i gave the code like this:

    --some code here---
    opened the record set as AdopenforwardOnly

  6. #6
    Join Date
    Feb 2002
    Posts
    2,232
    Both the connection and recordset objects contain a property called cursorlocation. If you are not setting it, go into debug and view the properties of the object and examine the cursorlocation property.

  7. #7
    Join Date
    Dec 2002
    Posts
    10
    Thank you very much, After setting the cursor location, i got the correct record count.

  8. #8
    Join Date
    Feb 2002
    Posts
    2,232
    Happy to help.

  9. #9
    Join Date
    Dec 2002
    Posts
    10
    I have a function to fill up list box with a DB Field values as

    Public Function FillList(ListItem As ListBox, FieldName As Field,TableName as Table)
    Dim i As Integer
    i = 0
    DbConnect
    strSQL = "select FieldName from TableName"

    'without using the connection object
    ObjRs.Open strSQL, strConn

    ' Add Items in the list box
    ObjRs.MoveFirst
    Do While Not ObjRs.EOF
    ListItem.AddItem ObjRs(0), i
    ObjRs.MoveNext
    i = i + 1
    Loop

    'Be sure you close and destroy your objects.

    ObjRs.Close
    ObjConn.Close
    Set ObjConn = Nothing
    Set ObjRs = Nothing
    End Function


    ' Then i called the function as

    call FillList(List1,"M_email","Members")

    It gives me error as : Type Mismatch

    What is the mistake in the code?

  10. #10
    Join Date
    Feb 2002
    Posts
    2,232
    Please post the code before the FillList. How are the Field and Table referenced ( like through adodb ...) ?

  11. #11
    Join Date
    Dec 2002
    Posts
    10

    Type Mismatch

    Yes, I connected to the DB as ADODB.Connection

  12. #12
    Join Date
    Feb 2002
    Posts
    2,232
    How are you able to reference "Table" ? Also, you should be explicit in your declarations (Adodb.Field).

    The problem is that you are trying to pass a string to a function expecting an object. Both the field/table should be strings - so you would build your sql statement like:

    strSQL = "select " & FieldName & " from " & TableName

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •