Olá! 
  
Uma pequena relíquia caiu no meu colo esse mês. Tenho aqui um aplicativo escrito em Visual Basic 5.0 com relatórios em Crystal Reports 4.0. A base de dados e Access 97. 
Por causa da base dados esse aplicativo esta começando a enfrentar sérios problemas, depois de 10 anos em produção. 
  
Não tenho a pretensão de reescreve-lo agora, ate entendo que alguns digam que isso e o mais adequado. Contudo não tenho tempo hábil para fazer isso. 
  
Oque gostaria de entender e o seguinte: 
  
Quando abro um relatório do CS, eu vejo que os campos com Primary Key estão devidamente marcados. Oque acontece e que quando abro essa mesma base dados via ODBC -> SQL Server 2008, o CS não identifica as Primary Keys! Nenhuma! 
  
Eu fiz um teste e isso não se deve ao fato da base ter sido migrada via SSMA. Uma nova base com uma tabela e dois campos, sendo marcado como Primary Key, ainda assim o CS não vê essa PK. Desconfiei do driver ODBC, mas via OLE DB tenho o mesmo resultado! 
  
O fato e que eu gostaria de usar a base agora via ODBC, já que originalmente o aplicativo abria diretamente o arquivo .MDB e fazia consulta e gravação, e o CS faz da mesma forma conectado via Arquivo na base, no caso do aplicativo em sí ele funciona perfeitamente utilizando o banco em SQL via ODBC, porem os relatórios tem vários problemas... antes de intervir eu verifiquei que as Primary Keys não estavam sendo lidas, e estou preso nisso. 
  
Qualquer ajuda e bem vinda! 
Agradeço desde já, 
Fellipe