10

Excel ファイルを追加すると、いくつかのメモ フィールドのデータが切り捨てられます。Access テーブルのフィールドは、既にメモ型として設定されています。問題は、一部のメモ フィールドの最初の数行にエントリがないことだと思います。既にメモ型として設定しているにもかかわらず、Access はデータがテキスト フィールドであると想定しています。

CSVとして追加しようとしました。動作しませんでした。

最初の行に 255 文字の制限を超えるダミー データを配置しましたが、それを行ってもデータは切り捨てられません。

Excel ファイルをインポートするたびにダミー データを入力する必要はありません。これは、少なくとも隔週、場合によってはもっと頻繁に完了するプロセスです。同じデータベースで作業する将来の従業員のために、データを簡単にインポートする方法を設定したいと考えています。何か案は?

更新:最初の数行にダミー データがあっても、Excel ファイルをインポートすると、Access は 10 個のメモ フィールドのうち 3 個のデータを切り捨てます (ダミー データの文字長は 785 です)。今、私は本当にアイデアを失っています。

4

8 に答える 8

10

しばらく経ちましたが、私はあなたと同じ問題を抱えていました。

多くの掘り下げの後、マイクロソフトの素晴らしい世界が説明していることがわかりました。

インポート中のエラーを回避するには、各ソース列のすべての行に同じタイプのデータが含まれていることを確認してください。Access は、最初の 8 つのソース行をスキャンして、テーブル内のフィールドのデータ型を判断します。最初の 8 つのソース行で、どの列にも異なるデータ型の値が混在していないことを確認することを強くお勧めします。そうしないと、Access が正しいデータ型を列に割り当てない可能性があります。

どうやら、これは、Excel ファイルを既存のテーブルに追加するときに、列が書式設定されメモ フィールドとして保存されている場合でも、Excel ファイルの最初の 8 行すべてが 256 文字未満である場合、実際に指定するつもりだったと Access が想定することを意味します。したがって、残りの行は 255 文字で切り捨てられます。上位 8 行内に「ダミー」行を配置するいくつかのテストを実行しましたが、それぞれが 255 文字を超えるインポートをトリガーしました。

これで、新しいテーブルにインポートする場合、ウィザードですべての書式設定オプションを選択できるようになりました。

テーブルに既にあるすべてのデータを上書きしても問題ない場合は、新しいテーブルにインポートすると便利です。ただし、本当に追加する必要がある場合は、一時テーブルにインポートして、そこから追加することをお勧めします。これを行う簡単な方法は、Elliot_et_al が望んでいたように、インポートを保存してから VBA から実行することです。その後、VBA でも追加クエリを実行することもできます。テーブルを正しくセットアップすれば、うまくいくかもしれません

INSERT INTO [MyTable]
SELECT [MyTable_temp].*
FROM [MyTable_temp];
于 2013-12-30T19:10:51.123 に答える
0

過去に、上記のリッチ テキスト ソリューションと、インポートされた最初のレコードとして「ダミー行」を使用して運が良かったことがあります。ありがとうございます!しかし、今日、何度も繰り返すインポートのためのより効率的で一貫性のあるソリューションに出くわしたと思います。Access 2007 で試してみました。

データを新しいテーブルにインポートする場合と同様に、インポート ウィザードを使用します。仕様を設定するすべての画面を通過します。最も重要なのは、面倒な [フィールド オプション] の [データ型] 領域で各フィールドのデータ型を確認または指定することです (最近のテキスト ファイルの場合、これはテキスト インポート ウィザードの 3 番目の画面でした)。ここで必ずメモ型フィールドを指定してください。(心配する必要はありません。これは一度だけ行う必要があります。)

最後の「ウィザードが必要とするすべての情報です...」画面に到達したら、左下の「詳細...」ボタンを探します。これにより、今行ったすべてのことを要約した画面が表示されます。右側の [名前を付けて保存...] を探します。これらの仕様をわかりやすい名前で保存します。(すぐ下の [スペック...] をクリックすると、スペックが保存されたことを確認できます。) [OK] をクリックして、詳細画面を終了します。

実際に新しいテーブルを作成する必要がない場合は、ウィザードをキャンセルできるようになりました。次に-これは、切り捨てを避けるためにこれから毎回できることです-「レコードのコピーをテーブルに追加...」で通常のインポートウィザードに移動します。ウィザードでは、同じことが表示されるはずです「詳細...」ボタン。それを開き、「仕様...」をクリックして、保存した仕様をダブルクリックします。「OK」と言って「詳細設定」を終了し、ウィザードを完了します。これにより、メモ フィールドをメモ フィールドとして保持するよう Access に指示する必要があります。

CSV を既存のテーブルにインポートするとき、[詳細設定] 画面に進む前に、通常のウィザード画面 (テキスト修飾子の指定など) をいくつか実行する必要があることがわかりました。なぜこれが幸せなのかはわかりませんが、参考までに。

これが、私のように Field Truncation のインポート エラーに苦しんでいる他の誰かに役立つことを願っています!

于 2015-04-17T19:24:40.480 に答える
0

多くの場合、メモ フィールドのテキスト形式を通常のテキストから RTF に変更するだけで、テーブル データを開くと、インポートされたすべてのテキストが表示されます。

于 2015-09-28T15:57:00.927 に答える