ACCESSで手間のかかる日付入力を出来るだけ簡単に入力できたらと考えています。
カレンダーコントロールを使用すると、日付入力のテキストボックスの数分カレンダーコントロールが必要になってしまうので、出来れば今日の日付を常に表示してボタンを使って前後の日付に変更出来るようにしたいと思っているのですが。
もしくは、コンボボックスのように矢印をクリックすると、カレンダーが出てくるのでも良いのですが。
何か良い方法があれば教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

私がよく使ってる方法ですが。


日付を表示するのはテキスト0で、コマンド1というボタンに以下を書き込みます。

Private Sub コマンド1_Click()
 If IsDate(テキスト0.Value) Then
  テキスト0.Value = CDate(テキスト0.Value) + 1
 Else
  テキスト0.Value = Date
 End If
End Sub

テキスト0が空欄や日付以外だったら今日の日付にし、日付が入っていたら1日進めます。
これと日付を戻すボタンを作れば良いと思います。
日付を戻すには、テキスト0.Value = CDate(テキスト0.Value) - 1 にします。
    • good
    • 0
この回答へのお礼

早速この方法で作成してみました。
随分と悩んだのにこんなに簡単に出来るとは…
とても助かりました。どうもありがとうございました。

お礼日時:2002/02/21 12:26

カレンダーコントロールを貼り付けたダイアログ用フォームを作成して、そこで選択した日付を該当するテキストボックスに戻す、というのは如何でしょうか。

この場合、上記フォームをオープンするボタンあるいはテキストボックスのダブルクリックイベント等で、フォームをオープンする際に引数として戻すコントロールを指定すれば良いと思います。
日付入力用の部品として共通で使用できますけど。

この回答への補足

ダイアログ用フォームとはどのように作成するのですか?
またOpenFormで引数として戻すコントロールの指定が分からないのですが...

補足日時:2002/02/14 12:37
    • good
    • 0

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELにて、同一日付であれば空白にしたい

EXCELにて、同一日付であれば空白にしたい
EXCELにて、同一日付であれば空白にしたいのですが、できればVBAを使用せず実現したい。
ヒントをお願いします

Aベストアンサー

回答No2です。ダブった日付を白文字にするときにページが変わったところで空白になるのは避けたいとのことでしたらページの区切りを求める関数はありませんので、例えば1ページが49行で50行のところが次のページになるなどのことが判っていればA2セルから下方を選択してからの条件付き書式の設定で入力する式は次のようにすることでよいでしょう。

=AND(MOD(ROW(),50)<>0,A2=A1)

Qカレンダーコントロールで複数のテキストボックスに日付入力

アクセスでカレンダーコントロールを使用し、タイトルのことをしたいと考えています。

カレンダーコントロールをクリックする前にキャレットがあったコントロールにカレンダーコントロールのValueを代入したいと考えています。

複数のテキストボックスなのでそのコントロールの名前を取得しないといけないと思いますが、コードをどう書くのかがわかりません。

可能な限りコードで示して頂けるとわかりやすく助かります。丁寧に教えて頂ける方、よろしくお願いします。

Aベストアンサー

まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でもOKです。

例えば、値を入力するためのテキストボックスを3つ(それぞれ、TextBox1、TextBox2、TextBox3)と名前保存用のテキストボックス(SaveBox)、

TextBox1、TextBox2、TextBox3それぞれのフォーカス喪失時に次のようなコードを書き、自分の名前を保存します。

Private Sub TextBox1_Exit(Cancel As Integer)
Me("SaveBox") = Me("TextBox1").Name
End Sub

これで、カレンダーをクリックする前に最後にフォーカスのあったコントロール名が分かります。あとは、このコントロールにカレンダーの値を代入すればいいだけです。

Private Sub Calendar0_Click()
Me(Me("SaveBox").Value) = Calendar0.Value
End Sub

まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でもOKです。

例えば、値を入力するためのテキストボックスを3つ(それぞれ、TextBox1、TextBox2、TextBox3)と名前保存用のテキストボックス(SaveBox)、

