Měl jsem aplikaci, která fungovala podobně:frontend MS Access na backend MySQL. Byla to tak obrovská bolest, že jsem místo toho napsal Win32 frontend. Z hlavy jsem narazil na následující problémy:
- Zdá se, že vývoj propojení ODBC již dávno skončil. Kolem se vznášejí různé verze --- velmi matoucí. Odkaz ODBC nepodporuje Unicode/UTF8 a vzpomínám si, že s ním byly i jiné problémy (ačkoli některé by bylo možné překonat pečlivou konfigurací).
- Pravděpodobně budete chtít ručně upravit schéma databáze, aby bylo kompatibilní s MS Access. Vidím, že jste se již dozvěděli o potřebných náhradních klíčích (tj. primárních klíčích int) :-)
- Měli byste mít na paměti, že možná budete muset použít průchozí dotazy k provádění sofistikovanějších SQL manipulací s databází MySQL.
- Při používání velkého množství VBA buďte opatrní, protože to má tendenci poškodit váš frontendový soubor. Pravidelná komprimace databáze (pomocí hlavního menu, Nástroje | Databázové nástroje | Komprimovat a obnovovat, nebo něco takového --- používám holandskou verzi) a vytvářet spoustu zálohování je nezbytné.
- Přístup obvykle způsobuje velké zatížení sítě. Jako, opravdu obrovské množství. Na to jsem nenašel řešení. Pokud to chcete mít pod dohledem, doporučujeme použít síťový monitor!
- Access trvá na ukládání booleovských hodnot jako 0/-1. IMHO dává 0/+1 větší smysl a věřím, že je to výchozí způsob, jak dělat věci i v MySQL. Není to velký problém, ale pokud vaše zaškrtávací políčka nefungují, měli byste to určitě zkontrolovat.
Jednou z možných alternativ by bylo umístit backend (s daty) na sdílený disk. Pamatuji si, že je to dobře zdokumentováno, také v nápovědě. Možná se budete chtít podívat na některé obecné rady o rozdělení na frontend a backend a kód, který se při spuštění automaticky znovu připojí k backendu ; Mohu vám také poslat nějaký další ukázkový kód nebo jej zveřejnit zde.
V opačném případě můžete také zvážit MS SQL. Nemám s tím zkušenosti, ale předpokládám, že to spolu s MS Access funguje mnohem lépe!