Wow - this one has me confused. I have a SQL2000 database that is performing correctly - inserts get inserted, the auto number jumps up one notch accordingly, and all seems well. The problem is, and this is where I'm dumbfounded - is that the index for each of the items, when invoked from a combo box's ItemData property, is the same. No matter what I select I get the number 100081 (this is a valid entry for the primary key in the database, but no matter which entry I invoke from inside the vb6 interface, this number appears).

I set up a little test with a combo box. The stored procedure is a simple "SELECT ID, Thing FROM tbl_Thing"; ID is the primary unique number; Thing is a 6 digit number:


Private Sub Command1_Click()

Dim objrs As New ADODB.Recordset
Set objrs = New ADODB.Recordset

objrs.Open "test_thing", g_objConn, adOpenForwardOnly, adLockReadOnly, adCmdStoredProc

Me.Combo1.Clear

Do While Not objrs.EOF
Me.Combo1.AddItem objrs!Thing
Me.Combo1.ItemData(Me.Combo1.NewIndex) = objrs!ID
objrs.MoveNext
Loop

objrs.Close
Set objrs = Nothing

Exit Sub
End Sub


and added the following to the Click() event of Me.Combo1:


Private Sub Combo1_Click()
Me.Text1.Text = Me.Combo1.ItemData(Me.Combo1.NewIndex)
End Sub


This text box, no matter which item I choose from Me.Combo1, shows me 100081.

I really don't understand this, but I know it must be something in my code since the database is functioning correctly.

Has anyone had this problem before or know what could cause this?

Thank you!

Ed