Fråga : Hur jag fixar odbc appellen missad #1062 tar fram under vba med en mysqlbackend?

Jag använde efter kodifiera till programmatically uppsättningen som den rekord- källan för en ta fram bildar.  Den rekord- källan är en anknuten odbc bordlägger från en mysqlbackend.  Förmiddag som I inte alls ändrar några data på bilda och, när I-försök att gå till det nästa rekordet, mig får ”ODBC -- appellen missade. Duplicera tillträde ”23” för nyckel- ”PRIMÄRT” [MySQL] [chauffören för ODBC 5.1] [mysqld-5.1-37-community] (#1062).  Jag förstår inte in denna, därför att den precis pröva I-förmiddagen att gå till det nästa rekordet, genom att klicka på ”det nästa rekordet”, knäppas, för att inte sätta ett nytt rekord med den samma primära key. > för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
" codeBody " " >If StaffID > #### för class= " för
" klar "

Svar : Hur jag fixar odbc appellen missad #1062 tar fram under vba med en mysqlbackend?

Det lättast är långt att skapa en ny query från databasfönstret och uppsättningen (Query | Sql-närmare detalj | Pass-Through). Uppsättningen som ODBC-anslutningen stränger i rekvisitan, och skrivar queryen using MySQL syntax. En sådan query kan vara fastställd som den rekord- källan för en bilda, men ska är skrivskydd.

Baserat på ditt kodifiera, dig kan skriva någon giltig SQL in i en existerande query, inklusive pass-throughqueries:

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

Därefter uppsättning den rekord- källan till den query. Detta är vad jag betydde vid ”omredigering det QueryDef objektets SQL på - - fluga.”,

Du kan också använda DAO- eller ADOtekniker till jordbruksprodukter en recordset, using JetSQL eller pass-throughsyntax. Det är en materia av att ge en giltig anslutning stränger egentligen precis. Några recordsets kan vara fastställda till datalistans recordsetegenskapen, efter de har skapats.

Du verkar för att föredra ADO; den required rekvisitan är

      . Rekvisita (”spruta ut OLEDB: ODBC-Pass-Throughmeddelandet”) = True
      . Rekvisita (”spruta ut OLEDB: Passera till och med Query förbinder stränger”) =

Se också på MSDB: ADOfamiljeförsörjarerekvisita och inställningar
http://msdn.microsoft.com/en-us/library/aa140022(office.10).aspx
(sökandet för ”pass-through” i din webbläsare, det är en lång sida),


Du kan inte direkt skriva infödingen (passen-through) SQL in i en datalistas rekordartad källegenskap, som det inte finns någon egenskap som specificerar en anslutning, stränger.

Bra lycka!
(°v°)
Andra lösningar  
 
programming4us programming4us