• ベストアンサー

アクセスでのデータ入力時に可能でしょうか?

Access2000でアンケート入力&集計システムを構築しなくては ならないのですが(Accessは素人です。無謀だと思われるでしょうが 委託する費用が工面できず已む無く自前でやることとなりました)、 このようなことができるのか教えてください。 よくあることですが、例えば設問1で1を選択した場合のみ設問2 に答えなさいというような場合、設問1で1以外を選択したら 設問2には回答不要を表す値(例えば9)を表示させ、そのフィー ルドにはフォーカスがいかないようにしたいのですが可能でしょうか? また、アクセスのテーブルを定義するさい、アクセスは可変長データ なのでフィールドサイズを細かく気にする必要はないとどこかで聞いたの ですが、一方では領域を抑えるためにも細かく指定すべきだとも聞きました。 どちらが正しいのでしょうか? あわせてよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#2835
noname#2835
回答No.2

アクセスのテーブル定義の件ですが、 >どちらが正しいのでしょうか? どちらも正しいです。 テキスト型の場合は可変長で初期値が50になっているはずです。 普通は初期値のまま使用して、文字数が足らない場合のみ フィールドサイズを大きくすれば良いと思います。 「領域を抑えるため」というのは、大規模なデータベースでデータ件数が 非常に多い(数万件とか数十万件)場合には、どのデータ型を使用するか、 無駄な使い方をしているかどうかで、データベースの応答性やファイルサイズに影響してきます。 究極の設定を追及する場合には考慮しますが、通常はそれほど 気にする必要はないと思います。

enako
質問者

お礼

ありがとうございます。 ホストコンピュータでデータベースを構築 したことがあるため、どうもデータ定義に は気を使いすぎるところがあるのかもしれ ません。 参考になりました。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

最初の問題については VBAを利用することによって実現できます。 例えば、 設問1のオブジェクト名_click() If 設問1のオブジェクト名.value then 設問2のオブジェクト名.enabled = false else 設問2のオブジェクト名.enabled = true End If End Sub といったコードをモジュールに書けばOKです。 もう少し詳しいコードがお知りになりたければ、各オブジェクト名や配置がどうなっているかを教えてください。 2番目の問題ですが、アクセスで領域の指定をしたことがないのでそのことに関してはあまりよく解りませんが、ツールバー→ツール→データベースユーティリティ→最適化/修復を行えばファイルサイズは常に最小化されます。

enako
質問者

お礼

