Registro Anterior MSACCESS

Não consigo encontrar o registro anterior com este código,
pois quando estou no registro 10 e vou para o 9 gera um erro se este já foi deletado, é a primeira vez que desenvolvo utilizado sql, por isso o código está assim, deve ter um código mais simples que este que estou fazendo. Se alguém puder me ajudar agradeço. acho que vai ajudar muita gernte também.

package CLIENTES;

/**

  • Classe EncontrarAnteriorRegistroClientes
  • Definição da Classe e métodos
  • Esta classe encontra o registro anterior na tabela TB_CLIENTES
    */

import java.awt.event.;
import java.sql.
;
import javax.swing.*;

public class EncontrarAnteriorRegistroClientes implements ActionListener {

private PainelFormularioClientes fields;
private JTextArea output;
private Connection connection;

int menorRegistro;
int atualRegistro;

public EncontrarAnteriorRegistroClientes( Connection c, PainelFormularioClientes f,	
		JTextArea o )	
{
	connection = c;
	fields = f;
	output = o;
}
 

public void actionPerformed( ActionEvent e )	
{

	try {	// Executa pesquisa SQL para encontrar o total de registro na tabela			
		
		Statement statement = connection.createStatement();			 

		// Pesquisa o o número de registros da tabela TB_CLIENTES
		String queryPrimeiroRegistro = "SELECT MIN (CLI_CODIGO) FROM TB_CLIENTES";			 
		
		ResultSet rs = statement.executeQuery( queryPrimeiroRegistro );
		output.setText( "" );
		rs.next();
		
		menorRegistro = rs.getInt( 1 );	// guarda o total de registros
		
		output.append( "Enviando Consulta SQL: " +				
				 connection.nativeSQL( queryPrimeiroRegistro ) + "\n" );			
 
		output.append( "\nEncontrado o primeiro Registror" );

		statement.close();
	 }
	 catch ( SQLException sqlex ) {
		 sqlex.printStackTrace();
		 output.append( sqlex.toString() );
	 }		
	 
	
	 try {	// Executa comando SQL para inseriru um registro na tabela
		 
		 
		 if ( !fields.codigo.getText().equals( "" ) ) {
			 String atualRegistroStr = fields.codigo.getText();
			 atualRegistro = Integer.parseInt( atualRegistroStr );
		 }
		 else {
			atualRegistro = menorRegistro; 
		 }		 
		 
		 Statement statement = connection.createStatement();			 
	 
		 String query = "SELECT * FROM TB_CLIENTES " +
		 		"WHERE CLI_CODIGO = " +	atualRegistro;				
			
		 output.append( "Enviando Consulta SQL: " +
				 connection.nativeSQL( query )	+ "\n" );
		 ResultSet rs = statement.executeQuery( query );
		 
		 rs.next();
	 
		 atualRegistro = rs.getInt( 1 );
		 
		 if ( atualRegistro > menorRegistro )
				atualRegistro--;
		 
		 if ( atualRegistro != 0 ) {
			 fields.codigo.setText( String.valueOf( atualRegistro));
			 fields.nome.setText( rs.getString( 2 ) );
			 fields.cpf.setText( rs.getString( 3 ) );
			 fields.identidade.setText( rs.getString( 4 ) );
			 fields.nascimento.setText( rs.getString( 5 ) );
			 fields.endereco.setText( rs.getString( 6 ) );
			 fields.numero.setText( rs.getString( 7 ) );
			 fields.bairro.setText( rs.getString( 8 ) );
			 fields.telefone.setText( rs.getString( 9 ) );
			 fields.dependente1.setText( rs.getString( 10 ) );
			 fields.dependente2.setText( rs.getString( 11 ) );
			 output.append( "\nSucesso: O Registro foi encontrado." );
		 }
		 else {				 
			 output.append( "\nErro: O Registro não foi encontrado." );
			 fields.nome.setText( "" );
			 fields.cpf.setText( "" );
			 fields.identidade.setText( "" );
			 fields.nascimento.setText( "" );
			 fields.endereco.setText( "" );
			 fields.numero.setText( "" );
			 fields.bairro.setText( "" );
			 fields.telefone.setText( "" );
			 fields.dependente1.setText( "" );
			 fields.dependente2.setText( "" );			
		 }			 
		 statement.close();
	 }			 
	 catch ( SQLException sqlex ) {			 
		 sqlex.printStackTrace();
		 output.append( sqlex.toString() );
	 }		
}

}