重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (10件)

日付型のデータなら登録年月日から


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

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

お礼日時:2002/07/31 13:48

Date()関数を使って当日の抽出が出来るのは日付/時刻型だけです。


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

登録年月日は日付型でテーブルにあるとばかり考えていたのでゴメンなさい。

この回答への補足

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

補足日時:2002/07/23 16:05
    • good
    • 0

>テーブル名が登録台帳だったら[登録台帳]![登録年月日]で良いのですよね?


更新する受注明細の登録年月日に[登録台帳]![登録年月日]でOKです。

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

この回答への補足

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

補足日時:2002/07/23 14:13
    • good
    • 0

更新クエリを開きビューで表示させたときに当日の登録が3件だったら3レコード


分の更新フィールド(登録年月日)は表示されていますか?
されているようでしたら更新の記述が何か違うのではないかと思うのですが。
更新の記述は[登録台帳テーブル]![登録年月日]のような感じになってますか?

もしくはレコードの保存したタイミングの問題もあるかもしれません。
更新クエリのみを動かした場合も「0件のレコードが更新されました」と
メッセージが帰るのでしょうか?

この回答への補足

いつもお世話になってます。
更新フィールドに表示されてません。更新記述ですが、テーブル名が登録台帳だったら[登録台帳]![登録年月日]で良いのですよね?
ちなみに登録年・登録月・登録日が別々に分かれてる場合でもそれぞれのフィールドに年・月・日で分けて記述すれば良いのですよね?

更新クエリのみを動かしても0件ってメッセージが返ってきます。
いつもいつもご迷惑お掛けしますが宜しくお願いします。

補足日時:2002/07/23 13:17
    • good
    • 0

>登録年月日の何も入力されていない(空の状態)のテーブルが表示されてました。



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

この回答への補足

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

補足日時:2002/07/23 10:54
    • good
    • 0

>注番の設定


受注明細と登録台帳どちらにも共通する注番があるとの最初の補足でしたよね。
更新クエリでテーブルに受注明細と登録台帳を設定してそのテーブルの注番同士
をリレーションすることで受注明細と登録台帳を注番をキーに1対1のつながり
を持たせます。
登録台帳の登録年月日が当日のレコードだけ抽出するために登録台帳の登録年月日
の抽出条件に=Date()で呼び出し同じ注番を持つ受注明細の登録年月日に登録台帳
の登録年月日の日付を更新するという事なのですが。

更新クエリのデザインを開いている状態でボタンメニューの[ビュー]ボタンを
クリックして登録年月日が当日のレコード分が表示されますか?

この回答への補足

登録台帳も受注明細も共通の注番があり、注番でリレーションが組まれてます。

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

補足日時:2002/07/22 16:43
    • good
    • 0

>テーブル表示のダイアログ画面で登録台帳と受注明細のテーブルが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
これでフォームを閉じる前に更新クエリが働いてその後フォームを閉じます。

この回答への補足

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

補足日時:2002/07/22 13:57
    • good
    • 0

簡単に作成するのでしたら


登録台帳フォームを閉じるボタンに更新クエリを開く記述をいれる。

更新クエリは登録台帳テーブルの登録年月日フィールドと受注明細テーブルの
登録年月日フィールドから作り登録台帳テーブルの登録年月日に抽出条件で
=Date() で当日の登録年月日だけのレコードを抽出して受注明細テーブルの
登録年月日フィールドに [登録台帳テーブル]![登録年月日] で受注明細テー
ブルの登録年月日フィールドを更新する。

このようにすれば登録台帳フォームを閉じる時にいつも当日の日付の登録年月日
は受注明細テーブルの登録年月日フィールドを該当するレコードだけ一括に更新
します。

この回答への補足

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

補足日時:2002/07/22 10:24
    • good
    • 0

>受注明細と共通するキーとは、フィールドの事でしょうか?


もちろんテーブル上の共通するフィールドのキーです。
例えば受注番号が受注明細や登録台帳の各テーブルのフィールドにあるのか?

補足をお願いしたかったのはフォーム上の受注明細フォームと登録台帳
フォーム間での登録年月日の入力値の受渡しをする。という事で良いのか
又は、受注明細と登録台帳のテーブル間で一括に登録年月日のデータを
受渡して更新して良いのか。の点です。

この回答への補足

説明不充分ですいませんでした。

>例えば受注番号が受注明細や登録台帳の各テーブルのフィールドにあるのか?
>>あります。で、登録台帳の注番のフィールドで、登録番号や登録年月日以外の顧客データーをDLookupで受注明細から呼びこむようにしてます。

>フォーム上の受注明細フォームと登録台帳フォーム間での登録年月日の入力値の受渡しをする。という事で良いのか
又は、受注明細と登録台帳のテーブル間で一括に登録年月日のデータを 受渡して更新して良いのか。
>>一括って事は、全てのレコードに登録年月日が入力された時点で一括って事でしょうか?
フォーム上の受渡しでも、受注明細のテーブルの登録年月日には保存されますよね?

受注明細の登録番号と登録年月日以外は、登録する前に入力されている状態で、何度もそのフォームを開く作業を殆どしない為、登録が終わって登録台帳フォームに登録番号や年月日を入力して終了ボタンをクリックしたら受注明細に注番のユーザーの登録番号と登録年月日が入力されている状態でしたらどちらでも構わないです。
そのような事が出来るのか分からないけど・・・
いつもご無理言って申し訳ございませんが宜しくお願いします。

補足日時:2002/07/19 14:01
    • good
    • 0

受注明細のデータに登録台帳に入力された登録年月日をボタンクリック時に


持って来る様に処理したいということですか?

登録台帳のテーブルの登録年月日に例えば今日だったら =Date() を使って
登録年月日がシステム日付と同じレコードを抽出してそのレコードを使って
受注明細テーブルの該当すつレコードの登録年月日を更新する。
もちろん受注明細と登録台帳には共通するキーがあるとしてです。

こういう事とは違う意味なのでしょうか?

この回答への補足

おはようございます。
いつも有難うございます。

受注明細のデータに登録台帳に入力された登録年月日をボタンクリック時に持って来る様に処理したいということですか?
>>そのようにするには、どのように設定したら良いのでしょうか?もうちょっと詳しく教えて下さい。

あと、受注明細と共通するキーとは、フィールドの事でしょうか?
いつもお手数かけますが宜しくお願いします。

補足日時:2002/07/19 09:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す