Hi xSoulx, You are correct in thinking that the term "Validation" refers to checking (or validating) data that is entered to ensure it is in a correct format to be put into the database (the letters ABC cannot go into an integer field, so validation is quite important when working with databases).
I prefer to validate data when the user tries to Add or Update the record (so when they click the Save button is when the validation takes place). To do this I usually write a big If statement that checks each text entry field, and prompts the user if it is incorrect.
Check out this post from last month:
http://www.programmersheaven.com/mb/VBNET/387399/387399/how-to-check-whether-one-out-of-eight-textboxes-is-empty-or-not/?S=B20000#387399
I was helping someone else with Validation and wrote an example of a subroutine that checks if Textboxes are blank. You can just edit it to verify that the data is in String, Integer, or Double format by using the correct logic (If IsNumeric(TextBox1.Text) = False Then 'Not a number) etc....
Now your question about having a count of records from the database... If you connect to the database and get a count of the records in it once, you can store that number in a Global variable (in other words, a variable that is declared outside of a subroutine, but inside the form, so it will retain it's value from routine to routine) and increment or decrement it each time you add or delete respectively... You could also just do a SQL command to count each time too, but that involves an extra call to the database. Both methods have their draw backs.
Please review this, and respond with any additional questions or if you'd like me to better describe something...