Access VBA 質問スレ Part1 at TECH
Access VBA 質問スレ Part1 - 暇つぶし2ch2:デフォルトの名無しさん
12/02/09 00:43:50.48
くその山

3:デフォルトの名無しさん
12/02/10 08:46:53.06
まさかの3

4:デフォルトの名無しさん
12/02/13 03:22:20.27
期待あげ

5:デフォルトの名無しさん
12/02/24 00:33:06.69
問題なく使えてるけど

6:デフォルトの名無しさん
12/02/24 07:50:36.35
とりあえず使ってみたいんだけど、解説してるwebページ教えて

7:デフォルトの名無しさん
12/02/24 10:58:16.76
うぜえ

8:デフォルトの名無しさん
12/02/24 13:25:33.52
>>6
URLリンク(www.geocities.jp)
URLリンク(accessvba.pc-users.net)
URLリンク(vba.officehp.com)

ググればいくらでも出てくる罠。

9:デフォルトの名無しさん
12/02/24 20:57:22.20
>>6
とりあえず程度なら解説見ないで作れよ。

10:デフォルトの名無しさん
12/03/06 16:43:20.41
すいませんが質問です。
XPから7へ移行したいのですがaccessのvba上で
excelのマクロを操作してセルの中身を変えて上書き保存してたのですが、
今まで前面にexcelのメッセージで上書きしますか?的なメッセージが出てたのですが
7だとaccessが出っ放しでexcelがタスクに隠れてメッセージが前面に出てこないのです。
何かやり方ありませんか?ググり方すら分からない…アドバイス下さい;

11:デフォルトの名無しさん
12/03/06 16:49:39.47
>>10
URLリンク(oshiete.goo.ne.jp)

12:デフォルトの名無しさん
12/03/06 17:05:38.78
>>11
早々とありがとうございます。本当に嬉しい!!
しかし、自分で作ったメッセじゃなくてデフォルトの置き換えますかってメッセなんです。
XPから7に変わると設定変えるんじゃなくてvbaに追加せんと駄目なんですかね…無知でスイマセン


13:デフォルトの名無しさん
12/03/06 17:46:46.30
>>12
Excelのマクロ実行中にExcelをアクティブウィンドウに出来ればおK。

試してないが、この辺が参考にならないかな?
URLリンク(www.officepro.jp)

14:デフォルトの名無しさん
12/03/07 00:32:47.13
すみません、フォームが開く順序は
Open→Load→…が規定だと思いますが、
Loadが飛ばされる条件はどのような条件か
ご存じの方いらっしゃいませんか?

15:デフォルトの名無しさん
12/03/07 11:20:11.27
HideしてShowするとLoadに飛ぶ

16:デフォルトの名無しさん
12/03/08 16:02:20.11
>>13
ありがとうございます。一度試してみます

17:デフォルトの名無しさん
12/03/12 09:45:47.59
すみません
ADOで新規にブール型のフィールドをテーブルに作成する場合、
VBAではどうかくのでしょうか
(テーブル).Columns.Append "XXXX", adBoolean
だとエラーになってしまうんですが

18:17
12/03/12 10:52:54.08
すみません環境を書きます
OS:Vista
Ver:Access2010(accdbファイルを使用。実際のコードはExcel2007ファイルに記述)


19:デフォルトの名無しさん
12/03/12 14:16:24.17
DoCmd.RunSQL "ALTER TABLE (テーブル) ADD COLUMN XXXX BOOLEAN;"

20:17
12/03/13 01:56:43.81
回答ありがとうございます
ただ他のフィールド(adGUID・ adInteger・adVarWChar)は問題なく
Appendできるので、SQL文ではなく、これらに合わせたADOXによる
コードにしたいと思ってます
んん、というかadBooleanのフィールドを追加するとtablesへのAppend時に
エラーとなる原因がどうしても知りたいです
散々ググったのですが、結局実際にadBooleanのフィールドを追加している
サンプルコードにはお目にかかれませんでした
何が原因なんだろう…
adBooleanの時はAppendの他に何か処理が必要なんだろうか…


21:デフォルトの名無しさん
12/03/13 15:50:44.64
Office2010 64bit版を使ってるのだとしたら32bit版に入れ替えてみると良いかも。
そうじゃないとしたら、参照設定でバージョンの違うADOモジュールを試すとか。


