1read 100read
2013年06月プログラム142: Access VBA 質問スレ Part1 (122)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
自動巡回ソフトというものを作ってみたい (151)
Perl初心者スレ(マジレス回答) (172)
Visual Studio 2005 Part 27 (141)
CORBAなら俺に聞け (135)
Go の宿題片付けます (142)
インデントを強制しても綺麗なコードにはなりません (165)
Access VBA 質問スレ Part1
1 :2012/02/06 〜 最終レス :2013/06/21 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
2 : くその山
3 : まさかの3
4 : 期待あげ
5 : 問題なく使えてるけど
6 : とりあえず使ってみたいんだけど、解説してるwebページ教えて
7 : うぜえ
8 : >>6 http://www.geocities.jp/cbc_vbnet/ http://accessvba.pc-users.net/ http://vba.officehp.com/ ググればいくらでも出てくる罠。
9 : >>6 とりあえず程度なら解説見ないで作れよ。
10 : すいませんが質問です。 XPから7へ移行したいのですがaccessのvba上で excelのマクロを操作してセルの中身を変えて上書き保存してたのですが、 今まで前面にexcelのメッセージで上書きしますか?的なメッセージが出てたのですが 7だとaccessが出っ放しでexcelがタスクに隠れてメッセージが前面に出てこないのです。 何かやり方ありませんか?ググり方すら分からない…アドバイス下さい;
11 : >>10 ttp://oshiete.goo.ne.jp/qa/4876776.html
12 : >>11 早々とありがとうございます。本当に嬉しい!! しかし、自分で作ったメッセじゃなくてデフォルトの置き換えますかってメッセなんです。 XPから7に変わると設定変えるんじゃなくてvbaに追加せんと駄目なんですかね…無知でスイマセン
13 : >>12 Excelのマクロ実行中にExcelをアクティブウィンドウに出来ればおK。 試してないが、この辺が参考にならないかな? ttp://www.officepro.jp/excelvba/window/index2.html
14 : すみません、フォームが開く順序は Open→Load→…が規定だと思いますが、 Loadが飛ばされる条件はどのような条件か ご存じの方いらっしゃいませんか?
15 : HideしてShowするとLoadに飛ぶ
16 : >>13 ありがとうございます。一度試してみます
17 : すみません ADOで新規にブール型のフィールドをテーブルに作成する場合、 VBAではどうかくのでしょうか (テーブル).Columns.Append "XXXX", adBoolean だとエラーになってしまうんですが
18 : すみません環境を書きます OS:Vista Ver:Access2010(accdbファイルを使用。実際のコードはExcel2007ファイルに記述)
19 : DoCmd.RunSQL "ALTER TABLE (テーブル) ADD COLUMN XXXX BOOLEAN;"
20 : 回答ありがとうございます ただ他のフィールド(adGUID・ adInteger・adVarWChar)は問題なく Appendできるので、SQL文ではなく、これらに合わせたADOXによる コードにしたいと思ってます んん、というかadBooleanのフィールドを追加するとtablesへのAppend時に エラーとなる原因がどうしても知りたいです 散々ググったのですが、結局実際にadBooleanのフィールドを追加している サンプルコードにはお目にかかれませんでした 何が原因なんだろう… adBooleanの時はAppendの他に何か処理が必要なんだろうか…
21 : Office2010 64bit版を使ってるのだとしたら32bit版に入れ替えてみると良いかも。 そうじゃないとしたら、参照設定でバージョンの違うADOモジュールを試すとか。
22 : 原因が分かりました 普段ACCESS使ってる人からは、当たり前やんけ!って怒られそうな話ですが アドバイス下さった方もいらっしゃるので報告しますと (テーブル).Columns.Append "XXXX",adBoolean が原因ではなく、その次に入れておいた次の文 (テーブル).Columns("XXXX").Attributes = adColNullable が原因でした ブール型フィールドには初期値(True)があり、Nullを設定できないのにNull許容を設定したせいで エラーになっていたようです 本やネットで情報漁って、ADOでEXCElからACCESSファイル作れてテーブルも作れるなら、ACCESS買わなくてもいいんじゃね? なんて思ってましたが、ソフト買って普段からいじって慣れておいた方かいいのかも
23 : ADOのDynamicPropertyについて かなり詳細な解説が知りたいのですが、 なにか参考となるURLや書籍はありませんか?
24 : Access初心者です。質問があります。 前任者のAccessで作られた業務ソフトを担当することになりました。 まずは全体を見通したいので、Basicのコードやコントロールのプロパティ、 イベントなど、すべての情報をテキストファイルに書き出したいです。 どうやったら良いのでしょうか? Access2003 です。 教えてください。
25 : コードはともかくとして、プロパティなんかは 自分でそれをリストするプログラムを書けばいい。
26 : VBAでそんなこと出来るんですね。 どこかのHPにソースが公開されていないかな〜 参考になるページなど、探して見ます。
27 : >>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変換すると見やすいぞ
28 : >>27 情報サン・クスコ☆
29 : hosyu
30 : Accessで同時利用の限界ってどれくらい? プログラム工夫すれば50人くらいは兵器?
31 : 50人がそれぞれ日一回違う時間帯に読み書きするとかならぜんぜん平気かもしれないよ
32 : WindowsXP Access2003 DoCmd.RunCommand acCmdSaveRecord の使いようがよくわかりません。 例えば テーブルA フィールド1〜3 についてフォームで値を入力できるようにしたとします。 フォームに入力して閉じるとテーブルのレコードは更新されています。 DoCmd.RunCommand acCmdSaveRecord を使うとフォームを閉じる前の時点でレコードが更新されるんでしょうか? しかしこの命令文を通過した後でテーブルを開いてみても更新されていませんでした。
33 : 馬鹿には無理
34 : >>32 テーブルAを表示させたメインフォームの中に同じテーブルAを表示させたサブフォームを置いて Private Sub 1_AfterUpdate() End Sub Private Sub 2_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord End Sub と書け メインに表示されたフィールド1を変更して、フォーカスをフィールド2に移すとサブに表示された内容も変わるメインに表示されたフィールド2を変更して、フォーカスをフィールド3に移してもサブの内容は変わらない ただしどちらもメインフォームからサブフォームにフォーカスを移せば内容は変わる これでレコードがどういうタイミングでセーブされるか判るべ
35 : 人の手でデータ加工する過程はすべてVBAに置き換えられるのでしょうか?
36 : >>35 Access内でやっている限りは
37 : import os import win32com.client MDBFILE = "test.mdb" if os.path.exists(MDBFILE): os.remove(MDBFILE) dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s" % MDBFILE adox = win32com.client.Dispatch("ADOX.Catalog") adox.Create(dsn) adodb = win32com.client.Dispatch("ADODB.Connection") adodb.Open(dsn) adodb.Execute("create table hoge (id counter primary key, c1 varchar(10));") adodb.Execute("insert into hoge (c1) values ('fuga');") adodb.Execute("insert into hoge (c1) values ('hage');") adodb.Close()
38 : VBAじゃないんだけどmdbファイルからSQLで指定テーブルのフィールド名を列挙するSQLを教えてくださ
39 : >>30 バックエンドにMySQLを使うといったようなクラサバにすれば50人だろうが 100人だろうが行ける。
40 : >>38 了解
41 : >>38 import win32com.client adox = win32com.client.Dispatch("ADOX.Catalog") adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb" for t in adox.Tables: if t.Type != u"TABLE": continue print t.Name, t.DateCreated, t.DateModified for c in adox.Tables(t.Name).Columns: print c.Name, c.DefinedSize, c.Type
42 : Access2010(x86) Windows7(x64) PostgreSQL9 パススルークエリ+PostgreSQLの関数でナンバリング実装したんだが、 PostgreSQLの関数直接叩く → 1づつ進む クエリをデータシートビューで開いてリロード → 1づつ進む DLookup(結果フィールド, パススルークエリ名) → 2〜3づつ進む ADOのExecuteでレコードセット取り出し → 2〜3づつ進む になってしまう。(直接叩く&データシートビューで問題なしなので、VBAからの呼び出しの問題だと思う。) 試しにVBAの方にテスト用の関数(デバッグメッセージ出してダミーの値を返す)を作って それを呼び出すパススルーじゃないクエリを作ってDLookUp実行してみたが、デバッグメッセージは1回しか出ない。 (Accessのパススルーじゃないクエリは1回の実行毎に1回しか開かれない?) VBAからパススルークエリ実行する時は、1回の実行でも複数回(2〜3回)開かれるのか? 何とかして1回に1づつ進むように出来ないんだろうか・・・。
43 : age忘れたorz
44 : 馬鹿には無理
45 : >>44 d。 おまいのおかげで目が覚めた。 パススルークエリやめて、直接ADOからPostgreSQL開いてクエリ送ったら1づつカウントするわ。 助かったよ。
46 : やれば出来る子
47 : おまえみたいなやつが伸びる。 かもしんない。
48 : Access2003 WinXP SP3 Firefox14.0.1です。 質問ですが、hyperlinkaddressプロパティというのがありますよね。 url文字列を代入すると、そのページをデフォルトのブラウザで 開いてくれるというやつ。 で、このurlのCGI何とかっていう文字列が入っていますので、 CGIで何らかのプログラムを起動しているんでしょうが、その時に、 ページが表示されないんです。 正確に言うと、デフォルトのブラウザがIE(自分の機械には6しか 入ってないんですが)だと、表示されるんですが、Firefoxだと表示できません。 でも、FFのURLボックスには灰色でうurlが表示されていて、 再読み込みボタンを押すと、表示します。 試しに、コマンドラインからurlをパラメータにして起動すると、表示します。 症状から見て、VBAの問題なのか、FFの問題なのか、判断しかねたので、 こちらでお聞きする次第です。 どなたか、詳しい方、アドバイをおねがいします。
49 : 「""」で囲んでみた?
50 : ”で囲むと、「”url”を開くことができません。指定したファイルを開くことができません」というエラーダイアログが出ます。
51 : 他の方法でFFにそのuriを送ってみる ショートカットやコマンドライン、メールやワープロ、表計算ソフトから 同じ現象になると思うのでFFの仕様かバグ、設定のせいだとわかるのではないかと
52 : 500件ぐらいのDATAをどんどん追加していくと、3、4回で重くなってしまうんですけど、 どっから手を付けていいのやら分かりません。 ヒントください。
53 : ソース貼れ
54 : >>52 書き込みが遅くなるって事ですか?
55 : VBAで既存のAccessデータベースを開いて、その中にあるクエリを実行して得られる「テーブル構造とデータ」をVBAの呼出し元にテーブルとしてインポートする方法教えてください。 [外部データ] タブの [インポート]からはうまくいくのですが、それをVBAで実行したいです。
56 : import win32com.client adox = win32com.client.Dispatch("ADOX.Catalog") adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb" for t in adox.Tables: if t.Type != u"TABLE": continue print t.Name, t.DateCreated, t.DateModified for c in adox.Tables(t.Name).Columns: print c.Name, c.DefinedSize, c.Type
57 : >>55 DoCmd.TransferDatabase でできるんじゃね
58 : ExcelのVBAについて勉強中です。 まだ初心者なので、VBAについてお詳しい方、 ExcelのVBAでのテーブル作成方法を教えてください。 データーベース中心で、入力画面からデーターをmoveしてくるものを作りたいです。
59 : import os import win32com.client MDBFILE = "test.mdb" if os.path.exists(MDBFILE): os.remove(MDBFILE) dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s" % MDBFILE adox = win32com.client.Dispatch("ADOX.Catalog") adox.Create(dsn) adodb = win32com.client.Dispatch("ADODB.Connection") adodb.Open(dsn) adodb.Execute("create table hoge (id counter primary key, c1 varchar(10));") adodb.Execute("insert into hoge (c1) values ('fuga');") adodb.Execute("insert into hoge (c1) values ('hage');") adodb.Close()
60 : Access初心者です . 現在、ある地区の人口増減表を作成しています。 そのデータを格納するためにAccessを使用しています。 1回のデータを入れるたびに〈男or女〉〈転入or転出〉で元々設定された数値から(男性人口数)(女性人口数)(総人口数) が自動的ににカウントアップする(データシートビューに)ロジックを作成したいと思っています。 現在、「データシートビュー」「デザインシートビュー」まで作成したのですが、これからどのように手を加えていけばいいでしょうか? クエリで演算フィールドなどを作成するのでしょうか。 Access自体が全くの初心者なので、できるだけ詳しく書いていただけると助かります。 是非よろしくお願いします。
61 : 馬鹿には無理
62 : Microsoft Office Chart10 あるいは、OWC10というグラフを描くコンポーネントで、 クリックやダブルクリックのイベントを使えないですか? クリックしたグラフの要素を得たいのですが。
63 : 使えますよ。
64 : >>63 どのようにするのですか? 何か参考になるページなど教えてもらえませんか?
65 : >>64 使えますよ。
66 : >65 使えますね。
67 : >>66 さっさと使え。
68 : >>57 サンキュー助かった! スマホで規制で返信できずすスマソ。
69 : Access 2007のフォームで、オプショングループ内でトグルボタンを作成し、各トグルボタンをクリックすると、フォームのMe.RecordSourceにトグルボタンに対応させたクエリを設定するプログラムを書いています。 今のところ、機能は追加できたのですが、トグルボタンの表示がうまく更新されず、最初に押したボタンが引っ込んだままもどりません。 トグルボタンの表示を更新する方法はあるのでしょうか?
70 : 引っ込んだら戻らなくなるのがトグルボタンなんだけど
71 : お前らここまでやるならC#でEXCELデータいじった方が簡単だろ
72 : >>70 すみません。言葉足らずでした。 トグルボタン1を押した後、トグルボタン2や3を押しても、トグルボタン1が押されたままの表示になってしまいます。トグルボタンに割り当てたRecordSourceの切替え機能はちゃんと動いています。 。
73 : トグルボタン1を押したあと トグルボタン2を押して トグルボタン3を押したら トグルボタン2はどうなってますか
74 : >>73 トグルボタン2の表示は押されていない状態です。 トグルボタン1が押されたままの表示になっています。
75 : 1がグループに入ってないな
76 : 馬鹿には無理
77 : ACCESS2013はどうですか?
78 : >>77 adpがつかえん クラサバの旗降ってきた漏れの立つ瀬がない囧rz
79 : ACCESS2013の利点は無いのかね!
80 : Office2013にメリットなんて無いよ。 見た目がヌルヌルしてキモいけど、価格分の性能&利便性向上はない Office使ってなくてOpen系で駄目なら、仕方ないから買ってやるか程度
81 : 無料バージョンアップできると聞いて2010買ったのに、発売の2/6までにインスコしないといかんかった囧rz 血も涙もないよ
82 : おめでとうw
83 : Win8でACCESS2010です。 Form_test.Filter = "分類 Not Like ""*あああ*"" And Not Like ""*いいい*""" Form_test.FilterOn = True コンボボックスの更新後処理イベントで上記のコードを走らせると、 「構文エラー:演算子がありません」と返されます。 初歩過ぎる質問ですんまそん。文法何か間違ってますでしょうか。
84 : Form_test.Filter = "分類 Not Like ""%あああ%"" And Not Like ""%いいい%"""
85 : たぶん "分類 Not Like ""*あああ*"" And 分類 Not Like ""*いいい*"""
86 : >>84->>85 返信ありがとうございます。どちらも「演算子がありません」エラーは解消されませんでした。 ちなみに、↓は問題ないので、And Notがまずいのかなと思ったんですが、書式は問題なさそうですか・・・。 Form_test.Filter = "分類 Not Like ""*あああ*""" Form_test.FilterOn = True 他の方法も探してみます。 ヘルプ開くとBingとかいうのが出て何も表示されないお・・・。2010使いづらいお(;´Д`)
87 : Form_test.Filter = "Not (分類 Like ""*あああ*"" Or 分類 Like ""*いいい*"")"
88 : >>87 これでいけました!ありがとうございます!
89 : >>88 >>84 は文法間違いあるけど、>>85 はいけるはずだが、ほんとにダメだったのか? 先頭の のとこは無視しないとだめだぞ
90 : "Not 分類 Like ""*あああ*"" And Not 分類 Like ""*いいい*"""
91 : 1.OS(64bit) + Office2010(64bit) 2.OS(64bit) + AccessRuntime2010(64bit) 3.OS(64bit) + Office2010(32bit) 4.OS(64bit) + AccessRuntime2010(32bit) 5.OS(32bit) + Office2010(32bit) 6.OS(32bit) + AccessRuntime2010(32bit) ※ OS:XP〜Windows8まで 上記のどの組み合わせでも動くようなAccessの実行ファイルは作成可能ですか?
92 : >>91 http://tsware.seesaa.net/article/174598211.html
93 : 使用不可にいている3つのテキストボックスを、 チェックボックスをonにすると使用可能にするにはどうしたらいいでしょうか?
94 : >>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
95 : >>92 参考にさせてもらいました。 ありがとうございます。 引き続き質問なのですが、 Windows8(32bit) + Access2010(32bit)環境で作成したファイルを Windows8(64bit) + Access2010(32bit)環境で実行した場合に毎回ではないのですが、 レーダーチャートの目盛りが正常に表示されません。(-3E+259と表示される) なお、表示しているデータは毎回同じものです。 ちなみに、Windows8(64bit) + Access2010(32bit)環境で作成したファイルを Windows8(64bit) + Access2010(32bit)環境で実行した場合も同様でした。 この現象について何かご存知の方がいらっしゃいましたらお願いします。
96 : >>94 もう少しシンプルなコードはないですか? わがままですみません。
97 : >>96 Private Sub チェックボックス_Click() Me.テキストボックス1.Enabled = Me.チェックボックス.Value Me.テキストボックス2.Enabled = Me.チェックボックス.Value Me.テキストボックス3.Enabled = Me.チェックボックス.Value End Sub
98 : >>97 すばやいご回答ありがとうございました。 いろいろな書き方があるんですね。
99 : 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")) というアドバイスをしてくれた方がいましたが、 これに相当するコードが全くわかりません。 丸投げですがどなたか教えてくださいませ。
100read 1read
1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
プログラム板 自治スレッド Part10 (585)
推薦図書/必読書のためのスレッド 70 (140)
【.NET】WCF〜Windows通信基盤技術【通信】 (100)
【ActionScript3】Webツールを作ろう【GPL】 (179)
【PHP,Python】スクリプト,バトルロワイヤル35【Perl,Ruby】 (414)
マルチプラットフォーム プログラミング言語 haXe (110)
--log9.info------------------
最近ゲームがつまらない。。 (181)
ののたん侵入 (114)
はじまりです。。。 (114)
1 (143)
【決戦は水曜日】2ちゃんねる全板トーナメント【悲願予選突破】 (106)
(439)
オマイら、1$いくらの時に申し込みしたよ? (161)
なっち板?( ● ´ ー ` ● ) (120)
テストスレ (146)
スレ立てテストβ (134)
希望のトリップはここでお願いしろin●板 (139)
●板でmオフしようようよ (117)
テスト (100)
ヽ(・∀・)ノ●ウンコーヽ(・∀・)ノ●ウンコーヽ(・∀・)ノ●ウンコー (114)
お試し●買ったんだけど次はどうすんの? (110)
てす (100)
--log55.com------------------
雑談 歩美cと哀cがお前をサンドイッチハグ
おまいら休みの日は何してんのYO?4308日目
雑談 コナン農園が荒らされてる
独男がお嬢様言葉で語るスレ 17
雑談 信じてコナン
雑談 哀cと熱い恋してる
雑談 コナンくんがクラピカおねいちゃんに甘えてる
おまいら休みの日は何してんのYO?14324日目※粉カモン!粉ウェルカム!