Replace undef with defined (and probably if with unless, or at least negate the defined.) You're whacking the Win32::ODBC object accidentally -- so it's undefined when you try to call anything on it.
Comment on Re: WIN32:ODBC Perl Connection to Micros~1 Access Database