Pergunta : Como eu reparo o odbc #1062 falhado chamada sob o vba do acesso com uma parte posterior do mysql?

Eu usei o seguinte código para ajustar programmatically a fonte record para um formulário do acesso.  A fonte record é uma tabela lig odbc de uma parte posterior do mysql.  Eu não estamos mudando nenhuns dados de todo no formulário e quando eu tento ir ao registro seguinte, eu começ “ODBC -- a chamada falhou. [MySQL] [excitador] [mysqld-5.1-37-community] de ODBC 5.1 entrada duplicada “23” para “PRELIMINAR chave” (#1062).  Eu não compreendo este porque eu apenas estou tentando ir ao registro seguinte estalando na tecla “Record” seguinte, para não introduzir um novo recorda com o mesmo key. preliminar class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
>If notpretty StaffID > #### " do class= " do id= " codeSnippet763005 do
           
class= do

Resposta : Como eu reparo o odbc #1062 falhado chamada sob o vba do acesso com uma parte posterior do mysql?

A maneira a mais fácil é criar uma pergunta nova da janela da base de dados e ajustar-se (pergunta | Específico do SQL | Pass-Through). Ajustar a corda da conexão de ODBC nas propriedades, e datilografar a pergunta using a sintaxe de MySQL. Tal pergunta pode ser ajustada como a fonte record para um formulário, mas será de leitura apenas.

Baseado em seu código, você pode escrever todo o SQL válido em uma pergunta existente, including o pass-through pergunta:

    CurrentDb.QueryDefs (“MyQuery”) .SQL = strSQL

Então, ajustar a fonte record a essa pergunta. Este é o que eu signifiquei pela “reescrita o SQL do objeto de QueryDef - - na mosca.”

Você pode igualmente usar técnicas de DAO ou de DEMORA para produzir um recordset, using JetSQL ou sintaxe do pass-through. É realmente apenas uma matéria de fornecer uma corda válida da conexão. Alguns recordsets podem ser ajustados à propriedade do recordset do formulário depois que foram criados.

Você parece preferir a DEMORA; as propriedades required são

      . Propriedades (“jato OLEDB: A indicação do Pass-Through de ODBC”) = retifica
      . Propriedades (“jato OLEDB: Passar com a pergunta conetam a corda”) =

Ver igualmente em MSDB: Propriedades e ajustes do fornecedor da DEMORA
http://msdn.microsoft.com/en-us/library/aa140022(office.10).aspx
(busca para o “pass-through” em seu navegador, é uma página longa)


Você não pode diretamente escrever (pass-through) o SQL nativo na propriedade record da fonte de um formulário, porque não há nenhuma propriedade para especific uma corda da conexão.

Boa sorte!
(°v°)
Outras soluções  
 
programming4us programming4us