前の10件 | -
キャンセル料の代入
IIf([キャンセル日]>=[キャンセル100%発生日],[設定会費],IIf([キャンセル日]>=[キャンセル50%発生日], Int([設定会費]*0.5), 0))
汎用性があるかもなので貼っとく
汎用性があるかもなので貼っとく
条件によって代入する値を変える
性別で代入する会費を変える
IIf([性別]=“男”,[男性会費],[女性会費])
なんだろなぁ ちょっと前ならソラで打てた関数が出てこないんだよねぇ
歳だなぁ
というか老眼で綴りがしっかり見えなくて
コピペできるようにここに書いとく感じだーーー
あーーーーやだやだ
IIf([性別]=“男”,[男性会費],[女性会費])
なんだろなぁ ちょっと前ならソラで打てた関数が出てこないんだよねぇ
歳だなぁ
というか老眼で綴りがしっかり見えなくて
コピペできるようにここに書いとく感じだーーー
あーーーーやだやだ
指定文字数を取り出して数値に変換
コードを右から7文字取り出して数値に変換する
Val(Right([コード],7))
Val 文字列に含まれる数値を数値に変換
CByte データをバイト型に変換
CDbl データを倍精度浮動小数点型に変換
CDnt データを整数型に変換
CDate データを日付型に変換
CStr データをテキスト型に変換
Str 数値を文字列に変換
Val(Right([コード],7))
Val 文字列に含まれる数値を数値に変換
CByte データをバイト型に変換
CDbl データを倍精度浮動小数点型に変換
CDnt データを整数型に変換
CDate データを日付型に変換
CStr データをテキスト型に変換
Str 数値を文字列に変換
指定日時点の年齢を計算
開催日時点の年齢を知りたい。
生年月日と開催日を基に年齢を算出
年齢:DateDiff(“yyyy”,[生年月日],[開催日])+(Format([生年月日],”mmdd”)>Format([開催日],”mmdd”))
生年月日と開催日を基に年齢を算出
年齢:DateDiff(“yyyy”,[生年月日],[開催日])+(Format([生年月日],”mmdd”)>Format([開催日],”mmdd”))
テキスト年月日を日付データに変換
ここは私の健忘様であります。
Q テキストの日付(例;2020年5月13日)を日付データに変換したい。
A DATEVALUE 関数を使用
ーーーーーーーーーーーー
Officeがバージョンアップするたびに
Accessの不具合が増えている気がするのは気のせいかしら??
というかMicrosoftはAccess修正に力を入れてないよねーってしみじみ感じる今日この頃。
3年間、会社の50周年プロジェクト事務局になってしまい
しかも超文化系な業務を担ってしまったため
(本当はその中でもデータ集積や整理業務だけを担当するはずだったのになぁ)
データベース作成から離れてたからOfficeのバージョンアップにおいて行かれ感ぱねぇ。
この4月に異動して、新業務に着任したけれど
ここで使用しているデータはWeb業者システムを利用。
ユーザがWebを通じて入力登録したデータをダウンロードして
社内で運用する流れ・・・・
Web業者仕様のデータを使用・・・・これが結構厄介。
CSVでダウンロードしたのとTXTでダウンロードしたのと違ってくるってのも不思議。
なぜ?
あとAccessのバグでコードが「トルコ語」になる・・・
ググると何年も前から発生しているバグらしい。
もうねホントにMicrosoftったら以下同文のため割愛
Q テキストの日付(例;2020年5月13日)を日付データに変換したい。
A DATEVALUE 関数を使用
ーーーーーーーーーーーー
Officeがバージョンアップするたびに
Accessの不具合が増えている気がするのは気のせいかしら??
というかMicrosoftはAccess修正に力を入れてないよねーってしみじみ感じる今日この頃。
3年間、会社の50周年プロジェクト事務局になってしまい
しかも超文化系な業務を担ってしまったため
(本当はその中でもデータ集積や整理業務だけを担当するはずだったのになぁ)
データベース作成から離れてたからOfficeのバージョンアップにおいて行かれ感ぱねぇ。
この4月に異動して、新業務に着任したけれど
ここで使用しているデータはWeb業者システムを利用。
ユーザがWebを通じて入力登録したデータをダウンロードして
社内で運用する流れ・・・・
Web業者仕様のデータを使用・・・・これが結構厄介。
CSVでダウンロードしたのとTXTでダウンロードしたのと違ってくるってのも不思議。
なぜ?
あとAccessのバグでコードが「トルコ語」になる・・・
ググると何年も前から発生しているバグらしい。
もうねホントにMicrosoftったら以下同文のため割愛
メッセージボックスにキャンセルボタンを追加したい
VBAだと簡単に設定できるのですが あくまでマクロで設定したいとします。
普通にマクロの新規作成でメッセージボックスを設定すると

こんな感じで
↓実行時は こんなメッセージボックスが開きますが OKボタンしか無くて Escキーを押しても次の行以降(のクエリとか)が実行されてしまいます。

このメッセージボックスにキャンセルボタンを追加して 間違ってマクロを実行したときにエスケープ(キャンセル)できるようにしたいと思いまうす。
普通にマクロの新規作成でメッセージボックスを設定すると

こんな感じで
↓実行時は こんなメッセージボックスが開きますが OKボタンしか無くて Escキーを押しても次の行以降(のクエリとか)が実行されてしまいます。

