データベースへの SQL ODBC 接続を持つ Excel ワークブックがあります。データは Excel テーブルで更新されるはずです。結果に触れない限り、これはうまくいきます。
ただし、このテーブルを操作しているときに、マクロで更新した後、列のデータの一部を変更する必要があります。列名、列数、列の位置は変更しません。
ただし、テーブルのデータが変更されると、ODBC 接続は変更された列のデータを更新しなくなります。これらの列のデータを変更すると、更新によってそれらのフィールドは変更されません。ナンセンスをコラムに書くと、それはそのまま残ります。フィールドを空白のままにすると、空白のままになります。
ODBC の更新では、データに触れた列が無視されるようです!!!
なぜこれが起こるのか誰にも分かりますか?
いろいろな可能性を調べてみたが、どれもウソだった
- SQL コードは常にすべてのデータを更新します。現在のデータを削除し、すべての新しいデータを完全にロードすることになっています(つまり、最新のレコードだけではありません)。
- MSDN ライブラリで、一部の ODBC 接続の更新では、最初に列の最初の 8 つのフィールドをチェックしてデータ型を判断することを読みました。ロードされたデータに影響を与えないように、最初の 8 行はそのままにしてみました。うまくいきませんでした。
- ODBC 接続または SQL コードを誤って変更していないことを確認しました。すべて同じままです。