Microsoft Access 掲示板

エクセルにリンクしているテーブルのフィールドにリレーションシップを作成したい

4 コメント
views
4 フォロー

こんばんは。エクセルのシートにリンクしているテーブルにフィールド「区分」があります。このフィールドには1から9迄の数字とA、B が混在しています。テーブル区分マスターを作り(フィールドは区分と区分名)でフィールド区分に1から9、A、B、フィールド区分名に対応する名称をいれたのですが 数値型でもテキスト型でも ”型が一致しません”と表示されてしまいます。エクセルの標準の型は何になるのでしょうか? また、結びつけるのはどのようにすればよろしいのでしょうか?

igachan
作成: 2019/12/06 (金) 22:15:33
通報 ...
1
hiroton 2019/12/09 (月) 08:38:18 a3af2@f966d

適当なファイルを作って試してみました(Excel2013,ACCESS2013)
ACCESSでリンクしたテーブルをデザインビューで開いてみるとExcelの「区分」の内容によって数値型だったり短いテキスト型だったりしました

何を基準にしているのかはちょっとわかりそうにもありません
ちなみに(Excelに)日時列を作って日付だけを入力して置いたら日付/時刻型になっていました

Excel側で区分の列の書式を文字列にしたら数字のみのデータでも短いテキスト型になりました

エクセルのデータをデータベースとして使いたいのならすべての列に書式を設定して「標準」を使わないようにすべきなのでしょう

2

エクセルのデータをデータベースとして使いたいのならすべての列に書式を設定して「標準」を使わないようにすべきなのでしょう

そうなると思います。私はエクセルデータをリンクテーブルで使用することはないので推測ですが。
エクセルのデータにリンクしても参照のみで更新はできないので、データベースとしての意味は少ないと思います。

アクセスのテーブルにエクセルデータをインポートして使用するのがいいと思います。

3
igachan 2019/12/10 (火) 00:01:27 0961e@5bec7

ありがとうございます。インポートの勉強をしてみます。
ちなみにインポートすると数字もアルファベットも短いテキストになるのでしょうか?それともエクセルの書式を文字列にしてからインポートするようなのでしょうか?
 試してから結果をUPさせていただきます。

4
hatena 2019/12/11 (水) 11:15:18 修正

事前にインポートするためのテーブルを作成しておきます。
フィールドのデータ型は適切なものに設定しておきます。
数値なら数値型、日付なら日付型、テキストならテキスト型というように。
このテーブルにインポートします。

エクセルの方も同じ列には同じ種類のデータでないと正確にインポートはできません。日付とテキストが混在してるなどはNGです。