このメッセージボックスにキャンセルボタンを追加して 間違ってマクロを実行したときにエスケープ(キャンセル)できるようにしたいと思いまうす。
コンボボックスの値をクエリの条件にして 次のコンボボックスにクエリ結果を表示
うーん タイトルって難しい・・・
1つ目のコンボボックスで指定した条件で 2つ目のコンボボックスの内容が変わってほしいのだ。
で 私は ツマヅイタ。
1つ目のコンボボックスで指定した条件を変更したのに 2つ目に表示されるのは変更前なのねぇ。
1つ目のコンボボックスの値を塗り替えたら2つ目も塗り替えられて欲しいのだ。
たとえば 利用者を登録しようとした場合で 日本各地(地区)に沢山の支店(拠点)があって登録するときに 地区を選んだら(1つ目のコンボボックス) その地区の支店だけを次のコンボボックス(2つ目のコンボボックス)に表示したいじゃーん。
だって日本中の数百(おおげさ)の支店名が ずらーーーとコンボボックスに表示されたら 選べない(面倒)。
つか コンボボックスの意味ないし(手入力した方が早いし)
でも2つ目のコンボボックスの支店名を選択したら、支店コードが隣のテキストボックスに自動で入ってほしいの。
数百(おおげさ)の支店コードなんて頭に入らないジャン。
そもそも覚える気もないけど・・・(←それが給与査定に反映)
コード表を探して手入力も面倒。(←面倒くさがり過ぎ)

こんなフォーム(<F_初期入力>と命名)があるとして 『地区』のコンボボックスで入力すると
次の『拠点』のコンボボックスには『地区』で入力された条件のデータが表示されて
『拠点』のコンボボックスを入力すると 隣の『拠点コード』が自動で入ってほしいの。
というか ちょっちビールをタシナミまして ぽやーんとしている中の更新です。
えーい いってまえ。(失礼な表現、言動 また分かりづらい点が多々あるかと思われますがご容赦ください)
1つ目のコンボボックスで指定した条件で 2つ目のコンボボックスの内容が変わってほしいのだ。
で 私は ツマヅイタ。
1つ目のコンボボックスで指定した条件を変更したのに 2つ目に表示されるのは変更前なのねぇ。
1つ目のコンボボックスの値を塗り替えたら2つ目も塗り替えられて欲しいのだ。
たとえば 利用者を登録しようとした場合で 日本各地(地区)に沢山の支店(拠点)があって登録するときに 地区を選んだら(1つ目のコンボボックス) その地区の支店だけを次のコンボボックス(2つ目のコンボボックス)に表示したいじゃーん。
だって日本中の数百(おおげさ)の支店名が ずらーーーとコンボボックスに表示されたら 選べない(面倒)。
つか コンボボックスの意味ないし(手入力した方が早いし)
でも2つ目のコンボボックスの支店名を選択したら、支店コードが隣のテキストボックスに自動で入ってほしいの。
数百(おおげさ)の支店コードなんて頭に入らないジャン。
そもそも覚える気もないけど・・・(←それが給与査定に反映)
コード表を探して手入力も面倒。(←面倒くさがり過ぎ)

こんなフォーム(<F_初期入力>と命名)があるとして 『地区』のコンボボックスで入力すると
次の『拠点』のコンボボックスには『地区』で入力された条件のデータが表示されて
『拠点』のコンボボックスを入力すると 隣の『拠点コード』が自動で入ってほしいの。
というか ちょっちビールをタシナミまして ぽやーんとしている中の更新です。
えーい いってまえ。(失礼な表現、言動 また分かりづらい点が多々あるかと思われますがご容赦ください)
経過時間を計算する FormatDateTime
母屋の方の記事で NHKの地震速報時間と民放の速報時間の差を出したのですが
どうやったの?との質問があったので こちらで・・・
テーブルはこんな感じ

項目の『時間』が速報時間で 項目の『NHK』がNHKの速報時間です。
NHKとの差: FormatDateTime([時間]-[NHK])

結果↓
どうやったの?との質問があったので こちらで・・・
テーブルはこんな感じ

項目の『時間』が速報時間で 項目の『NHK』がNHKの速報時間です。
NHKとの差: FormatDateTime([時間]-[NHK])

結果↓

TimeRound関数が使えない
会社のPCも私のPCもAccessのバージョンが古くて使えない関数が多いのです。
※自宅PCは会社のバージョンに極力あわせているので・・・
TimeRound関数もエラーになりますた。(号泣)
なので、時間を『時』と『分』に分解して 『分』を丸める計算をし 『時』と『丸めた分』を再合体させることにしました。
力技でねじ伏せるのだ。
たとえば AさんからUさんまでの時間があるとして その時間を10分で丸めたいとします。
◆10分未満は切り捨てて10分単位で表示したい。

時間から『時』を取り出す・・・時: Hour([時間])
時間から『分』を取り出す・・・分: Minute([時間])
『分』を10分で丸める・・・10分で丸め: Int([分]/10)*10
『時』と『10分で丸め』を再合体・・・再合体: TimeSerial([時],[10分で丸め],0)

↓結果

※自宅PCは会社のバージョンに極力あわせているので・・・
TimeRound関数もエラーになりますた。(号泣)
なので、時間を『時』と『分』に分解して 『分』を丸める計算をし 『時』と『丸めた分』を再合体させることにしました。
力技でねじ伏せるのだ。
たとえば AさんからUさんまでの時間があるとして その時間を10分で丸めたいとします。
◆10分未満は切り捨てて10分単位で表示したい。

時間から『時』を取り出す・・・時: Hour([時間])
時間から『分』を取り出す・・・分: Minute([時間])
『分』を10分で丸める・・・10分で丸め: Int([分]/10)*10
『時』と『10分で丸め』を再合体・・・再合体: TimeSerial([時],[10分で丸め],0)

↓結果

前の10件 | -