MS Access:レポートで文字数に応じてフォントの大きさを変える 別法

 以前書いた MS Access:レポートで文字数に応じてフォントの大きさを変える で、手法を変えればエクセルと同じ書式設定が使えます。 どうするか。 帳票をエクセルで作って、必要なセルの書式設定を行い、これも過去記事の MS Access:エクセルシートに書込む  の方法でAccess からこのエクセルシートにデーターだけを書き込んでやります。 つまり、Access のレポートを諦めます。 データーを書き込むルーチンがちょっと...

MS Access:レポートで文字数に応じてフォントの大きさを変える

 以前書いた記事の修正版  決められた横幅のレポートのテキストボックスで、エクセルの書式設定の様に縮小して全体を表示するという設定と似たような処理をしたいときには・・・・・  NET上で検索すれば最適な手法はヒットしますが・・・・  こんな方法もあるという例を。  等幅フォントの場合、  まず表示する文字数を数えますが、アクセスは文字数で全角半角の区別をしないので  半角を1、全角を2とした時の...

MS Access:エクセル(Excel)シートに書込む

 書式ができあがっているエクセルの帳票にAccess のデータを書込んで次々印刷する。  会社とかで、どこかの部署とか、自分で作ってたエクセルの帳票に、  Access で作ったデーターを書込んで印刷する。  そんなことが現実にでてきて、印刷したい書類は90数枚で、それぞれ内容が違うもの。  で、データーはAccess に入力済み。  エクセルで色んな帳票を作るのは日常茶飯事で、罫線を多用したり、特に合計や引き算足...

MS Access:Visible = True で表示されないラベル

非表示ラベルを作っておいて、そこに“処理中です。しばらくお待ちください。”とか書いておいて、処理に時間のかかるルーチンでMe.処理中ですラベル.Visible = Trueとやってメッセージを表示させるのですが、以降の処理によっては表示されないときがあります。こんな簡単なことが実行されなくて悩みまくったことがありまして、そんなときは、先の行の下にMe.Repaintと書いてやります。...

MS Access:リストボックス表示時に特定の行に飛びたい

 リストボックスの名前をmyListBox とする。  リストボックスの1列目は重複のない、主キーが設定できるフィールドであることが必要。  この列は非表示でもよいし、また、このキーでソートされていなくてもよい。  TargetListBoxNum とかを、パブリック変数で長整数に定義し、  このリストボックスを含むフォームのアクティブ時イベントに下記のように記入する。  (このフィールドが文字列の場合の検証はしていない。...

MS Access:四捨五入

AccessVBA には四捨五入の関数がありません。そこで、四捨五入の関数。Function 四捨五入(数値#) As Long    Dim tmp_num As Long        tmp_num = Int(数値#)    数値# = 数値# - tmp_num        If 数値# >= 0.5 Then        四捨五入 = tmp_num + 1    Else  ...

MS Access:入力文字数を制限する(半角:1,全角:2で)

テキストボックスに入力された文字数を半角=1Byte,全角=2Byte と計算して指定Byte数を超えた文字列を削除する。関数として定義。Function LimitedString(inString As String, LenMax As Byte) As String'''  テキストボックスに入力された文字列の,文字数を制限する。'  全角文字を2,半角文字を1と計算する。'  全角文字の 2byte 中最後の 1byte が、文字数制限を超えたときは,'  最後の全角文字を削除する。' 引...

MS Access:DAOの明示的な宣言

DAOを使用する時は明示的に宣言する。Private Sub DataInput_Click()    Dim MyDB As DAO.Database    Dim MyRS As DAO.Recordset    Dim MyQD As DAO.QueryDefAccess のVBA の参照設定で、Microsoft DAO 3.6 Object Libraryを登録するが、Private Sub DataInput_Click()    Dim MyDB As Database    Dim MyRS As Recordset    Dim My...