• ベストアンサー

再計算って出来ますか?

Windows2000/ACCESS2000を使用してます。 アクセスで再計算って出来ますか? 受注明細と登録台帳の2つのフォームがあります。 受注明細には登録年月日と言う項目があって、登録された時点ではまずは登録台帳に登録年月日を入力してから受注明細の登録年月日に表示するようにしたいのです。終了ボタンをクリックしたら再計算されて、登録年月日とかが入力される様に設定する事って出来るのでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.10

日付型のデータなら登録年月日から 年はYear([登録年月日])、月はMonth([登録年月日])、日はDay([登録年月日]) で各数値のみ取り出せます。 クエリで登録年、登録月、登録日で 登録年:Year([登録年月日]) の様に記述 すれば簡単に取り出せます。 登録台帳などに入力し保存する場合はフォームで登録年月日の入力をし、各関数 を使って登録年、登録月、登録日を抜き出しテーブルに保存する仕様にすれば 良いと思います。

twingo
質問者

お礼

こんにちは。 お返事が遅くなってすいませんでした。 違う方法で無事設定が出来ました。 色々ご迷惑お掛けして申し訳ございませんでした。

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

その他の回答 (9)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.9

Date()関数を使って当日の抽出が出来るのは日付/時刻型だけです。 てっきり登録年月日は日付/時刻型だとばかり思っていました。 それでは登録台帳の登録年月日の抽出はテキストで持ってこないと 抽出できません。 DateValue([登録台帳]![登録年月日])でデータ型を日付型に変換して =Date()で抽出するか(これはテキストでの日付の持ち方によりちょっ と変わります) 登録台帳フォームを閉じた時に登録日を入力するフォームを作りその フォームの登録年月日を更新クエリの登録台帳の登録年月日の抽出条件 に変えるかが簡単な方法だと思います。これは登録台帳閉じる→登録 年月日更新フォーム→更新クエリの順に処理する仕様にするか。 登録年月日は日付型でテーブルにあるとばかり考えていたのでゴメンなさい。

twingo
質問者

補足

度々すいません。 テーブルの登録年月日のフィールドをテキスト型から日付型に変えました。 で、登録年・登録月・登録日をそれぞれ分けるようにしたいのですが無理なのでしょうか? テーブルのプロパティの既定値のところに登録年だったらDatePart("yyyy",Date())って入れてみたのですが[プロシージャーにエラーが出ました。]とメッセージが出てしまいました。 出来れば、年・月・日をそれぞれ別々にしたいのですが無理なのでしょうか? お手数かけますが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.8

>テーブル名が登録台帳だったら[登録台帳]![登録年月日]で良いのですよね? 更新する受注明細の登録年月日に[登録台帳]![登録年月日]でOKです。 >更新フィールドに表示されてません。 という事は抽出されていないと云うことです。 抽出は登録台帳の登録年月日がDate()当日ですよね。登録台帳の登録年月日が 当日Date()のレコードを抽出できていません。 >抽出条件に=Date()を入力したのですが、"Date()"になってる 前を見返した所上記を見つけました。うっかり見落としてました。""で条件が くくられるのはテキストの条件記述時です。登録台帳テーブルの登録年月日を テキスト型で扱ってないでよね。

twingo
質問者

補足

度々すいません。 登録年月日はテキスト型になってますよ。 数値型にしないといけないのでしょうか? ご迷惑お掛けしますが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.7

更新クエリを開きビューで表示させたときに当日の登録が3件だったら3レコード 分の更新フィールド(登録年月日)は表示されていますか? されているようでしたら更新の記述が何か違うのではないかと思うのですが。 更新の記述は[登録台帳テーブル]![登録年月日]のような感じになってますか? もしくはレコードの保存したタイミングの問題もあるかもしれません。 更新クエリのみを動かした場合も「0件のレコードが更新されました」と メッセージが帰るのでしょうか?

twingo
質問者

補足

