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/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内でやっている限りは
2012/05/19(土) 00:18:15.14
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()
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デフォルトの名無しさん
2012/05/24(木) 11:34:52.22 VBAじゃないんだけどmdbファイルからSQLで指定テーブルのフィールド名を列挙するSQLを教えてくださ
2012/05/24(木) 11:40:53.57
2012/05/25(金) 03:16:51.66
>>38
了解
了解
2012/05/25(金) 23:17:09.33
>>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
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
2012/07/04(水) 17:05:23.99
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づつ進むように出来ないんだろうか・・・。
パススルークエリ+PostgreSQLの関数でナンバリング実装したんだが、
PostgreSQLの関数直接叩く → 1づつ進む
クエリをデータシートビューで開いてリロード → 1づつ進む
DLookup(結果フィールド, パススルークエリ名) → 2〜3づつ進む
ADOのExecuteでレコードセット取り出し → 2〜3づつ進む
になってしまう。(直接叩く&データシートビューで問題なしなので、VBAからの呼び出しの問題だと思う。)
試しにVBAの方にテスト用の関数(デバッグメッセージ出してダミーの値を返す)を作って
それを呼び出すパススルーじゃないクエリを作ってDLookUp実行してみたが、デバッグメッセージは1回しか出ない。
(Accessのパススルーじゃないクエリは1回の実行毎に1回しか開かれない?)
VBAからパススルークエリ実行する時は、1回の実行でも複数回(2〜3回)開かれるのか?
何とかして1回に1づつ進むように出来ないんだろうか・・・。
4342
2012/07/04(水) 17:12:27.30 age忘れたorz
2012/07/04(水) 19:17:26.30
馬鹿には無理
4542
2012/07/05(木) 10:34:27.662012/07/05(木) 11:25:53.31
やれば出来る子
2012/07/06(金) 19:18:40.79
おまえみたいなやつが伸びる。
かもしんない。
かもしんない。
2012/08/12(日) 10:55:28.80
Access2003 WinXP SP3 Firefox14.0.1です。
質問ですが、hyperlinkaddressプロパティというのがありますよね。
url文字列を代入すると、そのページをデフォルトのブラウザで
開いてくれるというやつ。
で、このurlのCGI何とかっていう文字列が入っていますので、
CGIで何らかのプログラムを起動しているんでしょうが、その時に、
ページが表示されないんです。
正確に言うと、デフォルトのブラウザがIE(自分の機械には6しか
入ってないんですが)だと、表示されるんですが、Firefoxだと表示できません。
でも、FFのURLボックスには灰色でうurlが表示されていて、
再読み込みボタンを押すと、表示します。
試しに、コマンドラインからurlをパラメータにして起動すると、表示します。
症状から見て、VBAの問題なのか、FFの問題なのか、判断しかねたので、
こちらでお聞きする次第です。
どなたか、詳しい方、アドバイをおねがいします。
質問ですが、hyperlinkaddressプロパティというのがありますよね。
url文字列を代入すると、そのページをデフォルトのブラウザで
開いてくれるというやつ。
で、このurlのCGI何とかっていう文字列が入っていますので、
CGIで何らかのプログラムを起動しているんでしょうが、その時に、
ページが表示されないんです。
正確に言うと、デフォルトのブラウザがIE(自分の機械には6しか
入ってないんですが)だと、表示されるんですが、Firefoxだと表示できません。
でも、FFのURLボックスには灰色でうurlが表示されていて、
再読み込みボタンを押すと、表示します。
試しに、コマンドラインからurlをパラメータにして起動すると、表示します。
症状から見て、VBAの問題なのか、FFの問題なのか、判断しかねたので、
こちらでお聞きする次第です。
どなたか、詳しい方、アドバイをおねがいします。
2012/08/12(日) 14:26:35.97
「""」で囲んでみた?
2012/08/12(日) 15:32:13.48
”で囲むと、「”url”を開くことができません。指定したファイルを開くことができません」というエラーダイアログが出ます。
2012/08/23(木) 22:10:14.57
他の方法でFFにそのuriを送ってみる
ショートカットやコマンドライン、メールやワープロ、表計算ソフトから
同じ現象になると思うのでFFの仕様かバグ、設定のせいだとわかるのではないかと
ショートカットやコマンドライン、メールやワープロ、表計算ソフトから
同じ現象になると思うのでFFの仕様かバグ、設定のせいだとわかるのではないかと
2012/08/27(月) 21:38:06.30
500件ぐらいのDATAをどんどん追加していくと、3、4回で重くなってしまうんですけど、
どっから手を付けていいのやら分かりません。
ヒントください。
どっから手を付けていいのやら分かりません。
ヒントください。
53デフォルトの名無しさん
2012/08/27(月) 21:43:01.77 ソース貼れ
2012/08/28(火) 07:43:56.82
>>52
書き込みが遅くなるって事ですか?
書き込みが遅くなるって事ですか?
55デフォルトの名無しさん
2012/09/12(水) 21:30:27.45 VBAで既存のAccessデータベースを開いて、その中にあるクエリを実行して得られる「テーブル構造とデータ」をVBAの呼出し元にテーブルとしてインポートする方法教えてください。
[外部データ] タブの [インポート]からはうまくいくのですが、それをVBAで実行したいです。
[外部データ] タブの [インポート]からはうまくいくのですが、それをVBAで実行したいです。
2012/09/13(木) 00:20:33.72
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
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
2012/09/13(木) 03:17:38.00
>>55
DoCmd.TransferDatabase でできるんじゃね
DoCmd.TransferDatabase でできるんじゃね
58デフォルトの名無しさん
2012/09/13(木) 09:47:05.31 ExcelのVBAについて勉強中です。
まだ初心者なので、VBAについてお詳しい方、
ExcelのVBAでのテーブル作成方法を教えてください。
データーベース中心で、入力画面からデーターをmoveしてくるものを作りたいです。
まだ初心者なので、VBAについてお詳しい方、
ExcelのVBAでのテーブル作成方法を教えてください。
データーベース中心で、入力画面からデーターをmoveしてくるものを作りたいです。
2012/09/13(木) 10:07:40.73
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()
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デフォルトの名無しさん
2012/09/26(水) 09:10:07.57 Access初心者です .
現在、ある地区の人口増減表を作成しています。
そのデータを格納するためにAccessを使用しています。
1回のデータを入れるたびに〈男or女〉〈転入or転出〉で元々設定された数値から(男性人口数)(女性人口数)(総人口数)
が自動的ににカウントアップする(データシートビューに)ロジックを作成したいと思っています。
現在、「データシートビュー」「デザインシートビュー」まで作成したのですが、これからどのように手を加えていけばいいでしょうか?
クエリで演算フィールドなどを作成するのでしょうか。
Access自体が全くの初心者なので、できるだけ詳しく書いていただけると助かります。
是非よろしくお願いします。
現在、ある地区の人口増減表を作成しています。
そのデータを格納するためにAccessを使用しています。
1回のデータを入れるたびに〈男or女〉〈転入or転出〉で元々設定された数値から(男性人口数)(女性人口数)(総人口数)
が自動的ににカウントアップする(データシートビューに)ロジックを作成したいと思っています。
現在、「データシートビュー」「デザインシートビュー」まで作成したのですが、これからどのように手を加えていけばいいでしょうか?
クエリで演算フィールドなどを作成するのでしょうか。
Access自体が全くの初心者なので、できるだけ詳しく書いていただけると助かります。
是非よろしくお願いします。
2012/09/26(水) 11:25:57.96
馬鹿には無理
2012/09/26(水) 11:36:38.59
Microsoft Office Chart10 あるいは、OWC10というグラフを描くコンポーネントで、
クリックやダブルクリックのイベントを使えないですか?
クリックしたグラフの要素を得たいのですが。
クリックやダブルクリックのイベントを使えないですか?
クリックしたグラフの要素を得たいのですが。
2012/09/26(水) 12:53:17.87
使えますよ。
2012/09/26(水) 12:59:35.45
2012/09/26(水) 17:04:56.08
>>64
使えますよ。
使えますよ。
2012/09/26(水) 18:11:11.92
>65
使えますね。
使えますね。
2012/09/26(水) 18:20:01.38
>>66
さっさと使え。
さっさと使え。
68デフォルトの名無しさん
2012/10/01(月) 21:06:32.642012/11/25(日) 21:58:23.52
Access 2007のフォームで、オプショングループ内でトグルボタンを作成し、各トグルボタンをクリックすると、フォームのMe.RecordSourceにトグルボタンに対応させたクエリを設定するプログラムを書いています。
今のところ、機能は追加できたのですが、トグルボタンの表示がうまく更新されず、最初に押したボタンが引っ込んだままもどりません。
トグルボタンの表示を更新する方法はあるのでしょうか?
今のところ、機能は追加できたのですが、トグルボタンの表示がうまく更新されず、最初に押したボタンが引っ込んだままもどりません。
トグルボタンの表示を更新する方法はあるのでしょうか?
2012/11/26(月) 00:10:07.28
引っ込んだら戻らなくなるのがトグルボタンなんだけど
71デフォルトの名無しさん
2012/11/26(月) 21:19:17.24 お前らここまでやるならC#でEXCELデータいじった方が簡単だろ
2012/11/26(月) 21:20:11.62
>>70
すみません。言葉足らずでした。
トグルボタン1を押した後、トグルボタン2や3を押しても、トグルボタン1が押されたままの表示になってしまいます。トグルボタンに割り当てたRecordSourceの切替え機能はちゃんと動いています。
。
すみません。言葉足らずでした。
トグルボタン1を押した後、トグルボタン2や3を押しても、トグルボタン1が押されたままの表示になってしまいます。トグルボタンに割り当てたRecordSourceの切替え機能はちゃんと動いています。
。
2012/11/26(月) 21:38:01.20
トグルボタン1を押したあと
トグルボタン2を押して
トグルボタン3を押したら
トグルボタン2はどうなってますか
トグルボタン2を押して
トグルボタン3を押したら
トグルボタン2はどうなってますか
2012/11/26(月) 22:19:50.73
2012/11/26(月) 22:27:05.15
1がグループに入ってないな
76デフォルトの名無しさん
2012/11/27(火) 06:18:00.99 馬鹿には無理
2013/02/09(土) 15:50:52.56
ACCESS2013はどうですか?
2013/03/04(月) 07:41:06.45
2013/03/04(月) 13:02:19.07
ACCESS2013の利点は無いのかね!
2013/03/05(火) 15:27:52.54
Office2013にメリットなんて無いよ。
見た目がヌルヌルしてキモいけど、価格分の性能&利便性向上はない
Office使ってなくてOpen系で駄目なら、仕方ないから買ってやるか程度
見た目がヌルヌルしてキモいけど、価格分の性能&利便性向上はない
Office使ってなくてOpen系で駄目なら、仕方ないから買ってやるか程度
2013/03/24(日) 06:36:06.38
無料バージョンアップできると聞いて2010買ったのに、発売の2/6までにインスコしないといかんかった囧rz
血も涙もないよ
血も涙もないよ
82デフォルトの名無しさん
2013/03/24(日) 07:16:09.59 おめでとうw
2013/03/26(火) 11:24:23.03
Win8でACCESS2010です。
Form_test.Filter = "分類 Not Like ""*あああ*"" And Not Like ""*いいい*"""
Form_test.FilterOn = True
コンボボックスの更新後処理イベントで上記のコードを走らせると、
「構文エラー:演算子がありません」と返されます。
初歩過ぎる質問ですんまそん。文法何か間違ってますでしょうか。
Form_test.Filter = "分類 Not Like ""*あああ*"" And Not Like ""*いいい*"""
Form_test.FilterOn = True
コンボボックスの更新後処理イベントで上記のコードを走らせると、
「構文エラー:演算子がありません」と返されます。
初歩過ぎる質問ですんまそん。文法何か間違ってますでしょうか。
2013/03/26(火) 12:05:53.53
Form_test.Filter = "分類 Not Like ""%あああ%"" And Not Like ""%いいい%"""
2013/03/26(火) 13:24:28.20
たぶん
"分類 Not Like ""*あああ*"" And 分類 Not Like ""*いいい*"""
"分類 Not Like ""*あああ*"" And 分類 Not Like ""*いいい*"""
2013/03/26(火) 15:56:56.54
>>84->>85
返信ありがとうございます。どちらも「演算子がありません」エラーは解消されませんでした。
ちなみに、↓は問題ないので、And Notがまずいのかなと思ったんですが、書式は問題なさそうですか・・・。
Form_test.Filter = "分類 Not Like ""*あああ*"""
Form_test.FilterOn = True
他の方法も探してみます。
ヘルプ開くとBingとかいうのが出て何も表示されないお・・・。2010使いづらいお(;´Д`)
返信ありがとうございます。どちらも「演算子がありません」エラーは解消されませんでした。
ちなみに、↓は問題ないので、And Notがまずいのかなと思ったんですが、書式は問題なさそうですか・・・。
Form_test.Filter = "分類 Not Like ""*あああ*"""
Form_test.FilterOn = True
他の方法も探してみます。
ヘルプ開くとBingとかいうのが出て何も表示されないお・・・。2010使いづらいお(;´Д`)
2013/03/26(火) 17:04:55.32
Form_test.Filter = "Not (分類 Like ""*あああ*"" Or 分類 Like ""*いいい*"")"
2013/03/27(水) 08:35:25.18
>>87
これでいけました!ありがとうございます!
これでいけました!ありがとうございます!
2013/03/27(水) 11:51:17.13
2013/03/27(水) 17:54:38.17
"Not 分類 Like ""*あああ*"" And Not 分類 Like ""*いいい*"""
2013/04/04(木) 18:20:58.41
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の実行ファイルは作成可能ですか?
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の実行ファイルは作成可能ですか?
2013/04/04(木) 19:39:15.05
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 どもです
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- なんかデカいミスしても 「でも明日戦争行くかもしれないしなぁ」 でなんでも乗り切れるよな
