スポンサーサイト 


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--

Category: スポンサー広告

TB: --  /  CM: --

top △

税率をどう持つ? 


たいそうな事でもないと思いますが・・・
何度か、以下内容で回答していたと思います。

テーブル「T税率」があったとして
適用日税率
1989/04/013.00%
1997/04/015.00%

※ 税率部分は、通貨型のパーセント書式

で、このテーブルを見て、その日付(引数)の時の税率を返す関数は
Public Function GetTax(dt As Variant) As Currency
  Dim rs As New ADODB.Recordset

  On Error Resume Next
  GetTax = 0
  If (Not IsDate(dt)) Then Exit Function

  rs.Source = "SELECT 税率 FROM T税率 WHERE 適用日 <= #" & dt & "# ORDER BY 適用日 DESC;"
  rs.Open , CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
  If (Not rs.EOF) Then GetTax = rs("税率")
  rs.Close
End Function

 
※ 「 SELECT 税率 」部分は「 SELECT TOP 1 税率 」であったり・・・

D 系の関数を使おうと思ったら、
・DMax で、その日付(引数)の直近「適用日」を求めて
・あったら、DLookUp で( DMax で得た日付を使って)税率を求める
ってなことになるのでしょうか・・・

今から作り込むのなら・・・
2014/4/1 ・・・ 8 %   2015/10/1 ・・・ 10 %
う~~んと・・・複数税率???

an適用日税率etc1etc2更新日時
11989/04/013.00%00 
21997/04/015.00%00 
32014/04/018.00%00 
42015/10/0110.00%00 

上記の様なテーブルにしておけばいいのかなぁ・・・
etc1 / etc2 は数値型にしておいて、etc1 / etc2 の組合せで税率を指定できれば・・・
今のところ etc1 / etc2 には、既定値 = 0 を埋め込んでおきますか・・・

で、以下のように記述変更すれば良いですね・・・
続きを読んでみようかな ---≫
スポンサーサイト

2013/10/05

Category: 使えたら

TB: --  /  CM: 0

top △

回答管理 


題名ほど大層なものではありませんが、過去記事「理不尽」後半に記述(紹介すると)していたものです。
私は、このツールを使って、
・回答する前に、回答練習に分類した回答をこれに記述し
・この「回答練習」のものからコピペして、回答しています。

使用しているツールは、Vector に登録してある「わたしの情報箱」になります。
これは、Access2000 で作られており、上位互換で結構使えるものだと思います。

「わたしの情報箱」は以下からダウンロードできます。
http://www.vector.co.jp/soft/winnt/personal/se476592.html

作者は・・・・
以下は、デザイン画面になります。

kEnt156_D1  kEnt156_D2

まっ、使い方はサンプルファイルも添付しているので、実際にダウンロードして頂ければと・・・
寄付歓迎・・・・としていますが、フリーとした時よりも質問等は抑えられるかな・・・・というものです。

実際には、あの mde は、DAO 連結フォームの練習用だったんです。
それまでは、
・ADO での VBA 記述 & 非連結
・クエリを作っても、その使い方がわからない(答えてねっと・・・この時はそうでした)
全ては VBA ゴリゴリで・・・・

でも、何か、連結にしたら楽になりそうな・・・・
フォームとの親和性が高いのは DAO みたいだし・・・・

中のテーブルを見てもらえれば分かると思いますが、
・正規化に沿ったものにはなっていません
1レコードにキーワード部分は K0 ~ K9 のフィールドを持っています。
連結で、複数キーワードを扱うには・・・・で、作ってみたものになります。
非連結なら・・・・まぁ・・・ね・・・・・・かな?

結局、最終的には
・画面のチラツキが多い とか
・マウスのクリクリを制御するのがじっれったい・・・・
で、DAO を使った非連結のフォームになってしまったのですが・・・

使っていて、不具合はチョコチョコあります・・・・
(修正時、コンボに新規追加しても、「更新」ボタンが表示されない・・・等)

で、どのように使っているか・・・・これを紹介したいと思います。
続きを読んでみようかな ---≫

2013/04/30

Category: 使えたら

TB: --  /  CM: 0

top △

何で検索/訪問? 


ブログに訪問される方がいて、いろいろと励みにもなりますが・・・・
どのような「語彙」「内容」で、検索された結果、訪問されているのだろうか・・・

FC2 でのアクセス解析を付けていますが、いまいちさっぱりわかりません。

