AccessのVBAに関する質問スレです
★1 質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンは必ず書きましょう。
★2 AccessのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 AccessのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★5 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
関連スレ
Excel VBA 質問スレ Part23
http://toro.2ch.net/test/read.cgi/tech/1327763113/l50
探検
Access VBA 質問スレ Part1
■ このスレッドは過去ログ倉庫に格納されています
2012/02/06(月) 22:53:46.88
2013/04/12(金) 00:23:04.15
使用不可にいている3つのテキストボックスを、
チェックボックスをonにすると使用可能にするにはどうしたらいいでしょうか?
チェックボックスをonにすると使用可能にするにはどうしたらいいでしょうか?
94デフォルトの名無しさん
2013/04/12(金) 01:37:21.85 >>93
Private Sub チェックボックス_Click()
If Me.チェックボックス.Value = True Then
Me.テキストボックス1.Enabled = True
Me.テキストボックス2.Enabled = True
Me.テキストボックス3.Enabled = True
Else
Me.テキストボックス1.Enabled = False
Me.テキストボックス2.Enabled = False
Me.テキストボックス3.Enabled = False
End If
End Sub
Private Sub チェックボックス_Click()
If Me.チェックボックス.Value = True Then
Me.テキストボックス1.Enabled = True
Me.テキストボックス2.Enabled = True
Me.テキストボックス3.Enabled = True
Else
Me.テキストボックス1.Enabled = False
Me.テキストボックス2.Enabled = False
Me.テキストボックス3.Enabled = False
End If
End Sub
2013/04/12(金) 11:57:39.57
>>92
参考にさせてもらいました。
ありがとうございます。
引き続き質問なのですが、
Windows8(32bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合に毎回ではないのですが、
レーダーチャートの目盛りが正常に表示されません。(-3E+259と表示される)
なお、表示しているデータは毎回同じものです。
ちなみに、Windows8(64bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合も同様でした。
この現象について何かご存知の方がいらっしゃいましたらお願いします。
参考にさせてもらいました。
ありがとうございます。
引き続き質問なのですが、
Windows8(32bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合に毎回ではないのですが、
レーダーチャートの目盛りが正常に表示されません。(-3E+259と表示される)
なお、表示しているデータは毎回同じものです。
ちなみに、Windows8(64bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合も同様でした。
この現象について何かご存知の方がいらっしゃいましたらお願いします。
2013/04/12(金) 17:36:38.89
2013/04/12(金) 17:42:08.68
>>96
Private Sub チェックボックス_Click()
Me.テキストボックス1.Enabled = Me.チェックボックス.Value
Me.テキストボックス2.Enabled = Me.チェックボックス.Value
Me.テキストボックス3.Enabled = Me.チェックボックス.Value
End Sub
Private Sub チェックボックス_Click()
Me.テキストボックス1.Enabled = Me.チェックボックス.Value
Me.テキストボックス2.Enabled = Me.チェックボックス.Value
Me.テキストボックス3.Enabled = Me.チェックボックス.Value
End Sub
2013/04/12(金) 18:36:06.95
2013/04/12(金) 22:29:10.45
Excelスレでも聞いたのですが、
以下のような時間の計算結果を出す関数として
0:00〜0:44 0:30
0:45〜1:14 1:00
1:15〜1:44 1:30
=IF(A1<"0:15"*1,"0:30"*1,MROUND(A1,"0:30"))
というアドバイスをしてくれた方がいましたが、
これに相当するコードが全くわかりません。
丸投げですがどなたか教えてくださいませ。
以下のような時間の計算結果を出す関数として
0:00〜0:44 0:30
0:45〜1:14 1:00
1:15〜1:44 1:30
=IF(A1<"0:15"*1,"0:30"*1,MROUND(A1,"0:30"))
というアドバイスをしてくれた方がいましたが、
これに相当するコードが全くわかりません。
丸投げですがどなたか教えてくださいませ。
100桃白白
2013/04/13(土) 02:40:34.80 >>99
Function marume(ByVal s As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If s < Q Then
marume = H
Else
marume = Fix((s + Q) / H) * H
End If
End Function
Function marume(ByVal s As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If s < Q Then
marume = H
Else
marume = Fix((s + Q) / H) * H
End If
End Function
101デフォルトの名無しさん
2013/04/13(土) 17:33:29.73 >>100
フォームの[実時間]の時間によって[時間]に結果を出す場合で、
Function 時間(ByVal 実時間 As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If 実時間 < Q Then
時間 = H
Else
時間 = Fix(([実時間] + Q) / H) * H
End If
End Function
としましたがうまくいかず、どこをどうしたら良いのかまるでわかりません。
ご指摘お願いいたします。
フォームの[実時間]の時間によって[時間]に結果を出す場合で、
Function 時間(ByVal 実時間 As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If 実時間 < Q Then
時間 = H
Else
時間 = Fix(([実時間] + Q) / H) * H
End If
End Function
としましたがうまくいかず、どこをどうしたら良いのかまるでわかりません。
ご指摘お願いいたします。
103デフォルトの名無しさん
2013/04/13(土) 21:29:31.16 >>102
[開始時間]に入力、[終了時間]に入力後、
時間の差を[実時間]に表示し、これを基に[時間]に結果を表示したい、という流れですが、
フォームを開くだけで以下の、
「イベント プロパティに指定した式 読み込み時でエラーが発生しました:
このメンバー識別子は既にオブジェクトモジュールの中に存在しています。」
※マクロ名、ユーザー定義関数、[イベント プロシージャ]以外の式が指定されています。
※関数、イベント、マクロの評価でエラーが発生しました。
というエラーメッセージがでますが、正直理解できていません。
[開始時間]に入力、[終了時間]に入力後、
時間の差を[実時間]に表示し、これを基に[時間]に結果を表示したい、という流れですが、
フォームを開くだけで以下の、
「イベント プロパティに指定した式 読み込み時でエラーが発生しました:
このメンバー識別子は既にオブジェクトモジュールの中に存在しています。」
※マクロ名、ユーザー定義関数、[イベント プロシージャ]以外の式が指定されています。
※関数、イベント、マクロの評価でエラーが発生しました。
というエラーメッセージがでますが、正直理解できていません。
104桃白白
2013/04/14(日) 01:59:24.64 >>103
コントロールの名前と関数の名前が競合してるんでない?
コントロールと関数を別の名前にしてコントロールソースで紐付けて
やっちゃえばいいよ。こんな感じで。
Database1.zip download
http://kie.nu/Xug
コントロールの名前と関数の名前が競合してるんでない?
コントロールと関数を別の名前にしてコントロールソースで紐付けて
やっちゃえばいいよ。こんな感じで。
Database1.zip download
http://kie.nu/Xug
105デフォルトの名無しさん
2013/04/14(日) 14:28:32.69 >>104
うわー、ファイルのアップまでしていただき本当にありがとうございます。
テーブルに記録しておく必要があったため、
Private Sub 終了時間_AfterUpdate()
時間 = Marume(実サービス時間)
End Sub
ということで全てスッキリしました。
いただいたコード自体見てもほとんど理解しきれてませんが、
これから勉強しながら頑張ってみます。
再度、本当にありがとうございました。
うわー、ファイルのアップまでしていただき本当にありがとうございます。
テーブルに記録しておく必要があったため、
Private Sub 終了時間_AfterUpdate()
時間 = Marume(実サービス時間)
End Sub
ということで全てスッキリしました。
いただいたコード自体見てもほとんど理解しきれてませんが、
これから勉強しながら頑張ってみます。
再度、本当にありがとうございました。
106デフォルトの名無しさん
2013/04/19(金) 11:54:05.25 フォームのプロパティにある「コード保持」って何でしょうか?
「はい/いいえ」はどのように使い分けるのでしょうか?
「はい/いいえ」はどのように使い分けるのでしょうか?
107デフォルトの名無しさん
2013/04/19(金) 12:30:11.35 存在しないオブジェクトに関連したコードを不要になったときに自動で削除する機能がある
たとえば"ボタンA"をクリックしたときのコードを書いてある状態で
あとで"ボタンA"を"ボタンB"に名称変更したりしたときに
コード保持が「いいえ」だと"ボタンA"をクリックしたときのコードは捨てられる
たとえば"ボタンA"をクリックしたときのコードを書いてある状態で
あとで"ボタンA"を"ボタンB"に名称変更したりしたときに
コード保持が「いいえ」だと"ボタンA"をクリックしたときのコードは捨てられる
108デフォルトの名無しさん
2013/04/19(金) 16:04:50.27 どもです
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
109デフォルトの名無しさん
2013/04/19(金) 16:43:59.98110デフォルトの名無しさん
2013/04/22(月) 10:00:33.47 >>109
遅くなりましたが、ありがとです
試しにフォームを作成時に、「いいえ」を選択しておいた状態で
イベントプロシージャを設定してみました。
その時点で自動的に「はい」に切り替わるんですね。
そしてコードを使うフォーム、レポートが1000個を超えるものは作れないと言う事なんですね。
勉強になりました。
遅くなりましたが、ありがとです
試しにフォームを作成時に、「いいえ」を選択しておいた状態で
イベントプロシージャを設定してみました。
その時点で自動的に「はい」に切り替わるんですね。
そしてコードを使うフォーム、レポートが1000個を超えるものは作れないと言う事なんですね。
勉強になりました。
111デフォルトの名無しさん
2013/04/25(木) 11:56:04.36 タブコントロールでページ5枚作る。
チェックボックスによって表示ページ数を切り替えたい。
・チェックなし : ページ1〜ページ5
・チェックあり : ページ2〜ページ4
そのため、チュックボックスのイベントプロシージャで、一旦全部のページを非表示にして
そのあと、必要なページを表示するようにしてみました。
For i=0 To 5
Me.Controls("ページ" & i).Visible = False
Next i
For i=Starrt To Start+Cnt
Me.Controls("ページ" & i).Visible = False
Next i
それで、ページ5を選択している状態でチェックありにすると
消したはずのタブの周りの枠が残ってしまいます。
これを綺麗に消す方法ってありませんか?
環境はAccess2010です。
チェックボックスによって表示ページ数を切り替えたい。
・チェックなし : ページ1〜ページ5
・チェックあり : ページ2〜ページ4
そのため、チュックボックスのイベントプロシージャで、一旦全部のページを非表示にして
そのあと、必要なページを表示するようにしてみました。
For i=0 To 5
Me.Controls("ページ" & i).Visible = False
Next i
For i=Starrt To Start+Cnt
Me.Controls("ページ" & i).Visible = False
Next i
それで、ページ5を選択している状態でチェックありにすると
消したはずのタブの周りの枠が残ってしまいます。
これを綺麗に消す方法ってありませんか?
環境はAccess2010です。
112111
2013/04/25(木) 12:00:42.84 忘れてましたがタブの背景色を変更したいので
タブコントロールのプロパティで「テーマの使用」を「はい」に設定してあります。
タブコントロールのプロパティで「テーマの使用」を「はい」に設定してあります。
113デフォルトの名無しさん
2013/04/25(木) 14:29:36.88 消す前に違うページを選択すれば良いだけじゃないのか?
114デフォルトの名無しさん
2013/05/21(火) 13:36:25.32 チェックボックスの true が -1 から 1 に変わったようです
2007からでしょうか?
変更がめんどくさい
2007からでしょうか?
変更がめんどくさい
115デフォルトの名無しさん
2013/05/22(水) 11:48:10.00 >>114
2003と2007で試したけど非連結で画面でチェックした場合はどちらも-1になる
ただし、コードで1をセットしたら1のままだった
まず1をセットするコード書くのが悪い
そして、1でも-1でもBooleanとして評価したらTrueなんだから
そんな事に影響されるコード書くのが悪い
2003と2007で試したけど非連結で画面でチェックした場合はどちらも-1になる
ただし、コードで1をセットしたら1のままだった
まず1をセットするコード書くのが悪い
そして、1でも-1でもBooleanとして評価したらTrueなんだから
そんな事に影響されるコード書くのが悪い
116デフォルトの名無しさん
2013/05/22(水) 14:18:44.22 >チェックボックスの true が -1 から 1 に変わったようです
>2007からでしょうか?
キリっ
>2007からでしょうか?
キリっ
117デフォルトの名無しさん
2013/05/22(水) 14:27:02.75 知らんがな
ってレスしようと思ったけど
かわいそうなので放っといた
ってレスしようと思ったけど
かわいそうなので放っといた
118デフォルトの名無しさん
2013/06/04(火) 02:35:18.23 月曜会社を休んで家で土曜から月曜までVBAをひたすら書き続けた結果
頭が超重くなって3日目は何やってるかよくわからないまま終わってしまった
VBAのコーディングをぶっ通しでやるのは2日が限界か?
頭が超重くなって3日目は何やってるかよくわからないまま終わってしまった
VBAのコーディングをぶっ通しでやるのは2日が限界か?
119デフォルトの名無しさん
2013/06/05(水) 22:11:38.14 >>118
限界は人それぞれだろうが、無理はすんなよ
限界は人それぞれだろうが、無理はすんなよ
120デフォルトの名無しさん
2013/06/21(金) 00:57:48.54 access 2003 にて
SendObjectメソッドを利用して、メールを送信したいと思っています。
実際にメールを送れるようにはなっているのですが、
送信メール本文に「mdbファイルと同一ディレクトリにある単体の.msgファイルの本文」(.msgファイルの場所はフルパス指定でも構いません)
を表示させる事は可能でしょうか?
イメージ的には、テーブルから送信先アドレスを収集し、.msgファイルの本文の内容をテンプレートとして一括送信する
と言った感じです。
SendObjectメソッドを利用して、メールを送信したいと思っています。
実際にメールを送れるようにはなっているのですが、
送信メール本文に「mdbファイルと同一ディレクトリにある単体の.msgファイルの本文」(.msgファイルの場所はフルパス指定でも構いません)
を表示させる事は可能でしょうか?
イメージ的には、テーブルから送信先アドレスを収集し、.msgファイルの本文の内容をテンプレートとして一括送信する
と言った感じです。
121デフォルトの名無しさん
2013/06/21(金) 01:01:26.56 書き忘れました。
メール送信ソフトはoutlookです。
メール送信ソフトはoutlookです。
122デフォルトの名無しさん
2013/06/21(金) 07:11:37.65 .msgファイルの形式ってたぶん公開されてないんだよなぁ
どうやってメールを.msgで保存してるかしらんが、そっちを変更した方が楽な気がする
outlookでもVBAは使えるぞ
どうやってメールを.msgで保存してるかしらんが、そっちを変更した方が楽な気がする
outlookでもVBAは使えるぞ
123デフォルトの名無しさん
2013/06/30(日) 18:38:52.19 >>120
OutLookのSession.OpenSharedItemで.msgファイルの読み込みできるが
他のアプリからOutLookいじるのはお勧めしない
OutLook側でmdbに書きだすとか、プレーンテキストで保存するとかした方が良いんじゃね
OutLookのSession.OpenSharedItemで.msgファイルの読み込みできるが
他のアプリからOutLookいじるのはお勧めしない
OutLook側でmdbに書きだすとか、プレーンテキストで保存するとかした方が良いんじゃね
124デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN 質問です
ODBCの接続する際に
IDとパスワードを入力するボックス(VBAで設定したものではない)がありますが、
初めから半角英数字になるように設定はできますか?
ODBCの接続する際に
IDとパスワードを入力するボックス(VBAで設定したものではない)がありますが、
初めから半角英数字になるように設定はできますか?
125デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN VBAで設定したものではないものを、VBAでどうこうするのは無理があります
126デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN127デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN >>126
プロパティにないの?
プロパティにないの?
128デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN ODBCのミドル層で出てるダイアログだから、アクセス側からいじれるプロパティなんてないだろ
自分でIDとパスワード入力してもらうフォーム作ってそこに入力してもらえ
自分でIDとパスワード入力してもらうフォーム作ってそこに入力してもらえ
129デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN DBの持ち物か。すまん。
ダイアログの出る直前にACCESSで入力を固定して終わったら解除ってできないのかね。
(調べてない、ただの理想を述べてみた。)
ダイアログの出る直前にACCESSで入力を固定して終わったら解除ってできないのかね。
(調べてない、ただの理想を述べてみた。)
130デフォルトの名無しさん
2013/09/01(日) 00:30:06.54131デフォルトの名無しさん
2013/09/01(日) 02:59:29.29 Access初心者です。
VBAでExcelからデータをコマンドボタンで自動インポートさせる物を
作っています。
インポート漏れがないかのチェック処理もさせたいのですが、
どのようにすればいいかわかりません、ご教授お願いします。
VBAでExcelからデータをコマンドボタンで自動インポートさせる物を
作っています。
インポート漏れがないかのチェック処理もさせたいのですが、
どのようにすればいいかわかりません、ご教授お願いします。
132デフォルトの名無しさん
2013/09/01(日) 03:24:10.08 >>131
レコード数で比較すれば?
レコード数で比較すれば?
133デフォルトの名無しさん
2013/09/01(日) 03:48:29.03134デフォルトの名無しさん
2013/09/01(日) 03:59:24.56 ユニークキーで差分とれよ
少しは考えろよ
少しは考えろよ
135デフォルトの名無しさん
2013/09/01(日) 04:00:02.93136デフォルトの名無しさん
2013/09/01(日) 08:49:32.79 インポート漏れなんてあるの?
137デフォルトの名無しさん
2013/09/01(日) 09:02:48.06 結構ある
あと勝手にデータ変換されてたりもする
あと勝手にデータ変換されてたりもする
138デフォルトの名無しさん
2013/09/01(日) 09:25:38.41 そうか
ならインポートしてからチェックするより自前のコードでインポートした方がいいんじゃない?
ならインポートしてからチェックするより自前のコードでインポートした方がいいんじゃない?
139 【だん吉】
2013/09/01(日) 09:31:40.27 自分はそうしてる
140デフォルトの名無しさん
2013/09/01(日) 10:05:17.59 ウィザードにまかせてるとひどい目にあう
141デフォルトの名無しさん
2013/09/01(日) 10:35:21.42 Access初心者なので、そのVBAのコードの書き方がわかりません
教えていただけませんか
教えていただけませんか
142デフォルトの名無しさん
2013/09/01(日) 10:36:54.67 いいですよ
144デフォルトの名無しさん
2013/09/01(日) 20:23:21.63 インポート漏れするデータ欲しい
試してみたい
試してみたい
145デフォルトの名無しさん
2013/09/01(日) 23:14:50.69 数字型のとこに文字入ってるデータとか用意したらいいんじゃね
146デフォルトの名無しさん
2013/09/01(日) 23:38:03.38 >>145
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
147デフォルトの名無しさん
2013/09/02(月) 10:35:57.67 インポート漏れのレコードがわからなくて困る、なんて状況になると言ってる人はいないが
148デフォルトの名無しさん
2013/09/02(月) 10:57:43.03 おもろいな
149デフォルトの名無しさん
2013/09/05(木) 23:50:52.09 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
150デフォルトの名無しさん
2013/09/07(土) 03:42:11.28 よし
151デフォルトの名無しさん
2013/09/07(土) 16:59:26.27 そもそもワークシート変換にインポート定義とかないだろ
152デフォルトの名無しさん
2013/09/09(月) 01:46:05.73 Accessの初心者です。
レポート印刷でページヘッダーのコードが変わったタイミングで改ページしたい
かつ詳細の明細行は4レコードだけで改ページさせる、両方の条件を満たせるには、
どうやって作成したらよいかご教授お願いします。
レポート印刷でページヘッダーのコードが変わったタイミングで改ページしたい
かつ詳細の明細行は4レコードだけで改ページさせる、両方の条件を満たせるには、
どうやって作成したらよいかご教授お願いします。
153デフォルトの名無しさん
2013/09/09(月) 02:08:51.60 ページヘッダーじゃなくて、その項目でグループ化してヘッダー作る
そのヘッダーかフッターで改ページを設定する
詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する
つか、VBAまったく関係ない話
そのヘッダーかフッターで改ページを設定する
詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する
つか、VBAまったく関係ない話
154デフォルトの名無しさん
2013/09/09(月) 07:18:08.57155デフォルトの名無しさん
2013/09/09(月) 13:03:59.99 VBAを一言で表すと
156デフォルトの名無しさん
2013/09/09(月) 13:20:44.56 >>154
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.改ページ1.Visible = False
Me.改ページ2.Visible = False
前コード = Me.フィールド5
End Sub
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me.フィールド5 <> 前コード Then
Me.改ページ1.Visible = True
行数 = 0
Else
Me.改ページ1.Visible = False
End If
前コード = Me.フィールド5
行数 = 行数 + 1
If 行数 > 4 Then
Me.改ページ2.Visible = True
行数 = 0
Else
Me.改ページ2.Visible = False
End If
End Sub
こんな感じ。この例ではフィールド5が変わったら改ページな
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.改ページ1.Visible = False
Me.改ページ2.Visible = False
前コード = Me.フィールド5
End Sub
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me.フィールド5 <> 前コード Then
Me.改ページ1.Visible = True
行数 = 0
Else
Me.改ページ1.Visible = False
End If
前コード = Me.フィールド5
行数 = 行数 + 1
If 行数 > 4 Then
Me.改ページ2.Visible = True
行数 = 0
Else
Me.改ページ2.Visible = False
End If
End Sub
こんな感じ。この例ではフィールド5が変わったら改ページな
157デフォルトの名無しさん
2013/09/09(月) 13:22:34.74 う。 は空白に置換してくれ
つか普通に貼り付けできなくなったのかよ
つか普通に貼り付けできなくなったのかよ
158デフォルトの名無しさん
2013/09/10(火) 00:16:36.47 >>156
もう少し教えてください。。。
明細が5明細あった場合、
コードA
00001
00002
00003
00004
改ページ
コードA
00005
改ページ
コードB
00001
00002
00003
改ページ
コードC
00001
こんな感じで出したいのですが
もう少し教えてください。。。
明細が5明細あった場合、
コードA
00001
00002
00003
00004
改ページ
コードA
00005
改ページ
コードB
00001
00002
00003
改ページ
コードC
00001
こんな感じで出したいのですが
159デフォルトの名無しさん
2013/09/10(火) 02:26:08.63160sage
2013/09/17(火) 19:50:09.24 Accessのクエリで、「クエリの並び替え条件を動的に変更する」方法を
教えて頂けないでしょうか。
現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
よろしくお願いします。
教えて頂けないでしょうか。
現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
よろしくお願いします。
161デフォルトの名無しさん
2013/09/17(火) 20:22:56.49162デフォルトの名無しさん
2013/09/17(火) 21:44:28.61163160
2013/09/17(火) 22:09:44.82164デフォルトの名無しさん
2013/10/20(日) 21:44:25.62 株価のデータベースを作りVBAで銘柄の抽出をしています
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です
そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?
変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です
そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?
変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
165デフォルトの名無しさん
2013/10/20(日) 22:06:18.65 view
166デフォルトの名無しさん
2013/10/20(日) 22:10:51.15 すごいVBA発見w
http://esuafai.digi2.jp/
http://esuafai.digi2.jp/
167164
2013/10/20(日) 22:56:11.74 フォームと連動させるのではなく、最初に実行させる時にStaticで保持し
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
168デフォルトの名無しさん
2013/10/21(月) 00:11:20.78 なんか色々つっこみどろこ満載だな
まあ、動いてるならいいか
まあ、動いてるならいいか
169デフォルトの名無しさん
2013/11/05(火) 18:56:30.39 VBAでリモートのデータベースにトランザクション処理を開始して、コミット/ロールバックするのはわかりました。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
170デフォルトの名無しさん
2013/11/16(土) 13:17:48.50 初心者ですみません。コンパイルってなんですか?
171デフォルトの名無しさん
2013/11/16(土) 13:19:54.03 疲労困憊る
172デフォルトの名無しさん
2013/11/16(土) 13:40:52.90 コンパイルダー・オン
173デフォルトの名無しさん
2013/11/16(土) 15:59:42.46 昔広島にあったSTGや落ちゲーキャラゲー開発してた会社
174デフォルトの名無しさん
2013/11/16(土) 17:51:44.57 あったなぁ
175デフォルトの名無しさん
2013/11/16(土) 18:27:38.04 脳みそコネコネの会社?なくなったのか?
176デフォルトの名無しさん
2013/11/16(土) 18:29:57.41 マジレスしとこう
>>170
ソースプログラムを実行可能形式に変換する事
簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
>>170
ソースプログラムを実行可能形式に変換する事
簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
177デフォルトの名無しさん
2013/11/16(土) 19:25:11.96 >>175
1998年に無くなって、落ちゲー関係はセガが買い取った
1998年に無くなって、落ちゲー関係はセガが買い取った
178デフォルトの名無しさん
2013/11/16(土) 21:35:05.65179デフォルトの名無しさん
2013/11/25(月) 21:45:32.92 Accessの場合、ソースを中間コードに変換する作業をコンパイルと呼んでる。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
180デフォルトの名無しさん
2013/11/26(火) 02:50:39.57 実行時エラーってのは普通、コンパイルは通った後に発生するエラーの事を言うんだが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
181デフォルトの名無しさん
2014/01/31(金) 12:48:48.93 Access独自の便利機能なのか分かりませんが
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?
テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:
"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
"本決算を2月13日"
"---"
このようになってても、テーブルのフィールドを選択してソートが出来るとは初めて知ったのですが
VBAからやる方法が分かりません
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?
テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:
"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
"本決算を2月13日"
"---"
このようになってても、テーブルのフィールドを選択してソートが出来るとは初めて知ったのですが
VBAからやる方法が分かりません
182デフォルトの名無しさん
2014/01/31(金) 13:00:11.86183デフォルトの名無しさん
2014/01/31(金) 15:57:33.35 辞書順と偶然一致しただけなんじゃないの
184デフォルトの名無しさん
2014/01/31(金) 18:24:40.76 そもそも
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
185デフォルトの名無しさん
2014/01/31(金) 19:17:48.82 そうだな、俺も出来るとは思ってなかった
しかし、実際その通りに動くのだから仕方がないw
だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
しかし、実際その通りに動くのだから仕方がないw
だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
186デフォルトの名無しさん
2014/01/31(金) 19:30:53.46187デフォルトの名無しさん
2014/01/31(金) 19:54:34.74 分かった。ググったら出てきた
2007から出来るらしいけど、勝手に日付を解釈してるのではなく
正確にはテキスト部分を無視して数値順に並び替えてる、らしい
2007から出来るらしいけど、勝手に日付を解釈してるのではなく
正確にはテキスト部分を無視して数値順に並び替えてる、らしい
188デフォルトの名無しさん
2014/01/31(金) 21:40:18.27 ということはデータを統一しないといけませんね
189デフォルトの名無しさん
2014/01/31(金) 22:33:10.45 ソートの問題じゃなくて暗黙の型変換の問題な気はするけど
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
190デフォルトの名無しさん
2014/01/31(金) 22:39:33.21 どんな型変換すればそうなるのか、逆に聞いてみたい
191デフォルトの名無しさん
2014/02/01(土) 13:42:22.69 あいまいな検索をしたい場合はLike *検索文字列* だけど
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
192デフォルトの名無しさん
2014/02/02(日) 23:15:37.86■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★3 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 三嶋由紀夫ってネトウヨだったの? [633473628]
- 【画像】セクシー女優・天沢りんさん「お休み頂いてた半年間でこんな体になりました🪽🤍」👉予想通りの展開に [242521385]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- SNSで米が高いと投稿すると高市ソルジャーに攻撃される模様 [931948549]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