TextBox1、TextBox2、TextBox3それぞれのフォーカス喪失時に次のようなコードを書き、自分の名前を保存します。

Private Sub TextBox1_Exit(Cancel As Integer)
Me("SaveB...続きを読む

QWORD差し込み印刷:日付の処理 - EXCELが空欄だと今日の日付が差し込まれてしまう

WORDの差し込み印刷について質問させてください。

EXCELのデータで日付を入れている列があります。この列に空欄がある(つまり日付が入力されていない)と、差し込み先のWORDのほうで、今日の日付が出てしまいます。

EXCELのデータが空欄の場合には、WORDの方に今日の日付を出さない(空欄のままにしておく)方法はありますか?

OSはWinXP, WORDとEXCELは2003を使っています。

よろしくお願いします。

Aベストアンサー

Word2002で確認したところ、質問と同じようになりました。
フィールドコードについては詳しくありませんが、消すことができました。
日付が空欄のところの差し込みフィールドでマウス右クリックしてフィールドコードの表示/非表示をクリックして表示させると
{MERGEFIELD"フィールド名"}となっていると思います。
1方法はココの”フィールド名"を削除すれば日付は表示されません。
もう一つの方法はフィールドを右クリックしてフィールドの編集を選択します。「フィールド」ダイアログボックスが現れます。
フィールドの種類から「差し込み印刷」を選択し、フィールドの名前から「If」を選択して条件式を入力する。
フィールドコードは
「If 式1 演算子 式2 Trueの場合の文字列 Falseの場合の文字列」
ここに
「If 日付のフィールド名<>"" "yyyy/mm/dd" ""」
というのを入力したところ表示されないようになりました。
日付のフィールドがブランクでない場合はyyyy/mm/dd、そうでなければブランクという条件式です
差し込みの1枚目のフィールドで条件式を入れておけば、日付空欄のところはすべて空欄にできると思います。
試しにチャレンジしてみて下さい。

Word2002で確認したところ、質問と同じようになりました。
フィールドコードについては詳しくありませんが、消すことができました。
日付が空欄のところの差し込みフィールドでマウス右クリックしてフィールドコードの表示/非表示をクリックして表示させると
{MERGEFIELD"フィールド名"}となっていると思います。
1方法はココの”フィールド名"を削除すれば日付は表示されません。
もう一つの方法はフィールドを右クリックしてフィールドの編集を選択します。「フィールド」ダイアログボックスが現れます。
...続きを読む

QAccess2000で、コンボボックスの値から自動入力させる。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115
の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。

今現在の状態としては、
「支払先テーブル」というものがあり、
No  支払先名1  支払先名2
というフィールドがあります。

また「フォーム1」というフォームがあり、
そちらには
支払先No  支払先名1  支払先名2  テキスト1
というフィールドがあります。

フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のNo・支払先名1・支払先名2のすべてが出てきて、どれかを選ぶと、Noが出るようになっています。

希望としては、上記に書いた、フォーム1の支払先Noで、選択すると自動で支払先名1、支払先名2に自動で入力されるようにしたいのです。


一番最初にもかいたように、参照ページをみながらやったので、ためしに、新しいフィールドをフォームに作成しました。(テキスト1)
こちらのコントロールソースに
=DLookUp("支払先名1","支払先テーブル","No"=[Forms]![フォーム1]![支払先No])
と入力して、実行したところ、「支払先No」が空欄の場合だけ、一番最初の「支払先名1」が出てきて、支払先Noが入っているところは空欄になってしまいました。

一体どこが間違っているのでしょうか?
よろしくお願いします。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115
の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。

今現在の状態としては、
「支払先テーブル」というものがあり、
No  支払先名1  支払先名2
というフィールドがあります。

また「フォーム1」というフォームがあり、
そちらには
支払先No  支払先名1  支払先名2  テキスト1
というフィールドがあります。

フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のN...続きを読む

Aベストアンサー

失礼しました。

私は、更新後処理のイベントプロシージャで次のようにやっています。

参考になれば

Private Sub 支払先No_AfterUpdate()
me![支払先名1] = me![支払先No].Column(1)
me![支払先名2] = me![支払先No].Column(2)
End Sub

QExcelで日付を入力したら締日を表示させる

Excelで経費の支払いの表を作ろうとしています。

A列のセルに日付を入力し、
A列に入力した日付が1日~15日までなら
B列のセルにその月の最終日の日付を
16日~31日までなら
B列に翌月の15日と自動で表示されるようにするには
どうすればいいのでしょうか?


詳しい方、教えてください。
ちなみに使用しているExcel2010です。

Aベストアンサー

ごめ。よく読んだら半月ずれてましたな。

=IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A1)+1,1)-1,DATE(YEAR(A1),MONTH(A1)+1,15))

