I too don know exactly when it return -1.
I have encountered this error when having connections to more than one database in a single project.
If you are using this recordcount property to check whether a RecordSet is not empty then I would suggest you to use EOF and BOF property of recordset.
instead of using
For your tutoring issues
Learning a programming language is not that tough when you have the logical analyzing skills.
Read books or Try to have someone sharing knowledge. Try to execute a sample program relating the topic.
Only executing a program or programs will allow you to have good knowledge on the topics you covered.