• ベストアンサー

ACCESS初心者なのですが。。。

皆さま宜しくお願いいたします。 アクセス初心者なのですが、 フォームでデータシートを表示したい場合、 フォームの新規作成→オートフォーム:データシートを選択し、表示させたいモノ(クエリで抽出したデータ)を選択するとデータシートとして表示されます。『ココまでは問題なかったのですが』 しかし、スイッチボードを作成し、ボタンを(そのフォームを選択して)作成したところ、単票形式で表示されてしまいます(本当はデータシートビューで表示させたかった)。 何が原因でそうなったのか、対処方法を含め、おわかりになりますでしょうか? 質問がわかりづらいかもしれませんが宜しくお願いいたします。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

> しかし、スイッチボードを作成し、ボタンを(そのフォームを選択して)作成したところ、単票形式で表示されてしまいます(本当はデータシートビューで表示させたかった)。 メニュー用フォームビルダで作成した、ということなら こちらを参考に。 http://www.accessclub.jp/bbs3/0134/superbeg46440.html

1224jmm
質問者

お礼

有難うございました。 無事出来ました。 まだモジュールまでは手が出なかったデス。 勉強していきます。有難うございました。

その他の回答 (2)

noname#140971
noname#140971
回答No.3

SWITCHボードでしたか・・・ SwitchboardID__ItemNumber__ItemText__________________Command__Argument _________________1________________0__メイン スイッチボード___Default _________________1________________1__新規メニュー コマンド___3____________Employee 次のように引数を変更 SwitchboardID__ItemNumber__ItemText__________________Command__Argument _________________1________________0__メイン スイッチボード___Default _________________1________________1__新規メニュー コマンド___3____________Employee/3 そして、SWITCHボードのコードも次のように変更。 Private Function HandleButtonClick(intBtn As Integer)   ・・・・・     ' Open a form.     Case conCmdOpenFormBrowse       DoCmd.OpenForm CutStr(rs![Argument] & "/0", "/", 1), CutStr(rs![Argument] & "/0", "/", 2)   ・・・・・ End Function これで、 DoCmd.OpenForm "Employee", acFormDS を実現できます。 単票のときは、Employee/0 ないし Employee で指定なしです。 なお、標準モジュールに次の関数を登録する必要があります。 Public Function CutStr(ByVal TEXT As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String      strDatas = Split("" & Separator & TEXT, Separator, , 0)   CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function

1224jmm
質問者

お礼

今回は#2のbonaronさんの方法で反映させてしまいましたが、 Husky2007さんの方法でも試してみます。 有難うございました。

noname#140971
noname#140971
回答No.1

Private Sub コマンド0_Click() On Error Resume Next   DoCmd.OpenForm "Employee", acFormDS End Sub acFormDS を指定していないからです。 その場合、既定値のビューモードが指定されたと解釈されます。 単票形式で表示される理由です。