例えば、
http://search.yahoo.co.jp/search?p=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9
5%E3%82%A9%E3%83%BC%E3%83%A0%E3%80%80%E5%B8%B3%E7%A5%A8&aq=-1&
oq=&ei=UTF-8&fr=top_ga1_sa_122&x=wrt
とかが記録されています。

yahoo の場合は、「p=」の後「&」までが、検索に使った「語彙」になるのでしょうか・・・

google の場合には、
http://www.google.co.jp/url?sa=t&rct=j&q=%E3%82%B5%E3%83%96%E3
%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%80%80%E6%9C%AA%E5%85%A5%E5%8A%9B%
E3%83%81%E3%82%A7%E3%83%83%E3%82%AF&source=web&cd=25&ved=0
とかになっていて、「q=」の後「&」までが、検索に使った「語彙」になるのでしょうか・・・

google は、「?」 の前が「search」であればその画面が見れるようですが、上記の様に「url」であると
訪問された私の記事に飛んできてしまい、「語彙」等わからずじまいになります。

このままでは、わけが分からないので漢字に変換しようと・・・・

kEnt117

上側のテキストボックスに、記録されたものを転記(人力でのコピー&貼り付け操作で)して
どのキー部分を解釈するか・・・・これをオプショングループで選択しておいて
改行を削除(この時空白1文字分付加するか指定できるように)
「抽出・変換」ボタンで解釈した結果を下のテキストボックスに表示。

実際にはどの様な検索結果の中で来られたのか・・・・
解釈した検索結果で、実際の検索状況を表示してみる・・・・・
(この部分は透明表示のラベルをダブルクリックした時に実行するように)

・・・・透明なラベルは、ボタンの間に配置。
操作がわかっていれば、使える・・・・ってな機能レベルにて、
続きを読んでみようかな ---≫

2012/02/19

Category: 使えたら

TB: 0  /  CM: 0

top △

自前スクロールバーをクラス化してみた 


前の記事 自前スクロールバー をクラス化してみた。
クラス化を考えてみると、処理を細かい関数にして双方のフォームから呼び合う・・・・
この関数の分割、処理の記述場所が適当なのか・・・・これ、結構わかります。

前記事について言えば、
RGB の色を表示する部分(関数)を、メイン/サブ双方から呼び合うようにしていました。
クラス化を考えた時、色表示はメインに任せ、クラスとしてはそれに必要な情報を通知する・・・
と、思います。

縦スクロールバー用のクラス「clsSBV」、横スクロールバー用のクラス「clsSBH」に分けて作ってみました。
フォームの構成は、
・サブフォームコントロールを用意してもらって
・クラスにそのコントロールを指定してもらうと、連携するフォームを適宜組み込んで・・・

今回余計な処理として、クラスが扱うフォーム(サブ用)がなかったら、新規作成して・・・
前記事でサブフォーム側にコントロールが必要なのかと思ってコマンドボタンを付けていましたが、
大元のフォームのサイズだけで良いみたいなので、今回コントロールの配置はしていません。

今回、確認用で用意したフォームは6つ
・前回の RGB 構成のもの「F1」「F2」
kEnt112_F1  kEnt112_F2

・縦/横スクロールバー切り換え、レンジ確認用「FT1」「FT2」
kEnt112_FT1  kEnt112_FT2

・サブフォームコントロールサイズを変更した時のもの「FT3」「FT4」
kEnt112_F3  kEnt112_F4

フォーム「FT3」を、2000 / 2003 で見た時の表示は
kEnt112_FT3_2000  kEnt112_FT3_2003
続きを読んでみようかな ---≫

2011/12/11

Category: 使えたら

TB: 0  /  CM: 0

top △

ポップアップで時間帯入力 


帳票フォームで帯表示 で時間帯の表示についてやってみました。
kEnt108

帳票フォームで帯入力 で帳票にサブ組み込みで時間帯の入力についてやってみました。
kEnt109_6

今度は、時間帯入力部分は別フォームにして、使いまわしできるようにしておきましょう・・・ということで
kEnt110_3

入力の操作は 帳票フォームで帯入力 とほぼ同じです。
・帯上でクリックすると指定操作が開始
・マウスを動かすとコロコロと1マス単位で色付け
・一度クリックすると、そこを始点/終点として固定
・マウスを動かすと帯表示が追従します
・もう一度クリックすると、帯を確定します
・「登録」ボタンをクリックするまでは登録しません