早速の回答ありがとうございます。 がんばって記入してみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • accessからのデータ参照について

    ご存知の方がいたら教えて下さい。 【動作環境】 OS:WINDOWS SERVER 2003,WINDOWS XP ACCESS:ACCESS2000 ORACLE:9i(9.2.0.1.0) 1つのACCESSファイルにシステム部分とデータ部分が存在しているACCESSのシステムを「システム部分はACCESS」「データ部分はORACLE」という形にしました。 ACCESSで管理していたデータをORACLEへ移行して、データ自体は簡単に移行が行え、ODBCでリンクをしてデータを参照できる状態にしました。 ここまでは、良かったのですが移行を行ったACCESSのテーブルに1レコード240ぐらい項目のあるテーブルが存在してリンクテーブルを開くことができません。 クエリーでも項目を選択した場合は参照できますが、全てを表示させようとするとダメです。 パススルークエリ等も試してみたのですが、いまいちうまくいきません。 どうにかして、1レコード240ほどのORACLEデータをACCESS側で参照することができないでしょうか? 説明が分かりずらく申し訳ありません。ご質問いただければ補足を致しますので、よろしくお願いします。

  • Access レポートでの計算

    Access のレポート上で計算をしたいのですが やり方がわかりません。是非教えてください。 例  氏名  得点      田中  63    佐々木 85    鈴木  78    合計  ?   この場合グループ集計はできませんでした。 なにぶん、Access はじめたばかりなのでよろしくお願いします。

  • ACCESS テーブルの正規化

    EXCELデータで以下のような正規化されていない項目のデータをACCESSに取り込んで顧客毎に商品の数量を計算するクエリを使用しています。 顧客ID|顧客名|商品名1|商品名2| ・・・・・・・ XXXXX ○○○       2      3  ・・・・・・・ XXXXX ○○○       2      3  ・・・・・・・・ XXXXX ○○○       2      3  ・・・・・・・・ 商品名が可変で追加されたり、削除されたりするのですが、今までは集計の都度クエリを作成していたため問題はありませんでしたが、今回クエリからレポートとフォームを作成するように指示がありました。自分が集計の都度クエリを作成出来ない環境になったため、事前にクエリを組んでフォーム、レポートを作っておきたいのですが、可変な項目名の集計クエリを作成する方法はあるでしょうか? 私のイメージでは 顧客ID|顧客名|商品名 数量 XXXXX ○○○  商品1  2 XXXXX ○○○  商品2  1 XXXXX ○○○  商品3  3 このように正規化出来ればよいと思います。 ACCESSにはテーブルの正規化機能がありますが、操作方法を読んでみるとやはり事前に項目を指定して作成するように読み取れました(間違っているかもしれませんが) 何か良い方法があれば教えてください。 EXCELのVBAは多少書けるのですが、ACCESS VBAはあまり得意ではありません。 自分でメンテナンス出来るように、出来ればクエリで作成したいのですが無理でしょうか? よろしくお願いします。

  • Accessランタイムについて

    お世話になります。 Accessにてツールを作成し、Accessランタイム2010がインストールされているPCで利用させたいと考えております。 そこで質問ですが、Accessランタイムでは新規にテーブルやフォームは作成できないようですが、テンポラリテーブルを作成することは可能なのでしょうか。 例えば、VBA内にてテーブルを作成するSQLを実行するような場合です。 ※作成するツールはExcelファイルをインポートし、そこで作成されたテンポラリテーブルで色々集計して、最終的にExcelエクスポートさせようとしてます。 ご教授の程、宜しくお願い致します。

  • Access初心者です

    ほぼ触ったことがない状況なのに仕事でExcelからアンケート調査結果をクロス集計で出すことになりました。 単数回答はなんとか出来るようになったのですが複数回答のクロス集計が上手くいきません。 どなたが解りやすく教えていただければ有難いです。 内容は,1つの設問に8つの選択肢があます(いくつでも選択可)。それぞれを集計の際にex.)問1_1,問1_2,・・・問1_8と設定して入力をしています。 Excelのデータは全て,入力のあったものに対し「1」を入力しており,無回答については空白で処理をしています。 その設問と,仮に「問2:男性,女性,無回答」という設問をクロスさせようとする場合,どういった処理を行えばよいのでしょうか。デザインビューでの処理,SQLでの処理という部分でも右往左往しております。 環境はXP,Access2003です。 乱筆乱文失礼いたしました。是非ご指導宜しくお願いします。

  • アクセスでの簡易入力、および、条件書式の設定について

    アクセスのプロフェッショナルの方にお聞きしたいのですが、以下にあるような処理はアクセスで処理できるのでしょうか? (1)コンボボックスで、指定の項目(Ex.9-12時、12-15時)を選択すると、テーブルの各フィールド(Ex.9時、10時、11時、12時)に数字の1を入力させる。 (2)次に、このテーブル結果を集計して、集計結果が特定の数値に満たない場合には、赤などで表示される(Ex.本来2であるべきであるが、集計結果が1である場合など)。  これは、勤務表等の利用を想定しており、数人で利用するものになります(就業人数を計算するものです)。また、集計結果はサプフォームで表示させるのですが、平日と土日では条件付き書式で赤で表示させる数値も違うので(Ex.平日は2、土日は1)、どうしたら良いか分かりません。できれば、1つのサブフォームで表示させたいのですが。  上記のようなことは処理は可能でしょうか、または、VBA等を使用しなければならないのでしょうか。  ご存知の方がいらっしゃいましたら、最も簡単にできる方法のテーブル数、クエリ数等も教えていただければ幸いです。  ご指導よろしくお願いします。

  • Accessの選択クエリから最終日付のデータのみ抽出したい

    Access2002を使用しています。 初心者ですのでよろしくお願いします。 アクセスで選択クエリを作成しました。 このクエリのフィールドは「日付」と「金額」です。 この選択クエリから最終日付のレコードのみを抽出する選択クエリを作製したいのですが、何か方法はありませんでしょうか? 最終日付に対応する金額を抽出したいイメージです。 なお、レコードの作製順番は、必ずしも日付順とはなっていません。(例えば、7/2付でレコードを作成後、7/1付で次のレコードを作製している場合もあります。) 一つの方法として、選択クエリのデザインフォームで集計ボタンを押して日付フィールドの集計項目(グループ化)で「最後」を選択しているのですが、「金額」が全レコード表示されてしまいます。 また、同様にして、金額フィールドの集計項目で「最後」を選択すると、最後に作成したレコードが表示されてしまいます。(上記の例では、7/2ではなく7/1のレコードが表示されます。7/2に対応する金額を抽出したいのですが…) アドバイスよろしくお願いします。

  • おススメのアンケート集計のフリーソフト

    500枚程度で、設問数が15程度、平均5択程度の選択肢+自由記入欄つきのアンケート集計を行うことになりました。 アクセスもよくわらず、集計ソフトをもってないので、集計フォーム化されているフリーのアンケート集計ソフトを使おうと考えています。しかし、検索しているといろんな種類があって、どれを選べばよいかわかりません。一個一個確認する時間もありません。 ですので、私でも使えそうなおススメのフリーのアンケート集計ソフトを教えてください。 以上、よろしくお願いします。

  • ACCESSテーブルの「フィールド」作成方法について

    Microsoft Accessのテーブル「フィールド」に関する質問です。 作業のイメージをはじめに設定します。ある件で市場調査を行いましたが、設問が下記のとおり、一部に複数選択可能な回答欄があります。 設問1:あなたのすきな色を次の中から「ひとつだけ」選択してください。 (1)赤 (2)青 (3)黄 設問2:あなたの好きな物を次の中から「いくつでも」選択してください。 (1)りんご (2)みかん (3)ばなな (4)すいか (5)かき 以上のようにした場合に、テーブルの「フィールド」をどのように作成したらよろしいのでしょうか、ご教示ください。

  • 大規模データの集計・分析時のソフトウェアについて

    ある団体の保有しているデータの集計・分析作業を行うことになりました.以前同様の業務をしたことがあったのですが,そのときはデータを保有していた先方のシステムをお借りできたので何も考えずに集計・分析作業に集中できました.しかし,今回は先方にそのような環境がないとのことで,環境も構築する必要があります. 以下のような状況の場合,安価に集計・分析するためにはどのようなデータベースのソフトを選択するのが良いでしょうか? ・集計・分析の対象となるデータは月ごとに多くて5億件(これを四半期分なので三ヶ月分) ・1件あたりのデータに含まれる情報はせいぜい100バイト ・集計方法は単純な合計・平均がメインですが,ミクロな分析も必要なので,SQLなどでの制御も考えています. ・集計・分析時にデータの更新などは発生せず,利用者(分析者)は同時に複数アクセスすることはありません. ・データベースを動かす環境の候補は Windows か Linux (i386) のどちらかです. このような場合,どういったデータベースソフトを選択するのが良いでしょうか.よろしくお願いします.

専門家に質問してみよう