いつもお世話になってます。 更新フィールドに表示されてません。更新記述ですが、テーブル名が登録台帳だったら[登録台帳]![登録年月日]で良いのですよね? ちなみに登録年・登録月・登録日が別々に分かれてる場合でもそれぞれのフィールドに年・月・日で分けて記述すれば良いのですよね? 更新クエリのみを動かしても0件ってメッセージが返ってきます。 いつもいつもご迷惑お掛けしますが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.6

>登録年月日の何も入力されていない(空の状態)のテーブルが表示されてました。 更新クエリをビューで見た場合は更新される前の状態が表示されるので、受注明細 テーブルの登録年月日のフィールドが空白の場合は空白の状態で表示されます。 なので更新する受注明細の登録年月日が空白なら空白の表示がされなくてはいけません。 実際に更新クエリを動かすとレコードの更新処理のみされ画面には出てきません。

twingo
質問者

補足

おはようございます。 登録台帳に今日の日付を入力して保存し終了をクリックしたら、「更新クエリを実行するとテーブルのデーターが変更されます」とメッセージが出て「はい」をクリックすると「0件のレコードが更新されました」と表示されました。ご迷惑お掛けしてますが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.5

>注番の設定 受注明細と登録台帳どちらにも共通する注番があるとの最初の補足でしたよね。 更新クエリでテーブルに受注明細と登録台帳を設定してそのテーブルの注番同士 をリレーションすることで受注明細と登録台帳を注番をキーに1対1のつながり を持たせます。 登録台帳の登録年月日が当日のレコードだけ抽出するために登録台帳の登録年月日 の抽出条件に=Date()で呼び出し同じ注番を持つ受注明細の登録年月日に登録台帳 の登録年月日の日付を更新するという事なのですが。 更新クエリのデザインを開いている状態でボタンメニューの[ビュー]ボタンを クリックして登録年月日が当日のレコード分が表示されますか?

twingo
質問者

補足

登録台帳も受注明細も共通の注番があり、注番でリレーションが組まれてます。 >更新クエリのデザインを開いてる状態でボタンメニューの[ビュー]ボタンをクリックして登録年月日が当日のレコード分が表示されますか? >>登録年月日の何も入力されていない(空の状態)のテーブルが表示されてました。 抽出条件に=Date()を入力したのですが、"Date()"になってるのですが、これが原因でしょうか? いつもいつもお手数かけて申し訳ございませんが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>テーブル表示のダイアログ画面で登録台帳と受注明細のテーブルが2つ表示 >させて、登録台帳の登録年月日と受注明細の登録年月日の2つをそれぞれ >デザイングリッドの移して・・ それでOKです。 後リレーションが設定されていれば自動的にリレーションのラインは表示され ますよね。もしリレーションされていなければ受注明細と登録台帳の注番同士を ドラッグして1対1のリレーションをクエリ内でつなげばOKのはずです。 >受注明細の抽出条件のところに[登録台帳テーブル]![登録年月日] 抽出条件ではなく 受注明細のレコードの更新のところに[登録台帳テーブル]![登録年月日]です。 抽出条件は登録台帳の登録年月日のみです。更新クエリはしっかり設定して おかないと抽出で間違えると間違えたレコードが更新されてしまいますので 注意してください。 >閉じる時の設定する時の表示の仕方 閉じるボタンのプロパティを開きイベントにあるクリック時に[イベントプロ シジャ]となってしると思いますのでそれを開いてください。 イベントプロシジャを開くとフォームを閉じる記述が下記のようになっている はずなので閉じる前にオープンクエリの記述を追加してください。 Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click DoCmd.OpenQuery "???", acNormal, acEdit ←この???に更新クエリ名                          を入力してください。 DoCmd.Close   ←閉じる記述です。この前に記述        Exit_コマンド1_Click: Exit Sub Err_コマンド1_Click: MsgBox Err.Description Resume Exit_コマンド1_Click End Sub これでフォームを閉じる前に更新クエリが働いてその後フォームを閉じます。

twingo
質問者

補足