このフォームを起動する時には、OpenArgs 経由で情報を渡します。
表示開始時刻,何時間分,1時間のマス数,基準日,開始を返すコントロール名,終了を返すコントロール名

ここでのコントロール名は、起動したフォームに存在するコントロール名になります。
起動したフォームは Screen.ActiveControl から辿ります。
(辿り方については 起動元に値を設定 を参照ください)

指定例
"8,12,6,2011/12/06,txt2,txt3"
であれば、
8時始まりの12時間分(計72マス)表示して、2011/12/06 を基準として作成したものを
txt2 / txt3 に設定する。

用意していたフォームは「F_DT24」「F_DT36」になります。
今回も、きれいに並べたデザインにしたいので、フォーム作成 VBA 「Module3」を添付しています。
フォーム名の数字部分は、何時間分を表示できるか(時刻表示のラベルを何個持っているか)
この「F_DT24」を使って 帳票フォームで帯表示 に組み込むと
例えば、時間部分のテキストボックスをダブルクリックした時にフォームを起動するようにしたとすると
Private Sub txt2_DblClick(Cancel As Integer)
  Dim sArg As String

  sArg = Me.op1 & "," & Me.op2 & "," & Me.op3 & "," & Me.cbxh1 & ",txt2,txt3"
  DoCmd.OpenForm "F_DT24", , , , , , sArg
End Sub

Private Sub txt3_DblClick(Cancel As Integer)
  Dim sArg As String

  sArg = Me.op1 & "," & Me.op2 & "," & Me.op3 & "," & Me.cbxh1 & ",txt2,txt3"
  DoCmd.OpenForm "F_DT24", , , , , , sArg
End Sub
のような使い方になります。
続きを読んでみようかな ---≫

2011/12/06

Category: 使えたら

TB: 0  /  CM: 0

top △

十択問題までサポートする選択問題用サンプル 


旧記事掲載:2010/01/03

過去、知恵袋の方で回答した
「Access VBAを使って4択問題を出すプログラムを作りたい」を発展させたサンプルになります。

Web検索しても同様のものはヒットしないので(私の検索がヘタ?)
回答そのもののフォーム/テーブル(名前は変更しました)/VBA記述を使用したサンプルと
十択問題までサポートする選択問題用サンプルになります。

主要なテーブルとフォームの関係は以下の様になります。

kSample91_Table      kSample91_Form

また、以下の機能も組み込んでみました。

1)社員選択&パスワード認証
2)処理以外でフォームを起動できなくする
3)連結フォームでの削除操作をフラグ操作に置き換える
4)親子リンクで親が確定していない時に子で編集できないようにする
5)サブフォーム処理中は親を閉じれないようにする

フォームのプロパティをいじる他は、すべてVBA記述になってます。

なお、上記1)2)は、Excelへ色付き簡易カレンダーを出力する を流用しています。
詳しくはそちらで。
また、今回2)については、サブフォームでの記述を追加しています。
続きを読んでみようかな ---≫

2011/07/09

Category: 使えたら

TB: 0  /  CM: 0

top △

Excelへ色付き簡易カレンダーを出力する 


旧記事掲載:2009/12/23

メインの画面は以下の様になります。
Sample1_0

それをExcel出力すると以下の様になります。
Sample1_1

あるフリーソフトのおまけ的機能として付けたものを、書きなおしたものになります。
Excelのカラーインデックス1~56を用いて、Access上のカレンダーに色付け(背景/字/枠の色)し、
そのデータをもとにExcel出力するものになります。
疑似的な項目の社員テーブルを用いて、社員各人のカレンダーとして作成することができます。

また、以下の機能も組み込んでみました。

1)社員選択&パスワード認証
2)処理以外でフォームを起動できなくする
3)フォームの再利用
4)他フォーム関数の実行

フォームのプロパティをいじる他は、すべてVBA記述になってます。
続きを読んでみようかな ---≫

2011/07/02

Category: 使えたら

TB: 0  /  CM: 0

top △

テキストファイル(CSV等)の項目変換 


旧記事掲載:2010/09/25


あるシステムが出力したCSV等のファイル内の項目を元に、
順の変更/置換えした結果を他システムの入力用にしたい ・・・場合に使えるかも

