O segredo do sucesso do Microsoft Access reside na sua capacidade de ocultar a complexidade, apresentando uma interface de usuário simples. Infelizmente, há momentos em que essa complexidade não subir à superfície e confuso, mensagens de erro incompreensíveis ocorrer. Quando isso acontece, precisamos entender algumas dessas complexidades para resolver o problema . Drivers ODBC
no centro de Microsoft Access encontra-se um conjunto de drivers que se comunicam com os motores de base de dados através da interface Open Data Base Connectivity (ODBC). Drivers são incluídos para o Microsoft Access , Excel, SQL Server, Oracle, e uma variedade de bases de dados e outros tipos de arquivo . Esses drivers passar Query Language ( SQL) estruturados de acesso ao motor de banco de dados para criar novas tabelas , consultar os dados do banco de dados e atualização.
Access e ODBC
Desde a maioria das pessoas usando o Access não tenho vontade de escrever instruções SQL ou sondar as profundezas do ODBC , os desenvolvedores que projetaram Acesso construído uma interface de usuário mais simples , onde tabelas e consultas são projetados usando visualizações simples de grade. Para criar uma consulta , basta escolher um ou duas mesas , arraste os nomes das colunas na exibição de grade , adicione alguns critérios , em seguida, clique no botão "Run" . Sob o capô , o Access considera grade e transforma-o em uma instrução SQL, em seguida, passa essa declaração para o banco de dados usando o driver ODBC. O motor de banco de dados , em seguida, seleciona os dados apropriados e envia -lo de volta onde o Access apresenta como uma folha de dados ou formulário.
Sintaxe Erros e operadores ausentes
Embora o Access faz um bom trabalho verificando a entrada do usuário , há momentos em que os erros não são passadas para o motor de banco de dados. A instrução SQL resultante viola a gramática ou sintaxe SQL. Os erros mais comuns ocorrem quando um critério complexo está inserido incorretamente na exibição de grade de consulta. Por exemplo, em uma declaração como " = 5 ou > 20 ou 3" não há nenhum indicador de comparação ( chamado um operador ) entre os "ou" eo "3. " A expressão correta deve ser " = 5 ou> 20 ou = 3 ".
outras causas
Access usa consultas e comparações em vários outros lugares , incluindo formulários, relatórios e pontos de vista de design de mesa . Fontes de registro e controle de fontes , bem como subformulários e sub-relatório relacionamentos podem ter incorporado critérios. Visualizações de design de mesa pode ter regras de validação. Acesso geralmente valida estes critérios, mas esses erros , por vezes, encontrar seu caminho em expressões SQL .