• ベストアンサー

Accessのフォームでデーターが入力できない

超、超、初心者です。 的外れな質問をしていたら、ごめんなさい。 クエリを元にフォームを作ったのですが、データーを入力する欄が出てきません。つまり、新しいレコードの欄(*のついてるところ)が出てきません。 クエリを元にすると、出ないものなんですか? ちなみに、クエリでは簡単な計算をさせてあります。 Windows MeでAccess2000です。 どうかよろしくお願いします。

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

  • ベストアンサー
  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.5

> ”部品コード”入力時に 検索し 表示 いろいろと方法は ありますが、Dlookupはお手ごろです。 例えば フォーム上の 部品コード を元に  ”部品マスター”の 部品名 を  フォーム上の 部品名表示テキストボックスに表示するには 次のように 使います。 Me.部品名 = Dlookup("[部品名]","[部品マスター]","[部品コード]='" & Me.部品コード & "'")

yupa
質問者

お礼

丁寧な説明ありがとうございます。

その他の回答 (4)

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.4

入力用フォームは ”入出庫情報”のテーブルだけを使ったほうが 無難だと思います。 ”部品マスター”の情報は、 非連結の テキストボックス か ラベル をフォームに配置し、 ”部品コード”入力時に 検索し 表示すれば良いと思います。

yupa
質問者

補足

回答ありがとうございます。 >”部品コード”入力時に 検索し 表示すれば良いと思います。 って、具体的にどうすればよいのでしょう。 よろしければ、回答お待ちしております。

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.3

集計クエリーと云う言葉が正しいのか分かりませんが、 yupaさんの作られた選択クエリーでは 部品コードごとに 出庫数、返品数、入庫数など 合計 を出してますよね。 そのことを意味して 集計クエリー と書きました。

yupa
質問者

お礼

そうなんですか・・・ 知らずにすみません。 ありがとうございました。

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.2

集計クエリーを元に作られたフォームでは 新規入力は出来ないと思います。 フォームには集計結果が表示されているので、 新規入力では 集計結果を入力しようとしていて、 通常の逆の順で処理を行おうとしているためだと思います。 これは、『アクセスで、集計結果を テーブルに展開出来ない。』からだと思います。

yupa
質問者

お礼

お答えありがとうございます。 集計クエリーを元に作ったわけでは、ないのです。 選択クエリーを元に作ったんですが、 それでも計算をさせちゃうと集計クエリーに なっちゃうんですかねぇ。(゜ーÅ)ホロリ あああああ、このさきどうしよぉぉぉぉ

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

通常は下記操作をすると思いますが、次ぎの操作とどこが違うか補足してください。 違うのは(10)だけでしょうか。 (1)アクセスを立ち上げ、指定データベースを立ち上げ。 (2)フォームをクリック (3)新規作成をクリック (4)フォームウイザード-(基になるテーブル・クエリの選択)▼をクリックして、クエリ名を出し-OK (5)選択可能で選択したフィールドで>>をクリックし    全項目選択-次へ (6)単票形式-次へ (7)(スタイル)標準-次へ (8)フォーム名指定し-完了 (9)フォームが表示される (10)レコードセレクタで「右三角*」をクリック すると最終レコード数+1になり、ブランクのテキストボックスが出る。 また (1)(オブジェクトタブ)クエリをクリック (2)指定のクエリ(名)をクリック (3)クエリの結果がテーブル形式で表示される (4)メニューの「表示」をクリック (5)「SQLビュー」をクリック。SQL文が表示される。 どんなSQL文が出ますか。

yupa
質問者

補足

親切丁寧にありがとうございます。 おっしゃられているように違うのは(10)だけなんです。 それと、(5)の「SQLビュー」をクリックすると 下記のような文章が出ました。 SELECT [部品マスター].[部品コード], [部品マスター].[部品名], Sum(IIf(IsNull([出庫数]),0,[出庫数])) AS 出庫数の合計, Sum(IIf(IsNull([返品数]),0,[返品数])) AS 返品数の合計, Sum(IIf(IsNull([入庫数]),0,[入庫数])) AS 入庫数の合計, [部品マスター].[初期在庫数], [初期在庫数]+[入庫数の合計]-[出庫数の合計]-[返品数の合計] AS 現在庫数, [部品マスター].[部品ID] FROM 部品マスター LEFT JOIN 入出庫情報 ON [部品マスター].[部品コード]=[入出庫情報].[部品コード] GROUP BY [部品マスター].[部品コード], [部品マスター].[部品名], [部品マスター].[初期在庫数], [部品マスター].[部品ID]; わたしには、何の事やらちんぷんかんぷんですが、 これで原因が分かるでしょうか? よろしくお願いします。