22:17
12/03/14 01:05:25.66
原因が分かりました
普段ACCESS使ってる人からは、当たり前やんけ!って怒られそうな話ですが
アドバイス下さった方もいらっしゃるので報告しますと
(テーブル).Columns.Append "XXXX",adBoolean
が原因ではなく、その次に入れておいた次の文
(テーブル).Columns("XXXX").Attributes = adColNullable
が原因でした
ブール型フィールドには初期値(True)があり、Nullを設定できないのにNull許容を設定したせいで
エラーになっていたようです
本やネットで情報漁って、ADOでEXCElからACCESSファイル作れてテーブルも作れるなら、ACCESS買わなくてもいいんじゃね?
なんて思ってましたが、ソフト買って普段からいじって慣れておいた方かいいのかも

23:デフォルトの名無しさん
12/03/15 23:06:37.82
ADOのDynamicPropertyについて
かなり詳細な解説が知りたいのですが、
なにか参考となるURLや書籍はありませんか?

24:デフォルトの名無しさん
12/03/17 19:33:03.28
Access初心者です。質問があります。
前任者のAccessで作られた業務ソフトを担当することになりました。

まずは全体を見通したいので、Basicのコードやコントロールのプロパティ、
イベントなど、すべての情報をテキストファイルに書き出したいです。

どうやったら良いのでしょうか?
Access2003 です。

教えてください。

25:デフォルトの名無しさん
12/03/19 00:50:30.92
コードはともかくとして、プロパティなんかは
自分でそれをリストするプログラムを書けばいい。


26:デフォルトの名無しさん
12/03/22 05:39:40.85
VBAでそんなこと出来るんですね。
どこかのHPにソースが公開されていないかな~
参考になるページなど、探して見ます。


27:デフォルトの名無しさん
12/03/22 21:28:12.01
>>26
ツールならこのへんか
URLリンク(www.vector.co.jp)
URLリンク(www.vector.co.jp)
どっちもDAOとかCOMのAccess.Applicationオブジェクトで抜いてるだけだと思う

マクロ多用なら一回VBA変換すると見やすいぞ

28:26
12/03/25 17:47:30.63
>>27
情報サン・クスコ☆

29:デフォルトの名無しさん
12/04/16 23:53:45.24
hosyu

30:デフォルトの名無しさん
12/04/18 00:22:57.54
Accessで同時利用の限界ってどれくらい?
プログラム工夫すれば50人くらいは兵器?

31:デフォルトの名無しさん
12/04/18 13:07:20.08
50人がそれぞれ日一回違う時間帯に読み書きするとかならぜんぜん平気かもしれないよ

32:デフォルトの名無しさん
12/04/26 11:59:42.32
WindowsXP
Access2003

DoCmd.RunCommand acCmdSaveRecord
の使いようがよくわかりません。

例えば
テーブルA フィールド1~3

についてフォームで値を入力できるようにしたとします。
フォームに入力して閉じるとテーブルのレコードは更新されています。

DoCmd.RunCommand acCmdSaveRecord
を使うとフォームを閉じる前の時点でレコードが更新されるんでしょうか?
しかしこの命令文を通過した後でテーブルを開いてみても更新されていませんでした。

33:デフォルトの名無しさん
12/04/26 13:16:55.86
馬鹿には無理

34:デフォルトの名無しさん
12/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に移してもサブの内容は変わらない
ただしどちらもメインフォームからサブフォームにフォーカスを移せば内容は変わる
これでレコードがどういうタイミングでセーブされるか判るべ

35:デフォルトの名無しさん
12/05/17 20:45:31.33
人の手でデータ加工する過程はすべてVBAに置き換えられるのでしょうか?


36:デフォルトの名無しさん
12/05/18 03:27:32.55
>>35
Access内でやっている限りは

37:デフォルトの名無しさん
12/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()


38:デフォルトの名無しさん
12/05/24 11:34:52.22
VBAじゃないんだけどmdbファイルからSQLで指定テーブルのフィールド名を列挙するSQLを教えてくださ

39:デフォルトの名無しさん
12/05/24 11:40:53.57
>>30
バックエンドにMySQLを使うといったようなクラサバにすれば50人だろうが
100人だろうが行ける。

40:デフォルトの名無しさん
12/05/25 03:16:51.66
>>38
了解

41:デフォルトの名無しさん
12/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



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch