• 締切済み

ACCESS2007 TRUEが-1

お世話になっております。 OS:Windows7 Pro ACCESS2000のDBをACCESS2007で開いて使用しております。 Excel2007のデータを、ACCESSのフォームの左側のバー(なんで言うんでしょう 汗)に貼り付けてインポートもどきをしております。 Excelの中に「TRUE」「FALSE」という文字列があるのですが、 これをACCESSに貼り付けると「-1」「0」となってしまいます。 以前から同じDBを使用しており、OS:WinXP、ACCESS2000だった時は、 貼り付けると「TRUE」「FALSE」という文字列になっていました。 「TRUE」「FALSE」という文字列にするには、何か方法ありませんでしょうか。 ちなみにExcelは外部から送られてくるデータの為、Excelファイル内で いろいろ編集するのは避けたいです。 出来たらACEESSの受け側で何かできると良いのですが。 宜しくお願い致します。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

テーブルをデザインビューで開いて そのフィールドが多分、Yes/No型になっているでしょうから 書式の欄に、True/False とすれば良いのでは?

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。No1のSQL文の中で、False、Trueとしていますが、 実際に合わせて、FALSE、TRUEに変更してください。 以下です。 UPDATE テーブル名 SET テーブル名.フィールド名 = IIf([フィールド名]="-1","TRUE",IIf([フィールド名]="0","FALSE",IIf([フィールド名]="TRUE","TRUE",IIf([フィールド名]="FALSE","FALSE"))));

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

簡単にしようと思えば、更新クエリで-1はTrueに、0はFalseに 変換するのがいいのでは。たとえば、 UPDATE テーブル名 SET テーブル名.フィールド名 = IIf([フィールド名]="-1","True",IIf([フィールド名]="0","False",IIf([フィールド名]="True","True",IIf([フィールド名]="False","False")))); のように。ただし、更新するフィールドの型をテキスト型に 変更しておかないとエラーになります。 一応、何回同じテーブルに対して使用してもいいようにはしてありますが、 かならず、フィールドには-1か0が必ずあるものとします。違う場合は 空文字になります。 テーブル名とフィールド名は実際にあわせてください。

関連するQ&A