詳しい説明有難うございました。 でも、うまく作動しなかったのは何故でしょう? 1つ疑問に思ったのが、注番の設定とか特にしなくても大丈夫なのでしょうか? 登録台帳に受注明細の顧客名などの内容は注番で受注明細からDlookupで表示される様にしてますが、受注明細の注番のフィールドに注番を入れて登録年月日とかは登録台帳から読込むようになってませんが・・・・教えて頂いたクエリで登録台帳から同じ注番の受注明細へちゃんと表示される様になってるのでしょうか?それともまだ設定しないといけない事があるのでしょうか? 私の説明が分かりにくくて申し訳ございませんが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

簡単に作成するのでしたら 登録台帳フォームを閉じるボタンに更新クエリを開く記述をいれる。 更新クエリは登録台帳テーブルの登録年月日フィールドと受注明細テーブルの 登録年月日フィールドから作り登録台帳テーブルの登録年月日に抽出条件で =Date() で当日の登録年月日だけのレコードを抽出して受注明細テーブルの 登録年月日フィールドに [登録台帳テーブル]![登録年月日] で受注明細テー ブルの登録年月日フィールドを更新する。 このようにすれば登録台帳フォームを閉じる時にいつも当日の日付の登録年月日 は受注明細テーブルの登録年月日フィールドを該当するレコードだけ一括に更新 します。

twingo
質問者

補足

おはようございます。 いつもアドバイス有難うございます。 更新クエリが理解出来て無くって・・・・ >登録台帳テーブルの登録年月日フィールドと受注明細テーブルの登録年月日フィールドから作り >>これってテーブル表示のダイアログ画面で登録台帳と受注明細のテーブルが2つ表示させて、登録台帳の登録年月日と受注明細の登録年月日の2つをそれぞれデザイングリッドの移して登録台帳の抽出条件には=Date() を入力して、受注明細の抽出条件のところに[登録台帳テーブル]![登録年月日] を入力すれば良いのでしょうか? あと、閉じる時の設定する時の表示の仕方が分からないのでお手数かけますが教えて頂けますでしょうか? いつもいつもお世話かけますが宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>受注明細と共通するキーとは、フィールドの事でしょうか? もちろんテーブル上の共通するフィールドのキーです。 例えば受注番号が受注明細や登録台帳の各テーブルのフィールドにあるのか? 補足をお願いしたかったのはフォーム上の受注明細フォームと登録台帳 フォーム間での登録年月日の入力値の受渡しをする。という事で良いのか 又は、受注明細と登録台帳のテーブル間で一括に登録年月日のデータを 受渡して更新して良いのか。の点です。

twingo
質問者

補足

説明不充分ですいませんでした。 >例えば受注番号が受注明細や登録台帳の各テーブルのフィールドにあるのか? >>あります。で、登録台帳の注番のフィールドで、登録番号や登録年月日以外の顧客データーをDLookupで受注明細から呼びこむようにしてます。 >フォーム上の受注明細フォームと登録台帳フォーム間での登録年月日の入力値の受渡しをする。という事で良いのか 又は、受注明細と登録台帳のテーブル間で一括に登録年月日のデータを 受渡して更新して良いのか。 >>一括って事は、全てのレコードに登録年月日が入力された時点で一括って事でしょうか? フォーム上の受渡しでも、受注明細のテーブルの登録年月日には保存されますよね? 受注明細の登録番号と登録年月日以外は、登録する前に入力されている状態で、何度もそのフォームを開く作業を殆どしない為、登録が終わって登録台帳フォームに登録番号や年月日を入力して終了ボタンをクリックしたら受注明細に注番のユーザーの登録番号と登録年月日が入力されている状態でしたらどちらでも構わないです。 そのような事が出来るのか分からないけど・・・ いつもご無理言って申し訳ございませんが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

受注明細のデータに登録台帳に入力された登録年月日をボタンクリック時に 持って来る様に処理したいということですか? 登録台帳のテーブルの登録年月日に例えば今日だったら =Date() を使って 登録年月日がシステム日付と同じレコードを抽出してそのレコードを使って 受注明細テーブルの該当すつレコードの登録年月日を更新する。 もちろん受注明細と登録台帳には共通するキーがあるとしてです。 こういう事とは違う意味なのでしょうか?

