Vraag : Hoe bevestig ik odbc vraag ontbroken #1062 onder toegangsvba met een mysqlachterste deel?

Ik gebruikte de volgende code plaatste programmatically de verslagbron voor een toegangsvorm.  De verslagbron is een odbc verbonden lijst van een mysqlachterste deel.  Ik verander geen gegevens bij allen over de vorm en wanneer ik om naar het volgende verslag probeer te gaan, krijg ik „ODBC -- ontbroken vraag. [MySQL] [Bestuurder ODBC 5.1] [mysqld-5.1-37-community] Dubbele ingang „23“ voor zeer belangrijke „PRIMAIR“ (#1062).  Ik begrijp dit niet omdat ik enkel om naar het volgende verslag probeer te gaan door op knoop de van het „Volgende Verslag“ te klikken, niet tussenvoegsel een nieuw verslag met zelfde primaire key.
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
If StaffID > #### toen
    Schemerige sqlCmd als Koord
  
    sqlCmd = „selecteer * uit nota's binnen toetreden staff_team gebruikend (claim_number)“
    sqlCmd = sqlCmd & „waar primarycm =“ & StaffID
    sqlCmd = sqlCmd & „of secondarycm =“ & StaffID
    sqlCmd = sqlCmd & „of tertiarycm =“ & StaffID
    
    Me.RecordSource = „sqlCmd“
Anders
    Me.RecordSource = „nota's“
Eind als

Antwoord : Hoe bevestig ik odbc vraag ontbroken #1062 onder toegangsvba met een mysqlachterste deel?

De gemakkelijkste manier is een nieuwe vraag van het de gegevensbestandvenster en reeks te creëren (Vraag | Specifiek SQL | Ervaar). Plaats het ODBC verbindingskoord in de eigenschappen, en typ de vraag gebruikend syntaxis MySQL. Zulk een vraag kan als verslagbron voor een vorm worden geplaatst, maar zal read-only zijn.

Gebaseerd op uw code, kunt u om het even welke geldige SQL in een bestaande vraag schrijven, ervaart het omvatten vragen:

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

Dan, plaats de verslagbron aan die vraag. Dit is wat ik bedoelde door „SQL van de objecten QueryDef tijdens de vlucht.“ herschrijf

U kunt de technieken van DAO ook gebruiken of van de DRUKTE om een recordset te veroorzaken, gebruikend JetSQL of syntaxis te ervaren. Het is werkelijk enkel een kwestie een geldig verbindingskoord verstrekken. Sommige recordsets kunnen aan het bezit van de vorm worden geplaatst recordset nadat zij zijn gecre�ërd.

U schijnt om DRUKTE te verkiezen; de vereiste eigenschappen zijn

      . Eigenschappen („StraalOLEDB: ODBC ervaart Verklaring“) = Waar
      . Eigenschappen („StraalOLEDB: De pas door Vraag verbindt Koord“) =

Zie ook op MSDB: De Eigenschappen en de Montages van de Leverancier van de DRUKTE
http://msdn.microsoft.com/en-us/library/aa140022(office.10).aspx
(het onderzoek naar „ervaart“ in uw browser, is het een lange pagina)


U kunt geen inwoner (ervaar) SQL in het verslag het van een bron vorm bezit direct schrijven, aangezien er geen bezit is om een verbindingskoord te specificeren.

Goed geluk!
(°v°)
Andere oplossingen  
 
programming4us programming4us