Access では、
・テーブルを用意しておいて、インポート/エクスポート
・入力ファイルから直接レコードセットを得る
・・・・・等やり方があると思いますが、何かしっくりこない。(知らないだけかも・・・)

変換自体は一過性のものなので、
インポート/エクスポート用に自分の中にテーブル作成/削除などでゴミ(?)をためたくないし・・・

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sProvider As String
Dim sFileName As String

sProvider = CurrentProject.Connection.Provider
cn.Open "Provider=" & sProvider & ";" _
    & "Data Source=" & CurrentProject.Path & ";" _
    & "Extended Properties='text;HDR=No;FMT=Delimited'"

sFileName = "XXXXXXXX.csv"
rs.Source = "SELECT * FROM " & sFileName & ";"
rs.Open , cn, adOpenForwardOnly, adLockReadOnly

直接レコードセットを得る場合、上記のような感じになると思いますが、
対象ファイルの拡張子が「txt」や「csv」ならできるようですが、「dat」ではエラーになるし・・・
(データベースまたはオブジェクトは読み取り専用なので、更新できません)のエラーに
元々のファイルをコピーして拡張子を変更すれば良いとは思いますが・・・

等々あり、
相手はテキストファイルなので、1行読んで、処理して、1行書出し・・・・
その時の定義のみを保持しておいて、再利用できれば・・・・
また、区切り(デリミタ)をいろいろ指定できるようにしておけば・・・

という処理をするサンプルになります。


定義を設定する画面、実行する画面は以下の様な感じです。

Sample9_0  Sample9_10

今回やってみてわかったのは、
フォームが管理する CurrentRecord は、
フォームが管理するレコードセットの AbsolutePosition + 1 と同じで無いことがある。
続きを読んでみようかな ---≫

2011/06/18

Category: 使えたら

TB: 0  /  CM: 0

top △

遊んでみますか 


「遊ぶ」っていう言葉は、いろいろやってみるとか、使ってみるとか・・・で良く使います。
こういう事をするには、どうすれば・・・ 等々考えてやってみてます。

という話は置いといて、

1 ~ 9 の数字で 3 x 3 、それを 9つ合わせたパズル? がありますが、
それをチョッとフォーム上でやってみようかな?  というものになります。
kSample78
で、画面上その場限りっていう事ももったいないので、
設問用とか、途中の状態を保存/呼び出しできるようにしてみました。

kSample78_1   kSample78_2

左側の数字を選ぶと、入力できるところをナビしてくれます。

この数字のクリック等は、メモリ上でいったん管理して、「保存」でテーブルへ書き出し・・・
メモリ上で管理する方法として、またまた ADODB インメモリレコードセットを使ってみました。
やっぱりレコードセットって、使い道ありますね・・・・  絞り込みやらソートやら・・・
続きを読んでみようかな ---≫

2011/06/10

Category: 使えたら

TB: 0  /  CM: 0

top △

サンプルデータを html の Table 形式に展開等するツール 


旧記事掲載:2010/04/11

旧記事で、初めて html の Table 形式を使った表示をしてみてました。
数行だけのものだったのですが、あ~でもない、こ~でもない、、、と四苦八苦。
tr td くらいしか知らなかったので、項目の強調は?? ・・・ th
複数行に分けてはだめなの・・・ 改行を削除して。。
th って標準で真中揃えでは??・・・ どこで定義しているの?? 探せない、、、で、そのままに。
(その時の th に指定すればよかったのですね・・・と後でわかり)
(でも、RSSで見る分には真中揃えだよね)

ということで、今後も直面するであろうことから、ツールを作ってみました。
(皆さんは別の便利なツールをお使いでしょうが、私は手作業でやってたもので、
かなり便利になったな、と思っています)

再開後 Table 形式を多用していたと思いますし、今後も多用してきます。


そして、チョイで作れて、作ったものくらいは逆に読み込めるように、

でも、読み込んだらそれを元に、テーブル作れればいいよね。
そうすれば、サンプルデータを提示された時に簡単に取り込め、検証も早くなるよね。。。

作成したツールのメイン画面は、以下となります(フォーム「F作成」)
kSample69

なお、画面操作の中でタブコントロールを使用して帳票フォーム内の項目表示を切り替えています。
hatenaさんの 帳票フォームで表示項目が多いとき、ページ切り替えで 記事を参考にさせていただきました。
続きを読んでみようかな ---≫

2011/05/15

Category: 使えたら

TB: 0  /  CM: 0

top △


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。