twingo
質問者

補足

おはようございます。 いつも有難うございます。 受注明細のデータに登録台帳に入力された登録年月日をボタンクリック時に持って来る様に処理したいということですか? >>そのようにするには、どのように設定したら良いのでしょうか?もうちょっと詳しく教えて下さい。 あと、受注明細と共通するキーとは、フィールドの事でしょうか? いつもお手数かけますが宜しくお願いします。

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

関連するQ&A

  • サブフォームに同一の納品日を自動的に入力したい

    XP&ACCESS2003: メインフォーム/サブフォーム形式のフォームで、受注番号で連結しています。 メインフォームが受注、サブフォームが受注明細です。(1対多) メインフォームには「次のレコード」に進むボタンをつけ、クリックにより次のレコードが表示されます。(従って、サブフォームも次の受注の明細に移動します) 複数のレコードを持つサブフォームの納品日(受注明細の納品日フィールドに連結)の最初の一件に日付を入力し、メインフォームの「次のレコード」に進むボタンをクリックした時、1件前の受注明細の納品日を入力していない他の(2件目以降)のレコードにも同一の納品日を自動的に入力できる方法がわかりません。よろしくお願いします。

  • ACCESSのVBS

    ACCESSの入力フォームをVBSを使って作成したいと思っています。 必要項目を入力し終わった時点で登録ボタンを押して新規のレコードに登録できるフォームを作りたいと思っています。 VBS、関数等の勉強をするにあたってお勧めの本を教えてください。 ちなみに、ACCESSは仕事で多少使っていますが、VBS、マクロ、関数についてはド素人です。 よろしくお願いします。

  • Access 日付での抽出

    初めまして、Access初心者です。 ネットで探しましたが、見つからなかったので、教えて下さい。 Access2010を使用しております。 テーブルの受付日(年月日)の項目で、抽出したいと考えております。 抽出方法は、検索フォームにあるテキストに「年月」を入力して、ボタンを押すと、 帳票フォームで表記されるようにしたいと思っております。 また、IDをクリックすると単票フォームで表記されて編集できるようにしたいと 思っております。 なるべくVBAは使わないで、できればと思っておりますが、 ご教授いただけないでしょうか。 よろしくお願いします。

  • フォーム上で小計など自動計算するには・・・

    アクセス初心者です。 Windows2000で アクセス2000で作ってます。 現在、受注明細のフォームを作ってます。 フォーム上での合計や消費税が自動的に計算されるようにしたいのですが、サブフォームを使わずに設定出来るのでしょうか? その設定方法など教えて頂けたらと思います。 宜しくお願い致します。

  • アクセスで

    アクセスでフォームが5つあるとします。(フォーム名は、1,2,3,4,5とします。)フォームにはすべて"開始年月日"と"終了年月日"の項目があり、5つのクエリの検索をそれぞれ入力する様になっています。 又、テーブル1があり、このテーブルは毎日データが追加されていきますが(1日50ほど)、追加されたデータは、その日のデータでは無く、2日前の物の場合もあれば、休みを挟んだりすると5日前の物の場合もあります。そのデータ自体の"年月日"フィールドがあります。 まず全てのフォームの"終了年月日"の項目の既定値をテーブル1の"年月日にする事"はできますか? そしてフォーム1で"開始年月日"と"終了年月日"を入力し確定した時に、その他のフォームを開くとフォーム1で入力した"開始年月日"と"終了年月日"が入力された状態にしたいのです。これは、フォーム1で"開始、終了年月日"を入力した場合だけでなく、どのフォームで"開始、終了年月日"を入力した場合でも、その他のフォームを開くと同じ"開始、終了年月日"がまず入力された状態になっていて変更し確定した場合は、他のフォームの"開始、終了年月日"も変更されているという様にしたいのです。 説明がうまくできなくてすいませんが、誰か教えて頂けないでしょうか?よろしくお願いします。

  • Access2000での日数の計算

    データベースの素人です。訳あって、データベースを作成することになりました。 ソフトはAccess2000を使用しております。 例えば「本体」というテーブルのフィールド項目に ID 荷物の受注日   荷物の発送日   所要日数 という項目があります。 同じくフォームにもこのとおりの項目があります。 「荷物の受注日」と「荷物の発送日」を手入力するのですが、「所要日数」だけは自動で計算をしたいのです。 マニュアル本とにらめっこをしながら、当初、フォーム上の「所要日数」の入力場所のプロパティ→データタブのコントロールソースに DateDiff("y",[荷物の受注日],[荷物の発送日]) と入力しました。 これで確かにフォームに入力した日付データに対して「所要日数」も表示されました。 しかし、「本体」テーブルのデータには、手入力した日付データは登録されているものの、「所要日数」は登録されていませんでした。 手入力した日付データを残したまま、今度はクエリを用いて「本体」テーブルのクエリを作ってみました。 クエリにて「所要日数」のところのフィールドに 所要日数: DateDiff("y",[本体]![荷物の受注日],[本体]![荷物の発送日]) と入力して、クエリを実行すると、確かにクエリの中の「所要日数」のところにはデータが出てきます。 しかしながら「本体」テーブルにも、フォーム上にもデータは出てきません。 いったいどのようにすれば、フォーム上にて手入力をした日付データに対して、所要日数を自動で計算し、そのデータが「本体」テーブルにも記録されるのでしょうか? どなたかお分かりになるかた、宜しくお願いいたします。

  • 帳票形式フォームで1対多の一覧を作成する方法

    環境:XP&ACCESS2003 帳票形式のフォームを作成しています。 受注レコード1に対して受注明細レコード多です。 例えば、レポートの様に「並べ替え/グループ化」で 受注NOをグループ化し、受注NOの下に同じ受注NOを持つ受注明細を表示させ、これを、受注NO毎に繰り返すフォームを作成しようとしています。 フォーム/サブフォーム形式で行おうとすると、フォーム/サブフォーム形式は単票フォームでしか適用できない旨、ACCESSからメッセージが出て作成できません。 どの様に作成すればいいか、教えていただけると幸いです。

  • アクセス★非課税、課税の合計金額計算の仕方

    見積書の入力をしています。 メインフォームとサブフォームがあり、サブフォームでは受注明細を入力できるようになっています。 サブフォームの合計金額計算で、単純に【小計】【消費税】【総計】は計算できるのですが、非課税の受注が混ざっている場合、うまくいきません。 非課税項目にチェックを入れて区別などをし、そのチェックが入っていないものだけの消費税を計算できるようにしたいのですが、具体的にどのようにしたら良いのでしょうか? サブフォームのフィールドは、品名・数量・単価・金額です。 過去の質問は探しましたが見つけられませんでした。 過去にあったら申し訳ないのですが、どうか宜しくお願いします。

  • ACCESSのメインフォームとサブフォームについて

    ACCESSで、受注伝票のようなものを作成したいと思っています。受注伝票フォームに受注明細のサブフォームを埋め込んだようなフォームを作ろうとしています。その際、受注伝票と明細に受注コードのフィールドを設け関連づけたいのですが、メインフォームに受注コードを入力したらサブにも同じコードが自動的に振られるようなことはできるのでしょうか。 出来ないのであれば、どのように作ればよいのでしょうか。

  • ACCESS初心者です

    仕事で顧客管理台帳を作成しています。 顧客台帳をフォームで入力できるようにしました。 その中で、生年月日と年齢を入力する項目があるのですが、年齢を自動的にだせる方法はありますか? クエリでは自動的にだせたのですが、フォームには反映しないのでしょうか? または出来る方法はありますか?

CPUの急な温度変化について
このQ&Aのポイント
  • CPUの温度変化が急な場合、問題はないでしょうか。
  • アイドリング時の温度は35度~45度であり、負荷の少ないアプリ起動直後やGoogle Chrome起動直後では一時的に高温となることがあります。
  • CPUの性能が高いほど温度が上がりやすいことがあります。
回答を見る