Access VBA 質問スレ Part1 at TECH
Access VBA 質問スレ Part1 - 暇つぶし2ch21:デフォルトの名無しさん
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