VBA Access - Propriedades de uma consulta - Query´s Properties - Propriedade SourceConnectStr e SourceDatabase

Outra propriedade importantíssima para compreendermos o conteúdo e mesmo como parametrizá-la é a SourceConnectStr e SourceDatabase
Propriedades.jpg
Propriedades SourceConnectStr e SourceDatabase
Podemos utilizar essas propriedades para acessar dados externos quando não pudermos vincular tabelas externas a seu banco de dados.
A propriedade SourceConnectStr especifica o nome do aplicativo utilizado para criar um banco de dados externo (banco de dados externo: a origem da tabela a ser vinculada ao banco de dados atual ou para ele importada, ou o destino de uma tabela a ser exportada.)
A propriedade SourceDatabase especifica o banco de dados externo no qual residem as consultas ou tabelas de origem de uma consulta. 
Observação 
As propriedades SourceConnectStr e SourceDatabase aplicam-se a todas as consultas, exceto as de definição de dados (consulta de definição de dados: uma consulta SQL específica que contém instruções DDL. Essas instruções permitem criar ou alterar objetos no banco de dados.), passagem (consulta passagem: uma consulta específica de SQL usada para enviar comandos diretamente para um servidor de banco de dados ODBC. Usando consultas passagem, você trabalha diretamente com as tabelas no servidor, e não com o mecanismo de banco de dados Microsoft Jet para processar os dados.) e união (consulta união: uma consulta que usa o operador UNIÃO para combinar os resultados de duas ou mais consultas seleção.)
Configuração
Utilizamos uma expressão de seqüência de caracteres (expressão de seqüência de caracteres: uma expressão avaliada como uma seqüência de caracteres contíguos. Os elementos da expressão podem incluir: funções que retornam uma seqüência ou uma seqüência Variant (VarType 8); uma seqüência literal, constante, variável ou Variant.) para definir o valor das propriedades SourceConnectStr e SourceDatabase.
Você pode definir essas propriedades na folha de propriedades da consulta ou no modo SQL (modo SQL: uma janela que exibe a instrução SQL da consulta atual ou é usada para criar uma consulta específica de SQL (união, passagem ou definição de dados). Quando você cria uma consulta no modo Design, o Access cria o equivalente SQL no modo SQL.) da janela Consulta (janela Consulta: uma janela na qual você trabalha com consultas no modo Design, Folha de Dados, SQL ou de Visualizar Impressão.). Na instrução SQL (seqüência/instrução SQL: uma expressão que define um comando SQL, como SELECT, UPDATE ou DELETE, e inclui cláusulas como WHERE e ORDER BY. As seqüências/instruções SQL são normalmente usadas em consultas e funções agregadas.), as propriedades correspondem à cláusula IN.
Observação 
Se você estiver acessando várias origens de bancos de dados, utilize a propriedade Source em vez das propriedades SourceConnectStr e SourceDatabase
Comentários
Devemos utilizar as propriedades SourceConnectStr e SourceDatabase para acessar tabelas de banco de dados externas que foram criadas em aplicativos que não utilizam tabelas vinculadas (tabela vinculada: uma tabela armazenada em um arquivo fora do banco de dados aberto na qual o Access pode acessar registros. Você pode adicionar, excluir e editar registros em uma tabela vinculada, mas não pode alterar sua estrutura.).
Seguem exemplos das configurações dessas propriedades:
Para um banco de dados do Microsoft Access, a configuração da propriedade SourceDatabase é o caminho e o nome do banco de dados (por exemplo, C:\Contas\Clientes). O Microsoft Access adiciona automaticamente a extensão de nome de arquivo. A propriedade SourceConnectStr não tem um valor para um banco de dados Microsoft Access.
Para um banco de dados criado por um produto como o Paradox, a configuração da propriedade SourceDatabase é o caminho (por exemplo, C:\Pdoxdata). A configuração da propriedade SourceConnectStr é o especificador para o tipo do banco de dados (por exemplo, Paradox 3.x;). Para obter uma lista de especificadores, consulte a propriedade Connect do DAO.
 