MONTH(A1)+1で「13月」とか出てきちゃいそうですが、Excelはちゃんと「翌年1月」と計算しなおしてくれますから大丈夫です。

Q同一値集合ソースの複数コンボボックスでプルダウンメニューに既入力値を再表示させない

まだ6ヶ月程度のAccess初心者です。データ入力上の誤入力を避けたいのですが方法がわからず悩んでいます。初心者で、未だ基本的な理解ができていないためだと思いますが、どなたか解決法をご教授いただければありがたく存じます。
 1つのフォーム上に複数のコンボボックスを用意して、同じ値集合ソース(テーブル)を参照して入力をしようとしています。
 このとき、まず、コンボボックス1に、参照しているテーブルから”DATA1”という値を入力したとき、次のコンボボックス2のプルダウンメニューには、先の”DATA1”を表示しないように、SQLステートメント:クエリビルダの抽出条件を設定しようと考えています。
 このフォームにはコンボボックスを全部で4つ用意して、順次入力の都度、入力済みのデータはプルダウンメニューに表示しないようにし、重複を避けたいというのが目的です。
 
 コンボボックス2の値集合ソースとして設定する際に、SQLステートメント:クエリビルダの抽出条件に記載したものは次のようなものです。

<>[Forms]![フォーム1]![コンボボックス1]  And  <> [Forms]![フォーム1]![コンボボックス3]  And  <>[Forms]![フォーム1]![コンボボックス4]

 ほかのコンボボックス3~4にも、自分以外のコンボボックスと重複させないつもりで、それぞれ抽出条件を入力しました。

 さて、実際にこれで動かしてみると、1回目はうまくいって喜んだのですが、入力値をDeleteして再入力を試みたところ、リストボックスが何も表示されない状態になり、悩んでいます。
 何か設定上で不足している、あるいは論理上で考え違いをしているのだと思いますが、何とか解決したいと切に思っています。何卒よろしくお願いします。

まだ6ヶ月程度のAccess初心者です。データ入力上の誤入力を避けたいのですが方法がわからず悩んでいます。初心者で、未だ基本的な理解ができていないためだと思いますが、どなたか解決法をご教授いただければありがたく存じます。
 1つのフォーム上に複数のコンボボックスを用意して、同じ値集合ソース(テーブル)を参照して入力をしようとしています。
 このとき、まず、コンボボックス1に、参照しているテーブルから”DATA1”という値を入力したとき、次のコンボボックス2のプルダウンメニューには、先の...続きを読む

Aベストアンサー

[フィールド名]<>[Forms]![フォーム1]![コンボボックス1]
は、[コンボボックス1] が空白の場合に
True でも False でもなく Null になります。
Null と ある値の And 演算の結果は Null になります。
(VBE のヘルプで「And 演算子」を調べてください。)
よって、1つでも未入力のコンボボックスがあると
抽出条件に 「Null」 と書いたのと同じことになってしまいます。

これを回避するには、空白の場合に Null にならないように
Nz 関数を使います。

<>[Forms]![フォーム1]![コンボボックス1]

<>Nz([Forms]![フォーム1]![コンボボックス1] ,"")
のようにしてください。

Nz 関数についてもヘルプで調べてください。

なお、入力するたびに、コンボボックスのリストが変化するように、
下記のような、再クエリの処理が必要なのは、言うまでもありません。
念のため。

Private Sub コンボボックス1_Enter()
  Me.ActiveControl.Requery
End Sub

