sql >> Databáze >  >> RDS >> Sqlserver

Chyba MS Access ODBC--volání se nezdařilo. Neplatná hodnota znaku pro specifikaci obsazení (#0)

Hum, zaškrtl bych výchozí textové pole na přístupové straně. Také bych vyvolal propojenou tabulku v návrhovém režimu a chcete zkontrolovat datový typ, který zde předpokládá ms-access. Pro nepodporované datové typy bude ms-access obecně používat řetězec a sql server může chtít něco jiného.

Zkontrolujte tedy jak primární klíč (PK) v hlavní tabulce, tak i typ dat použitý (předpokládaný) v podřízené tabulce pro sloupec cizího klíče (FK). Zatímco jsme u toho, zkontrolujte výrazy použité pro nastavení podřízeného/hlavního odkazu v ovládacím prvku podformuláře (nikoli formulář, nikoli podformulář, ale ovládací prvek podformuláře použitý ve vašem formuláři, který tyto dvě tabulky propojuje ).

Dílčí formuláře v přístupu jsou citlivé, pokud v tabulce serveru SQL nemáte sloupec časového razítka. Jak již bylo zmíněno, zkontrolujte datové typy PK a FK a ujistěte se, že se shodují (stačí vyvolat tabulky v režimu návrhu v ms-access – zobrazí se chybová zpráva o režimu návrhu, který je pouze pro čtení, ale pokračujte dál, abyste může zkontrolovat/zobrazit, aby se zajistilo, že se datové typy shodují).

Pro podřízenou tabulku tedy potřebujete sloupec PK, FK a také sloupec časového razítka (sloupec TS nemusíte zobrazovat v podformuláři, ale potřebujete ho v tabulce).

Podformuláře v ms-access jsou citlivé a často selžou, pokud do tabulky SQL nezahrnete sloupec časového razítka. (přístup používá tyto sloupce verze řádku k určení, zda byla data změněna).



  1. Získání překročení časového limitu čekání na zámek; zkuste restartovat transakci, i když transakci nepoužívám

  2. Připojení Pythonu 2.7 k Oracle:ztráta (polských) znaků

  3. Jak spočítat všechny řádky při použití SELECT s LIMIT v dotazu MySQL?

  4. MySQL zkombinuje dva sloupce a přidá je do nového sloupce