関連するQ&A

  • クエリを元に単票形式のフォームを作成したい。

    初歩的な質問ですみません。 期日切れのレコードだけを抽出するクエリを作成し、 それを単票形式のフォームで作成しようとしたのですが、作成できません。 手順は、 (1)フォームの新規作成をクリック (2)オートフォーム:単票形式を選択 (3)元となるテーブルまたはクエリの選択:該当のクエリを選択 (4)OKをクリック …しかし、何も起こりません。 原因は、抽出すべきレコードが無いからかと思い、 抽出条件に該当したレコードを作成しましたが、同じ結果でした。 一体、何が原因なのか分からず、皆さんに相談させていただきました。 よろしくお願いします。

  • アクセス2000について

    アクセス2000でデータベースを作成しています。 幾つかのテーブルをリンクさせて、リンクしたテーブルからフィールドを選択してクエリを作り、そのクエリに基づいて単票形式のフォームを作成しました。 単票フォームの基になっているクエリを使って、表形式のフォームをオートフォームウィザードで作成しようとすると、「インデックスが有効範囲にありません。」というメッセージが出てきてフォームが作成できません。 どうしたらいいのでしょうか?誰か教えてください。

  • Accessのフォームのデータシート形式について

    Accessのフォームには、単票形式や表形式などがありますが、 そのうちの一つの「データシート形式」とはテーブルと何が 違うのでしょうか。 データが保存されないことはわかるのですが、見た目は全く一緒だし レイアウトをコントロールで変えるわけでもないし。 また、各形式には「データシートビュー」で一応データシート形式で フォームを見ることができるのになぜわざわざ「データシート形式」で作成する 必要があるのでしょうか ご存知の方教えて頂けますか。

  • Access:データシート形式表示のフォームをそのままExcelへ

    Access2003 WinXPです。 フォームにサブフォームを置き、クエリで抽出したデータを データシート形式で表示しているフォームをサブフォームへ表示させています。 この、サブフォーム、またはデータシート形式のフォームをまるっと新規Excelへエクスポートしたいのですが、うまくいきません。 クエリをエクスポートは出来ますが、ユーザーがサブフォームに表示されたデータのフィールドを入れ替えて、その見た目のまま出力したいという希望があるので。。。 分かる方いらっしゃいましたら、宜しくお願いします。

  • 【Access2000】レコードの抽出方法

     Access2000を使用してデータベースを作成していますが、抽出条件でつまずいています。  具体的には、  【1】選択クエリーAを基に作成したフォームA(単票形式でレコードを1件ずつ表示)があります。  【2】フォームAの中に単票形式でレポートを出力するマクロボタンが有。  【3】現在はマクロボタンを押すとパラメータで「データNo.?」と入力してもらう形になってレコードを1件抽出する形になっています。    ※画面上に表示されている「データNo.」フィールドの数値を入力してもらう形です。  質問についてですが、今のところはパラメータを入力してもらいレコードを抽出→レポートを出力していますが、パラメータを使わず、現在、フォーム上に表示されているレコード(表示されている1件)を抽出する方法はないかと壁にぶち当たっています。  言い換えれば、レポートを出力する際の元になるクエリの抽出条件で「現在、表示されているレコード」をどのように記述すればいいか、もし御存知の方がいらっしゃいましたら御教示お願いいたします。

  • アクセス初心者ですが困っています。

    アクセスで名簿一覧を作成したいと思っています。 テーブルで1人につき50項目のデータを打ち込んでいます。 それをフォームの表形式で名前と識別番号を表示したいです。 (項目が多いので見やすくするため) フォームの表形式の左側にボタンを置き各詳細データを単票形式 で見れるようにしたいのですがうまくいきません。 現状として、ボタンを押して単票形式のデータを開くことは、でき たのですが表形式のボタンと単票形式のデータが連動しておらず、 ボタンを押すと一番最初の人物のデータしか出てきません。 どなたかアイデアのほうをご教授お願いします。

  • Access:サブフォームにクエリ表示⇒フィールドを絞り込みたい

    Access2003 WinXP です。 フォームにサブフォームを置き、サブフォームのソースオブジェクトにクエリを参照しているデータシート形式のフォームを設定しています。 フォームに絞込み条件を選択するオプションボタン、表示するフィールドを選択するオプションボタンを配置し、 サブフォームへ表示するコマンドボタンを置いています。 この設定を選択した後コマンドボタンを押すと、クエリの中身を書き換えています。 で、実行すると、表示しない設定のフィールドには「Name?」という値が入ったフィールドがしっかり表示されてしまいます。 ソースオブジェクトにクエリ自体を設定すれば回避出来ますが、表示されたデータをダブルクリックするとその1レコードを表示する画面を更に開きたいと思っていますので、サブフォームにデータシート形式のフォームをセットするのがダブルクリックイベントを取得出来て良いかと思っています。 分かりにくい説明ですみません。 何か解決法を分かる方いらっしゃいましたら、お願いします。

  • サブフォームにした方がいいのか親フォームがいいのか

    単票・帳票フォームで使う場合、 サブフォームにした方がいいのか親フォームのままのほうがいいのか。 アクセスでフォームでデータを表示する際に、 フォームのデータシートビューの場合は、 フォームヘッダーにコントロールを置けないから、 データシートをサブフォームとして、親フォームに乗せてコントロールを設置しますが、 単票・帳票フォームの場合は、フォームヘッダーにコントロールが置けますよね。 その場合でもデータシートビューのように サブフォームにした方が良いのでしょうか? そもそもどういう時にサブフォームにした方が良いのかわかりません テーブルやクエリのデータをフォームとしてデータシートビューで表したい上、 コントロールも設置したい時にサブフォームにするべきで、 それ以外(単票・帳票フォーム)はフォームのまま使うべきでしょうか? 添付の画像は、 帳票フォームをサブフォームに載せずにコマンドボタンなどを置いたバージョンです。

  • ACCESS初心者です。

    色んな条件のクエリ(複数)を組み合わせてデータを抽出し、最終的にひとつのエクセルファイルを作成したいです。 エクセルファイルを作成するときはVBで記載したいと考えていますが、 できれば複数条件のクエリを一つのテーブルに蓄積して、そのテーブルからエクセルを作成しようと思っています。 ただし、複数のクエリは全てが同一のレイアウトではないかもしれません。 何か効率の良い方法をアドバイス下さい。

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

専門家に質問してみよう