[フィールド名]<>[Forms]![フォーム1]![コンボボックス1]
は、[コンボボックス1] が空白の場合に
True でも False でもなく Null になります。
Null と ある値の And 演算の結果は Null になります。
(VBE のヘルプで「And 演算子」を調べてください。)
よって、1つでも未入力のコンボボックスがあると
抽出条件に 「Null」 と書いたのと同じことになってしまいます。

これを回避するには、空白の場合に Null にならないように
Nz 関数を使います。

<>[Forms]![フォーム1]![コンボボックス1...続きを読む

QEXCELの日付データの比較

EXCELの日付データについての質問です。

たとえば、あるテキストデータでH20.7.19とあったとします。
それとEXCELの日付データにもH20.7.19があったとします。

テキストデータのH20.7.19をEXCEL側に貼り付け、EXCELの日付データH20.7.19と比較させ、答え0(誤差0)を返してもらう方法はありますでしょうか?

宜しくお願いいたします。

Aベストアンサー

こんにちは
DAYS360(開始日,終了日,方式)という関数で日数の差異を
求められます。

A1にテキストデータ H20.7.19
A2にエクセルデータ H20.7.19

があったとします。
=DAYS360(A1,A2)
で差異が0で返ってきます。 0じゃ無かったら別のものですね。

方式はヨーロッパ方式(TRUE)、アメリカNASD方式(FALSE)とか
書いてありましたが、違いはようわかりませんww
付けなくてもいいかとw

適当ですが、ご参考まで^^;

Qファイルメーカーで日付をカレンダー入力するスクリプトは

ファイルメーカーで日付をカレンダー入力するスクリプトはあるでしょうか。
 いちいち年月日を入力せずに、カレンダーをクリックするとフィールドに日付が入力されるようなものです。

そんなスクリプトが公開されていましたら教えてください。

Aベストアンサー

カレンダーはファイルメーカーで作られるのですね?
でしたら その日付の個所(入力したい日付のクリックするところ)にボタンを埋め込みます
そのボタンのスクリプトはこうです
フィールド設定(フィールド指定は入力先フィールド;日付を入力するファイルのフィールド)
指定(月 & " / " & 日)とでもしておけばよろしいかと。
この「月」と「日」はカレンダーのほうのフィールド
をさします。
簡単にかんがえるとおんなかんじですが、より詳しい内容をおせてくれれば もうちょっと具体的なアドバイスができるのですが、このカレンダーをまずどう作るのかを教えて欲しいです。

Qexcel,word 印刷した日の日付

excel,word文書を印刷したとき、その印刷日の日付を印字させるためにはexcel,word各々
どのようなことをすればよかったでしょうか。

Aベストアンサー

<Excelでの編集方法>
 メニューの「ファイル」-「ページ設定」で
 「ヘッダー/フッター」タブを選択。
 上に表示したい場合は「ヘッダーの編集」ボタン。

 編集画面の上に「日付の挿入」ボタン(カレンダーみたいなボタン)があるので
 それを押せば日付入力できます

<Wordでの編集方法>
 メニューの「表示」-「ヘッダー/フッター」を選択すると
 ヘッダーとフッターが点線で囲まれます。
 お好きなほうを選択し「日付の挿入」ボタンを押せば表示されるようになりますよ。

Qaccess2010コンボボックスとリストボックスについて質問です。 テーブルに日付、タイトル、内

access2010コンボボックスとリストボックスについて質問です。

テーブルに日付、タイトル、内容のフィールドがあります。これをコンボボックスを使って2014年、2015年、2016年・・・・
と作成して、2015年を選択すると2015年度分がリストボックスに表示できるようにできますか?

ご存知の方がいればよろしくお願いします。
accessは、初心者です。

Aベストアンサー

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する
5.コントロールに表示する値を取得する方法の確認を求められたら、次のいずれかの操作を行います。
・ほぼ変わることのない固定値リストを表示する場合は、[表示する値をここで指定する] をクリックします。

ここで
2014
2015
2016
となるように入力するだけです。

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボッ...続きを読む


人気Q&Aランキング

おすすめ情報