Actually using the get and put one record at a time would be fine, no problem there.

I agree that you should not use hard coded filenumbers, should use the freefile function to make sure you get a filenumber that is not in use each time.

As for the issue with a 0 this would not be written to the file nor would it be read in from the file and you have not shown any related code so hard to even guess at that.

Another tip. Always use Option Explicit in your code [as shown in post #7] this will flag any miss spelled variable names right away and point you to such a problem.