O exemplo a seguir utiliza tabelas do dBASE IV no diretório C:\Dbdata como fonte de dados para a consulta:
SELECT 
Customer.COMPANYNAM, 
Orders.ORDERID, 
Orders.ORDERDATE
FROM 
Customer 
INNER JOIN 
Orders
ON 
Customer.CUSTOMERID = Orders.CUSTOMERID
IN 
'C:\Dbdata'[dBASE IV;]; 
Para um banco de dados ODBC (ODBC (Conectividade Aberta de Banco de Dados): um método padrão de compartilhamento de dados entre bancos de dados e programas. Os drivers ODBC usam SQL para obter acesso a dados externos. (Open Database Connectivity), a configuração da propriedade SourceConnectStr é o nome do banco de dados de origem e qualquer informação adicional necessária ao produto, tal como senha e identificação de logon (ID). Por exemplo, para um banco de dados Microsoft SQL Server, a configuração poderia ser: 
ODBC;DSN=salessrv;UID=jace;PWD=password;DATABASE=sales; 
A propriedade SourceDatabase não tem um valor para um banco de dados ODBC.
André Luiz Bernardes A&A - WORK, DON´T PLAY! http://al-bernardes.sites.uol.com.br/ bernardess@gmail.com Twitter: @officespecialis             @brzexceldevelop             @brzaccessdevel

VBA Access - Propriedades de uma consulta - Query´s Properties - Propriedade Description

É muito importante saber configurar as propriedades de uma consulta. Geralmente as deixamos a esmo e isso pode impactar até mesmo na performance desta.
Abaixo descrevo cada uma das opções da versão do MS Access 2007, aproveite:
Propriedades.jpg
Propriedade Description
Podemos utilizar a propriedade Description para fornecer informações sobre os objetos contidos na janela Banco de dados (janela Banco de Dados: a janela que aparece quando você abre um banco de dados ou projeto do MS Access. Ela exibe atalhos para criar novos objetos de banco de dados e abrir objetos existentes.), bem como sobre campos de tabela ou consulta individuais.
Configuração
Para um objeto de banco de dados, clique em Propriedades no menu Exibir e insira o texto descritivo na caixa Descrição. Para tabelas ou consultas, você também pode inserir a descrição na folha de propriedades (folha de propriedades: uma janela usada para exibir ou modificar as propriedades de diversos objetos como tabelas, consultas, campos, formulários, relatórios, páginas de acesso a dados e controles.) da tabela ou da consulta. A descrição de um objeto aparece próximo ao nome do objeto na janela Banco de dados, quando você clica em Detalhes no menu Exibir.
Para campos de tabela ou consulta individuais, digite a descrição do campo na parte superior do modo de design da tabela (modo Design: uma janela que mostra o design destes objetos de banco de dados: tabelas, consultas, formulários, relatórios, macros e páginas de acesso a dados. No modo Design, você pode criar novos objetos de banco de dados e modificar o design dos existentes.) ou na folha de propriedades Propriedades do campo na janela Consulta (janela Consulta: uma janela na qual você trabalha com consultas no modo Design, Folha de Dados, SQL ou de Visualizar Impressão.). O comprimento máximo é de 255 caracteres.
No Visual Basic , para definir essa propriedade pela primeira vez em um projeto do Microsoft Access (projeto do Microsoft Access: um arquivo do Access que se conecta a um banco de dados do Microsoft SQL Server e é usado para criar aplicativos cliente/servidor. Um arquivo de projeto não contém dados ou objetos baseados em definição de dados, como tabelas e modos de exibição.) (.adp), você deve criar uma propriedade definida pelo aplicativo utilizando o método Add. Em um banco de dados do Microsoft Access (banco de dados: um conjunto de dados relacionados a um assunto ou objetivo em particular. Dentro de um banco de dados, as informações sobre uma entidade específica, como um funcionário ou pedido, são classificadas em tabelas, registros e campos.) (.mdb), você deve usar o método CreateProperty do DAO.
Comentários
A descrição de um objeto é exibida na coluna Descrição, no modo de exibição Detalhes da janela Banco de dados.
Se você criar um controle arrastando um campo da lista de campos (lista de campos: uma janela que lista todos os campos na fonte de registro ou no objeto de banco de dados subjacente, exceto no modo Design da página de acesso a dados. No modo da página de acesso a dados, a lista contém todas as fontes de registro e seus campos no banco de dados subjacente.), o Microsoft Access copiará a propriedade Description do campo para a propriedade StatusBarText do controle (controle: um objeto da interface gráfica do usuário, como uma caixa de texto, uma caixa de seleção, uma barra de rolagem ou um botão de comando, que permite a usuários controlar o programa. Você usa controles para exibir dados ou opções, executar uma ação ou facilitar a leitura da interface do usuário.).
Observação 
Para uma tabela vinculada (tabela vinculada: uma tabela armazenada em um arquivo fora do banco de dados aberto na qual o Access pode acessar registros. Você pode adicionar, excluir e editar registros em uma tabela vinculada, mas não pode alterar sua estrutura.), o Microsoft Access exibe as informações de conexão na propriedade Description
André Luiz Bernardes A&A - WORK, DON´T PLAY! http://al-bernardes.sites.uol.com.br/ bernardess@gmail.com Twitter: @officespecialis             @brzexceldevelop             @brzaccessdevel

VBA Access - Comparação de tipos de dados.

Usar o tipo certo de definição de dados é importantíssimo, nada melhor do que detectar o tipo antes de desenvolver nossas soluções. Seguem referências da própria Microsoft:

O mecanismo de banco de dados do Microsoft Access reconhece diversos conjuntos de tipos de dados que se sobrepõem. No Microsoft Access, existem quatro contextos diferentes nos quais talvez seja necessário especificar um tipo de dados: no modo de design da tabela (modo Design: uma janela que mostra o design destes objetos de banco de dados: tabelas, consultas, formulários, relatórios, macros e páginas de acesso a dados. No modo Design, você pode criar novos objetos de banco de dados e modificar o design dos existentes.), na caixa de diálogo Parâmetros da Consulta, no Visual Basic e no modo SQL em uma consulta.

A tabela a seguir compara os cinco conjuntos de tipos de dados correspondentes a cada contexto. A primeira coluna lista as configurações da propriedade Type disponíveis no modo de design da tabela e as cinco configurações da propriedade FieldSize para o tipo de dados Número (tipo de dados Número: em um banco de dados do Microsoft Access, um tipo de dados de campo para dados numéricos que serão usados em cálculos matemáticos. Use o tipo de dados Moeda, entretanto, para exibir valores de unidade monetária.). A segunda coluna lista os tipos de dados de parâmetro de consulta disponíveis para estruturar consultas parâmetro (consulta parâmetro: uma consulta na qual um usuário especifica de maneira interativa um ou mais valores de critérios. Uma consulta parâmetro não é um tipo separado de consulta; na verdade, aumenta a flexibilidade de uma consulta.) na caixa de diálogo Parâmetros da consulta. A terceira coluna lista os tipos de dados correspondentes do Visual Basic. A quarta coluna lista tipos de dados do objeto Field (DAO). A quinta coluna lista os tipos de dados SQL do mecanismo de banco de dados do Access correspondentes definidos por esse mecanismo, juntamente com os seus sinônimos válidos.

Campos de tabela Parâmetros da consulta Visual Basic Constantes da propriedade Tipo de dados ADO SQL do mecanismo de banco de dados do Microsoft Access e sinônimos
Sem suporte Binário Sem suporte adBinary BINARY (consulte Observações) (Sinônimo: VARBINARY)
Sim/Não Sim/Não Boolean (Booleano: uma expressão que pode ser avaliada como verdadeira (diferente de zero) ou falsa (0). Você pode usar as palavras-chave Verdadeiro e Falso para fornecer os valores de -1 e 0, respectivamente. O tipo de dados de campo Sim/Não é booleano e tem o valor de -1 para Sim.) adBoolean BOOLEAN (Sinônimos: BIT, LOGICAL, LOGICAL1, YESNO)
Número (Tamanho do campo = Byte) Byte Byte (tipo de dados Byte: um tipo de dados do banco de dados do Access usado para armazenar números inteiros positivos pequenos no intervalo de 0 a 255.) adUnsignedTinyInt BYTE (Sinônimo: INTEGER1)
AutoNumeração (Tamanho do campo=

Inteiro longo)

Inteiro longo Long (tipo de dados Longo: um tipo de dados básico que contém inteiros grandes. A variável Long é armazenada como um número de 32 bits no intervalo de - 2.147.483.648 a 2.147.483.647.) adInteger COUNTER (Sinônimo: AUTOINCREMENT)
Moeda Moeda Currency (tipo de dados Unidade Monetária: em um banco de dados do Microsoft Access, um tipo de dados útil para cálculos que envolvam moeda ou para cálculos de ponto fixo nos quais a precisão é extremamente importante.) adCurrency CURRENCY (Sinônimo: MONEY)
Data/hora Data/hora Date (tipo de dados Data/Hora: tipo de dados do banco de dados do Access usado para armazenar informações de data e hora.) adDate DATETIME (Sinônimos: DATE, TIME, TIMESTAMP)
Número (Tamanho do campo = Duplo) Duplo Double (tipo de dados Duplo: um tipo de dados básico que contém números de ponto flutuante de dupla precisão. É armazenado como um número de 64 bits e seu intervalo de valores vai de aproximadamente -1,797E308 a -4,940E-324 (negativo), de 4,94E-324 a 1,797E308 (positivo) e 0.) adDouble DOUBLE (Sinônimos: FLOAT, FLOAT8, IEEEDOUBLE, NUMBER, NUMERIC)
AutoNumeração/GUID

(Tamanho do campo = Código de replicação)

Código de replicação Sem suporte adGUID GUID
Número (Tamanho do campo = Inteiro longo) Inteiro longo Long adInteger LONG (Consulte Observações) (Sinônimos: INT, INTEGER, INTEGER4)
Objeto OLE Objeto OLE String (tipo de dados Seqüência: um tipo de dados básico que contém caracteres, um caractere por 2 bytes. Uma seqüência de comprimento fixo pode conter de 1 a 64 K de caracteres; uma seqüência de comprimento variável pode conter de 1 a 2 bilhões.) adLongVarBinary LONGBINARY (Sinônimos: GENERAL, OLEOBJECT)
Memo Memo String adLongVarWChar LONGTEXT (Sinônimos: LONGCHAR, MEMO, NOTE)
Número (Tamanho do campo = Simples) Simples Single (tipo de dados Simples: um tipo de dados que armazena variáveis de ponto flutuante de dupla precisão como 32 bits (4 bytes) no intervalo de -3,402823E38 a -1,01298E-45 para valores negativos e 1,401298E-45 a 3,402823E38 para valores positivos.) adSingle SINGLE (Sinônimos: FLOAT4, IEEESINGLE, REAL)
Número (Tamanho do campo = Inteiro) Inteiro Integer (tipo de dados Inteiro: um tipo de dados fundamental que contém números inteiros. Uma variável Integer é armazenada como um número de 16 bits (2 bytes) no intervalo de -32.768 a 32.767.) adSmallInt SHORT (consulte Observações) (Sinônimos: INTEGER2, SMALLINT)
Texto Texto String adVarWChar TEXT (Sinônimos: ALPHANUMERIC, CHAR, CHARACTER, STRING, VARCHAR)
Hiperlink Memo String adLongVarWChar LONGTEXT (Sinônimos: LONGCHAR, MEMO, NOTE)
Sem suporte Valor Variant (tipo de dados Variante: o tipo de dados padrão para variáveis que não têm caracteres de declaração de tipo quando uma instrução Deftipo não está sendo usada. Um Variante pode armazenar dados numéricos, seqüências de caracteres, data/hora, valores Nulo ou dados Vazio.) adVariant VALUE (consulte Observações)
  Observações
  • O Microsoft Access propriamente não utiliza o tipo de dados BINARY. Esse tipo é reconhecido somente para utilização em consultas a tabelas vinculadas provenientes de outros produtos de banco de dados que oferecem suporte ao tipo de dados BINARY.
  • O tipo de dados INTEGER no SQL do mecanismo de banco de dados do Access não corresponde ao tipo de dados Integer para campos de tabela, parâmetros de consulta ou Visual Basic. Em vez disso, no SQL, o tipo de dados INTEGER corresponde a um tipo de dados Long Integer para campos de tabela e parâmetros de consulta e a um tipo de dados Long no Visual Basic.
  • A palavra reservada VALUE não representa um tipo de dados definido pelo mecanismo de banco de dados do Access. Entretanto, em consultas do Microsoft Access ou do SQL, a palavra reservada VALUE pode ser considerada um sinônimo válido para o tipo de dados Variant do Visual Basic.
  • Se você estiver definindo o tipo de dados para um objeto DAO (DAO (Objetos de Acesso a Dados): uma interface de acesso a dados que se comunica com o Microsoft Jet e com fontes de dados compatíveis com ODBC para se conectar, recuperar, manipular e atualizar dados e a estrutura do banco de dados.) em código do Visual Basic, terá que configurar a propriedade Type do objeto.
© 2006 Microsoft Corporation. Todos os direitos reservados.
diHITT - Notícias