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
2012/02/09(木) 00:43:50.48
くその山
2012/02/10(金) 08:46:53.06
まさかの3
4デフォルトの名無しさん
2012/02/13(月) 03:22:20.27 期待あげ
2012/02/24(金) 00:33:06.69
問題なく使えてるけど
6デフォルトの名無しさん
2012/02/24(金) 07:50:36.35 とりあえず使ってみたいんだけど、解説してるwebページ教えて
2012/02/24(金) 10:58:16.76
うぜえ
2012/02/24(金) 13:25:33.52
2012/02/24(金) 20:57:22.20
>>6
とりあえず程度なら解説見ないで作れよ。
とりあえず程度なら解説見ないで作れよ。
2012/03/06(火) 16:43:20.41
すいませんが質問です。
XPから7へ移行したいのですがaccessのvba上で
excelのマクロを操作してセルの中身を変えて上書き保存してたのですが、
今まで前面にexcelのメッセージで上書きしますか?的なメッセージが出てたのですが
7だとaccessが出っ放しでexcelがタスクに隠れてメッセージが前面に出てこないのです。
何かやり方ありませんか?ググり方すら分からない…アドバイス下さい;
XPから7へ移行したいのですがaccessのvba上で
excelのマクロを操作してセルの中身を変えて上書き保存してたのですが、
今まで前面にexcelのメッセージで上書きしますか?的なメッセージが出てたのですが
7だとaccessが出っ放しでexcelがタスクに隠れてメッセージが前面に出てこないのです。
何かやり方ありませんか?ググり方すら分からない…アドバイス下さい;
2012/03/06(火) 16:49:39.47
>>10
ttp://oshiete.goo.ne.jp/qa/4876776.html
ttp://oshiete.goo.ne.jp/qa/4876776.html
2012/03/06(火) 17:05:38.78
>>11
早々とありがとうございます。本当に嬉しい!!
しかし、自分で作ったメッセじゃなくてデフォルトの置き換えますかってメッセなんです。
XPから7に変わると設定変えるんじゃなくてvbaに追加せんと駄目なんですかね…無知でスイマセン
早々とありがとうございます。本当に嬉しい!!
しかし、自分で作ったメッセじゃなくてデフォルトの置き換えますかってメッセなんです。
XPから7に変わると設定変えるんじゃなくてvbaに追加せんと駄目なんですかね…無知でスイマセン
2012/03/06(火) 17:46:46.30
>>12
Excelのマクロ実行中にExcelをアクティブウィンドウに出来ればおK。
試してないが、この辺が参考にならないかな?
ttp://www.officepro.jp/excelvba/window/index2.html
Excelのマクロ実行中にExcelをアクティブウィンドウに出来ればおK。
試してないが、この辺が参考にならないかな?
ttp://www.officepro.jp/excelvba/window/index2.html
2012/03/07(水) 00:32:47.13
すみません、フォームが開く順序は
Open→Load→…が規定だと思いますが、
Loadが飛ばされる条件はどのような条件か
ご存じの方いらっしゃいませんか?
Open→Load→…が規定だと思いますが、
Loadが飛ばされる条件はどのような条件か
ご存じの方いらっしゃいませんか?
2012/03/07(水) 11:20:11.27
HideしてShowするとLoadに飛ぶ
2012/03/08(木) 16:02:20.11
>>13
ありがとうございます。一度試してみます
ありがとうございます。一度試してみます
2012/03/12(月) 09:45:47.59
すみません
ADOで新規にブール型のフィールドをテーブルに作成する場合、
VBAではどうかくのでしょうか
(テーブル).Columns.Append "XXXX", adBoolean
だとエラーになってしまうんですが
ADOで新規にブール型のフィールドをテーブルに作成する場合、
VBAではどうかくのでしょうか
(テーブル).Columns.Append "XXXX", adBoolean
だとエラーになってしまうんですが
1817
2012/03/12(月) 10:52:54.08 すみません環境を書きます
OS:Vista
Ver:Access2010(accdbファイルを使用。実際のコードはExcel2007ファイルに記述)
OS:Vista
Ver:Access2010(accdbファイルを使用。実際のコードはExcel2007ファイルに記述)
2012/03/12(月) 14:16:24.17
DoCmd.RunSQL "ALTER TABLE (テーブル) ADD COLUMN XXXX BOOLEAN;"
2017
2012/03/13(火) 01:56:43.81 回答ありがとうございます
ただ他のフィールド(adGUID・ adInteger・adVarWChar)は問題なく
Appendできるので、SQL文ではなく、これらに合わせたADOXによる
コードにしたいと思ってます
んん、というかadBooleanのフィールドを追加するとtablesへのAppend時に
エラーとなる原因がどうしても知りたいです
散々ググったのですが、結局実際にadBooleanのフィールドを追加している
サンプルコードにはお目にかかれませんでした
何が原因なんだろう…
adBooleanの時はAppendの他に何か処理が必要なんだろうか…
ただ他のフィールド(adGUID・ adInteger・adVarWChar)は問題なく
Appendできるので、SQL文ではなく、これらに合わせたADOXによる
コードにしたいと思ってます
んん、というかadBooleanのフィールドを追加するとtablesへのAppend時に
エラーとなる原因がどうしても知りたいです
散々ググったのですが、結局実際にadBooleanのフィールドを追加している
サンプルコードにはお目にかかれませんでした
何が原因なんだろう…
adBooleanの時はAppendの他に何か処理が必要なんだろうか…
2012/03/13(火) 15:50:44.64
Office2010 64bit版を使ってるのだとしたら32bit版に入れ替えてみると良いかも。
そうじゃないとしたら、参照設定でバージョンの違うADOモジュールを試すとか。
そうじゃないとしたら、参照設定でバージョンの違うADOモジュールを試すとか。
2217
2012/03/14(水) 01:05:25.66 原因が分かりました
普段ACCESS使ってる人からは、当たり前やんけ!って怒られそうな話ですが
アドバイス下さった方もいらっしゃるので報告しますと
(テーブル).Columns.Append "XXXX",adBoolean
が原因ではなく、その次に入れておいた次の文
(テーブル).Columns("XXXX").Attributes = adColNullable
が原因でした
ブール型フィールドには初期値(True)があり、Nullを設定できないのにNull許容を設定したせいで
エラーになっていたようです
本やネットで情報漁って、ADOでEXCElからACCESSファイル作れてテーブルも作れるなら、ACCESS買わなくてもいいんじゃね?
なんて思ってましたが、ソフト買って普段からいじって慣れておいた方かいいのかも
普段ACCESS使ってる人からは、当たり前やんけ!って怒られそうな話ですが
アドバイス下さった方もいらっしゃるので報告しますと
(テーブル).Columns.Append "XXXX",adBoolean
が原因ではなく、その次に入れておいた次の文
(テーブル).Columns("XXXX").Attributes = adColNullable
が原因でした
ブール型フィールドには初期値(True)があり、Nullを設定できないのにNull許容を設定したせいで
エラーになっていたようです
本やネットで情報漁って、ADOでEXCElからACCESSファイル作れてテーブルも作れるなら、ACCESS買わなくてもいいんじゃね?
なんて思ってましたが、ソフト買って普段からいじって慣れておいた方かいいのかも
2012/03/15(木) 23:06:37.82
ADOのDynamicPropertyについて
かなり詳細な解説が知りたいのですが、
なにか参考となるURLや書籍はありませんか?
かなり詳細な解説が知りたいのですが、
なにか参考となるURLや書籍はありませんか?
2012/03/17(土) 19:33:03.28
Access初心者です。質問があります。
前任者のAccessで作られた業務ソフトを担当することになりました。
まずは全体を見通したいので、Basicのコードやコントロールのプロパティ、
イベントなど、すべての情報をテキストファイルに書き出したいです。
どうやったら良いのでしょうか?
Access2003 です。
教えてください。
前任者のAccessで作られた業務ソフトを担当することになりました。
まずは全体を見通したいので、Basicのコードやコントロールのプロパティ、
イベントなど、すべての情報をテキストファイルに書き出したいです。
どうやったら良いのでしょうか?
Access2003 です。
教えてください。
2012/03/19(月) 00:50:30.92
コードはともかくとして、プロパティなんかは
自分でそれをリストするプログラムを書けばいい。
自分でそれをリストするプログラムを書けばいい。
2012/03/22(木) 05:39:40.85
VBAでそんなこと出来るんですね。
どこかのHPにソースが公開されていないかな〜
参考になるページなど、探して見ます。
どこかのHPにソースが公開されていないかな〜
参考になるページなど、探して見ます。
2012/03/22(木) 21:28:12.01
>>26
ツールならこのへんか
http://www.vector.co.jp/soft/win95/business/se397540.html
http://www.vector.co.jp/soft/win95/business/se130222.html
どっちもDAOとかCOMのAccess.Applicationオブジェクトで抜いてるだけだと思う
マクロ多用なら一回VBA変換すると見やすいぞ
ツールならこのへんか
http://www.vector.co.jp/soft/win95/business/se397540.html
http://www.vector.co.jp/soft/win95/business/se130222.html
どっちもDAOとかCOMのAccess.Applicationオブジェクトで抜いてるだけだと思う
マクロ多用なら一回VBA変換すると見やすいぞ
2012/04/16(月) 23:53:45.24
hosyu
2012/04/18(水) 00:22:57.54
Accessで同時利用の限界ってどれくらい?
プログラム工夫すれば50人くらいは兵器?
プログラム工夫すれば50人くらいは兵器?
2012/04/18(水) 13:07:20.08
50人がそれぞれ日一回違う時間帯に読み書きするとかならぜんぜん平気かもしれないよ
2012/04/26(木) 11:59:42.32
WindowsXP
Access2003
DoCmd.RunCommand acCmdSaveRecord
の使いようがよくわかりません。
例えば
テーブルA フィールド1〜3
についてフォームで値を入力できるようにしたとします。
フォームに入力して閉じるとテーブルのレコードは更新されています。
DoCmd.RunCommand acCmdSaveRecord
を使うとフォームを閉じる前の時点でレコードが更新されるんでしょうか?
しかしこの命令文を通過した後でテーブルを開いてみても更新されていませんでした。
Access2003
DoCmd.RunCommand acCmdSaveRecord
の使いようがよくわかりません。
例えば
テーブルA フィールド1〜3
についてフォームで値を入力できるようにしたとします。
フォームに入力して閉じるとテーブルのレコードは更新されています。
DoCmd.RunCommand acCmdSaveRecord
を使うとフォームを閉じる前の時点でレコードが更新されるんでしょうか?
しかしこの命令文を通過した後でテーブルを開いてみても更新されていませんでした。
2012/04/26(木) 13:16:55.86
馬鹿には無理
2012/04/26(木) 15:30:07.48
>>32
テーブルAを表示させたメインフォームの中に同じテーブルAを表示させたサブフォームを置いて
Private Sub 1_AfterUpdate()
End Sub
Private Sub 2_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
End Sub
と書け
メインに表示されたフィールド1を変更して、フォーカスをフィールド2に移すとサブに表示された内容も変わるメインに表示されたフィールド2を変更して、フォーカスをフィールド3に移してもサブの内容は変わらない
ただしどちらもメインフォームからサブフォームにフォーカスを移せば内容は変わる
これでレコードがどういうタイミングでセーブされるか判るべ
テーブルAを表示させたメインフォームの中に同じテーブルAを表示させたサブフォームを置いて
Private Sub 1_AfterUpdate()
End Sub
Private Sub 2_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
End Sub
と書け
メインに表示されたフィールド1を変更して、フォーカスをフィールド2に移すとサブに表示された内容も変わるメインに表示されたフィールド2を変更して、フォーカスをフィールド3に移してもサブの内容は変わらない
ただしどちらもメインフォームからサブフォームにフォーカスを移せば内容は変わる
これでレコードがどういうタイミングでセーブされるか判るべ
35デフォルトの名無しさん
2012/05/17(木) 20:45:31.33 人の手でデータ加工する過程はすべてVBAに置き換えられるのでしょうか?
2012/05/18(金) 03:27:32.55
>>35
Access内でやっている限りは
Access内でやっている限りは
■ このスレッドは過去ログ倉庫に格納されています
