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/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 どもです
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
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
プロパティにないの?
プロパティにないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【毎日新聞世論調査】内閣支持率が急落23% 商品券配布「問題だ」78% [蚤の市★]
- 立花孝志氏に再び切り付け試みか 逮捕の男、ナタで「急所狙った」 [蚤の市★]
- 【社民】福島瑞穂“男が産めるのうんこだけ”大炎上コールの集会に参加も「あずかり知らない」逃げる説明に批判殺到 [ぐれ★]
- 【高田馬場・女性ライバー刺殺】「パソコンクラブの目立たない陰キャでした」サブカル少年が「闇堕ちした日」 ★3 [ぐれ★]
- 【日米】関税が無ければカリフォルニア米5kg1295円 消費者には嬉しい価格だが、日本の農家への打撃の懸念も★5 [シャチ★]
- 「修学旅行が万博…USJが良かった」辛辣批判なぜ?55年前「月の石」超に期待も…メルカリ転売相次ぐ [七波羅探題★]
- 【NJPW】新日本プロレスワールド part.2249
- 中山競馬2回7日目
- とらせん ★13
- ハム専
- 【DAZN】フォーミュラGP【F1 F2F3 SF P】Lap1636
- ΨΨΨ湘南ベルマーレ 実況 Big WavesΨΨΨ
- 今の時代結婚して子ども作るジャップ男、ただのバカだった… [271912485]
- 石破商品券、悪くなかった! 自民参院議員「歴代の首相が慣例として普通にやっていたこと」 [377482965]
- ビートたけし、日本の未来を憂慮「この国は将来は何で食っていくんだろう…」😲 [861717324]
- 兎田ぺこらガチ恋スレ❤❤❤
- 元財務官僚「『増税したら出世する』は都市伝説。私は増税しまくったけど出世しなかった」 [481941988]
- 今井絵理子内閣総理大臣👈もうこれで良くないか [943688309]