1 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:53:46.88 .net] 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 toro.2ch.net/test/read.cgi/tech/1327763113/l50
964 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 13:38:08.89 ID:rdFKIS0q.net] 共有数の制限の気がするけど そのバックエンドのアクセスファイルはどこでどうやって共有してるんだよ
965 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 17:29:47.26 ID:hf+c8Fmp.net] 919です 返答が遅くなってしまい申し訳ありません >>922 解決しました 元々テーブルに連番が振ってあったので、それを利用して sqlのswitch文とmodを使ってます リストボックスで選択した担当者を配列に格納して ubound関数やらを使ってvbaでsqlを生成しました switch id mod i 0:Aさん 1:Bさん 2:Cさん 3:Dさん って感じのイメージです >>923 週休者には割り当てたくなかったので上記方法で解決しました
966 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 17:35:57.88 ID:hf+c8Fmp.net] >>926 先日は事前に取っておいたバックアップまでロールバックして対処しました 未だにエラーの原因が分からないので 不具合が起きた時の対策とバックアップ頻度を上げるような 業務フロー(タイマー関数含む)を追加しようと思います 開けなくなったファイルは日を跨いだら開けるようになりました 恐らく誰かが気づかずにバックグラウンド掴んでる状態だったんだと思います >>927 特にオプションをいじっていないaccdbを共有サーバに そのまま置いてる状態です データを取得するのはサーバのバックエンドテーブルを ローカルファイル(フロントエンド)にコピーして ローカルで完結して参照しています 更新や追加する時だけバックエンドのテーブルに UPDATEとINSERTをしています
967 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 16:51:32.08 ID:/3QviRkj.net] 質問です。 分割フォームの 分割フォームデータシートプロパティを VBAから操作できる方法がありますでしょうか? ご教授お願い致します。
968 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 18:04:27.51 ID:MwiIaP9n.net] 具体的なプロパティもわからんしお休みなのでパソコンも手元にないけど検索したらsplitformsize のvba コードがあるから何らかの操作は出来るんでないの?お盆モードの適当コメントですまぬ。
969 名前:929 mailto:sage [2018/08/11(土) 18:45:39.43 ID:/3QviRkj.net] >>931 さん ありがとうございます! splitform vbaで調べていたら見つかりました!! うれしいです! Private Sub コマンド11_Click() If Forms("test").SplitFormDatasheet = acDatasheetReadOnly Then Forms("test").SplitFormDatasheet = acDatasheetAllowEdits Forms("test").コマンド11.Caption = "過去のデータを編集不可にします。" Else Forms("test").SplitFormDatasheet = acDatasheetReadOnly Forms("test").コマンド11.Caption = "過去のデータを編集可能にします。" End If End Sub ありがとうございます!!
970 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 22:05:56.98 ID:VOAIsull.net] サイズの限界まで巨大化しているフォームを改造して、様々なコントロール類をタブコントロール上に配置しようと考えています。 元のフォーム上のコントロール類をコピーしてタブコントロール上にペーストしたまでは良かったのですが、イベントプロシジャーがごっそり抜け落ちています。コマンドボタンを押してもなにも始まらない状態です。 イベントプロシジャーを保持したままコントロールをコピペする方法はありますか?
971 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 22:21:39.28 ID:VOAIsull.net] 解決しました。 https://bytes.com/topic/access/answers/688028-controls-cut-paste
972 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 06:25:14.72 ID:zBeCnEZ1.net] >>934 良かったね。 俺はVBA コードを頑張ってコピーしてるのでよかったら解説下さい。えーごわからないので。翻訳機能?あの人たちとは話が合わん!
973 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 09:58:42.20 ID:IIPiSmN7.net] Accessの本はいろいろ買ったけど、良書だなあと感心したのはほとんどが未翻訳の洋書でした。 谷尻、緒方、葛西も和書としては悪くないのですが、洋書と比較すれば月とスッポンです。 技術書の英語は辞書とgoogle翻訳でだいたいなんとかなりますよ。 たまに文学的表現があってイラッとしますけど、だいたいが簡単明瞭です。
974 名前:デフォルトの名無しさん [2018/08/24(金) 10:46:31.53 ID:jVqNqoKW.net] すいません質問です。オフィス365です。 手動で空のサブレポートをレポートに配置しました。これをVbaコード でコピーする方法を教えてくださいませ。
975 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 13:16:49.85 ID:onaqxfsR.net] すみません、質問させてください。 ExcelからAccessの特定のフォーム を閉じるとき、 DoCmd.Close acForm, "フォーム名" で入れると、おそらくacFormがAccessVBAの引数のためか、 エラーが出てしまいます。 何か解決方法があればご教授よろしくお願いします。
976 名前:デフォルトの名無しさん [2018/08/30(木) 13:20:53.05 ID:S/vwwZyF.net] アプリが違うからOLEとかActiveXObject使うんでは
977 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 14:29:11.04 ID:4drhoSMA.net] >>938 acForm=2なので、acFormじゃなく直接2を指定してみると上手く行くかも DoCmd.Close 2, "フォーム名" ↑でやってみて
978 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 16:02:05.01 ID:onaqxfsR.net] >>939 さん、939さん ありがとうございます。 939さんの方法でいけました。 ありがとうございますm(_ _)m 番号で指定する方法があったのですね。 感謝です。
979 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 23:00:19.83 ID:NGm4WU4A.net] Access.AcObjectType.acForm が 2
980 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 01:52:34.58 ID:iAlG4Fvk.net] アホな質問ですまん。 クエリの中でクエリを複数使うクエリを作成したんだけど、これをSQLに書き直すときにエイリアスを使いたいんだけど、クエリに対するエイリアスは使えるのかな?テーブルだけかな? 実験した感じではダメそうなんだけど、どうですか?
981 名前:デフォルトの名無しさん [2018/09/13(木) 03:14:29.75 ID:liq2Qruq.net] >>943 普通に使えるはずだが AS付けてないとか
982 名前:デフォルトの名無しさん [2018/09/13(木) 03:15:45.30 ID:liq2Qruq.net] DAO経由じゃないとだめだったかも
983 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 12:56:01.88 ID:C2gZ+hmS.net] >>943 普通に出来るはずだぞ どういう状況でダメになってるんだ?
984 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 13:07:05.55 ID:C2gZ+hmS.net] >>943 サブクエリの話だよな? 自作ツールで確認したがASで普通にできてたぞ
985 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 08:17:56.50 ID:JMy0VfN7.net] たぶん、サブクエリじゃなくて作成済みのクエリをSQL内部のFROM句やJOIN句にテーブルのように使う時にエイリアスを使いたいという話だと思うんだが、それでも普通に使えると思う。
986 名前:942 mailto:sage [2018/09/14(金) 11:04:12.59 ID:cjIZJ/+q.net] みんな、ごめん。使えました。 おいらがSQLビューで書くときに、どっか間違えたみたい。 クエリのエイリアスも使えるし、サブクエリでネストも出来るし、accessって凄いね。糞長いSQLを書きたくなるね。 問題は余計な括弧がいっぱいくっつくところだよね。
987 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 12:54:33.03 ID:cjIZJ/+q.net] またまたくだらない質問です. UPDATEで苦労していますが,https://www.ipentec.com/document/sql-multi-record-update に書いてある update working set value=price from products where working.name = products.name だとエラーが出ます.試行錯誤して成功したのは UPDATE working, products SET working.[value] = [products].[price] WHERE (((working.name)=[products].[name])); でした.UPDATEの述語に参照するだけのproductテーブルが書いてあるのが不可解ですね. なんで,こんな変な書き方をするのか分かる人いますか?
988 名前:デフォルトの名無しさん [2018/09/14(金) 13:41:49.29 ID:5xDSXwp0.net] fromが無いから
989 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 15:43:10.38 ID:cjIZJ/+q.net] >>951 FROMを書きました.下のようにしました.でも,演算子がありませんと怒られます. UPDATE [working],[products] SET [working].[value] = [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name]));
990 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 15:43:55.27 ID:cjIZJ/+q.net] これも同じように怒られます. UPDATE [working] SET [working].[value] = [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name]));
991 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 18:33:15.77 ID:JMy0VfN7.net] それだと[products].[price]の後が何だか分からん。 [products].[price]を求めるSQLをそのまま書くかJOIN使った方が良い。 UPDATE [working] SET [working].[value] = (SELECT [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name]))); UPDATE [working] INNER JOIN [products] ON [working].[name]=[products].[name] SET [working].[value] = [products].[price]; スマホからテキトーに書いてるので間違ってたらスマン。
992 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 20:41:59.46 ID:cjIZJ/+q.net] >>954 上のは,更新可能なクエリであることが必要です と怒られました. 下のは成功です.ありがとうございます. FROMを記載したコードでは出来ないというのが興味深いですね. クエリーと一般のSQLではコードを処理する方法がかが違うんですかね? 聞きかじりですが,オプティマイザとか実行計画とか言う奴ですかね? 次はクエリを参照するUPDATEを書かないといけないのですが,テーブルならOKでクエリでは怒られるんですよね. www.10days.org/diary/20090705.html とかその他いろいろヒットしますが,VBAからSQLを発行したら出来るんですかね? とりあえず実験します.
993 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 21:06:57.90 ID:wdFP/Mir.net] >>952 横入だがAccessがUPDATEでのFROMを サポートしていないという意味での「FROMがないから」 じゃないの?
994 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 21:11:41.20 ID:wdFP/Mir.net] >>955 確かAccessはUPDATEでFROMは使えないぞ
995 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 21:32:20.19 ID:cjIZJ/+q.net] >>957 マジすか?ありがとうございます. SQLって方言が多いんですね. <
996 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 02:34:58.26 ID:7Yaecm93.net] UPDATE文は特に方言が多いんだよ
997 名前:デフォルトの名無しさん [2018/09/15(土) 11:35:48.46 ID:AVfR6YnT.net] >>955 更新クエリに設定しろ
998 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 09:41:31.06 ID:o5IUt/R9.net] 昔はオラクルとかに直接更新クエリ実行しようとして固まってたなあ、、、 ハード性能上がった今でも固まるのかね?
999 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 16:10:48.91 ID:qqKBC7cw.net] リンクテーブルに対して何かするのを「直接」とは言わないからな?
1000 名前:デフォルトの名無しさん [2018/09/16(日) 18:15:18.31 ID:HF0YmRsW.net] アスペですね
1001 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:05:43.00 ID:8jdJAOdP.net] それ以前に、ハード性能で固まったことなんてないんだが 単に遅いだけで固まったって言ってるのかね
1002 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 19:27:12.80 ID:yPlmt9/8.net] >>964 初代ペンティアムマシンでAccess97で動かした事無い人かな
1003 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:39:37.56 ID:fj0Djq38.net] >>965 それは何自慢?俺は20年前からACCESS やってるベテランだぞすごいだろう?
1004 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:05:06.06 ID:8jdJAOdP.net] >>965 だからそれは単に遅いだけだろうと言ってるんだが ついでに言えば、ACCESSで外部DBMS使うときに一番気を付けるべきは回線の速さだがな その環境でも、100MのLANならそれなりに快適だったわ
1005 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 17:09:58.71] 単に遅いだけって言うけど、10分間「応答なし」になったら? 1時間なら? 1日なら? それでも固まったって言わない?
1006 名前:デフォルトの名無しさん [2018/09/17(月) 18:07:40.72 ID:l9KryutO.net] 486DXでAccess95とか動いたっけ
1007 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 19:52:07.58 ID:3YPJfo/c.net] 多分動いたと思う。 ペンティアム90では確実に動いた。 当時486DX100マシンにOffice入れてたと思うんだが、そのマシンでAccess動かしたかどうかで記憶が無い。
1008 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 01:29:37.70 ID:Bq/PEIsn.net] Windows95が動いてたからOFFICEの95も動いてたと思う
1009 名前:デフォルトの名無しさん [2018/09/18(火) 19:14:26.16 ID:32W6TMTL.net] マハーポーシャの思い出しかないわ
1010 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 21:06:59.49 ID:Y+CFjjh5.net] >>972 出張でアキバ行ったらチラシ貰った。あんな事件起こすなんて夢にも思わず、スペックのわりに安いじゃんなんて思ってたわ。
1011 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 12:32:08.29 ID:UJZpBNX3.net] DAOでmdbに接続して、フォーム上のコントロールボタンのCaptionを大量に一括変更したいんだけど、できるかな? データーベースオブジェクトのメンバーのリストを眺めてもフォーム関連がないので、だめなのかな?
1012 名前:デフォルトの名無しさん [2018/10/15(月) 13:28:15.42 ID:L3fZFxj5.net] >>974 COMオブジェクト生成で Application→Forms→Form→Controls→Control ってたどる感じかな 最近どうなってるか知らん https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa663065(v=office.11)
1013 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 19:00:25.28 ID:UJZpBNX3.net] リンクが死んでいて読めません。 ネット探しても情報が見つかりませんね。 パッチを当てるときに便利な気がするのですが… 私が知ってるパッチはモジュールやフォームを入れ替えるものばかりですが、一部編集みたいなことが出来ると便利な気がしますがどうでしょうか。 コードを1行書き換えとか出来ると便利な気がしますが、リスクもありそうですね。
1014 名前:デフォルトの名無しさん [2018/10/15(月) 23:32:47.15 ID:L3fZFxj5.net] >>976 MSのURLは2chのリンク表示と相性が悪いからクリック カッコまで全部
1015 名前:コピーしてブラウザに貼りつけないと付けると飛べるぞ ラベルを外部リソースにしてフォーム側で呼び出すのが正攻法な気がするが 多言語対応とか [] [ここ壊れてます]
1016 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 07:11:10.97 ID:o1jBtF96.net] DAO で接続じゃなぁ
1017 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 19:50:00.82 ID:nNSV5Ror.net] 接続は別になんでもいいです。
1018 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:14:49.52 ID:9BvHUkZ3.net] マクロの編集をVBAで出来ませんかね?バージョンアップの際にカスタマイズ済のAutokesyを再現したいもので。
1019 名前:デフォルトの名無しさん [2018/10/23(火) 14:44:19.48 ID:qJAZHzzr.net] >>980 出来る、何年か前に前の勤め先でやったわ あまり覚えてないが、VBEにアクセスする方法があって それで出来たと思う ググりながらやった覚えがあるからググれば 何かヒントが出てくると思う
1020 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 17:12:08.69 ID:D922t3yz.net] >>981 saveastextですね。あれ、最近のoffceだとゴミコードが1行あって、そのままでは読み込めないんですよね。
1021 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 21:13:39.22 ID:TBSeaia1.net] 業務用ソフトでどこからもGOTOされていないラベルがあるんだけど、作った奴は馬鹿なのかな?
1022 名前:デフォルトの名無しさん [2018/12/05(水) 13:19:49.01 ID:2sSegHBZ.net] いくらでもある
1023 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 14:21:48.59 ID:8B064Egy.net] そうですか… 宣言だけして使わない変数や、空のプロシジャー、その空のプロシジャーを呼び出す無意味なプロシジャー、戻り値を変数に格納だけしてなにも利用しない関数とか意味不明なことが多くてPGの世界ってカオスなんだな。 リーダブルコードとかだと絶対に怒られるようなことが目白押しだわ。
1024 名前:デフォルトの名無しさん [2018/12/05(水) 14:51:15.50 ID:2sSegHBZ.net] 理想と現実は違う
1025 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 15:58:58.90 ID:Tdi7Zg1z.net] そう、動きゃいいんだから 見た目なんか気にしてたら絶対に間に合わない
1026 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 17:29:29.08 ID:8B064Egy.net] なるほど… カスタマイズしている方からすると添削をしているよう気分になりますね。 稼働しているコードの何倍もあるコメントアウトされた過去コードとかあって、正にべからず集みたいなもんですね。
1027 名前:デフォルトの名無しさん [2018/12/05(水) 17:34:49.19 ID:kX9gokKe.net] 実際問題 中身はgdgd https://www.filemaker.com/jp/solutions/customers/stories/shinshu-ham.html
1028 名前:デフォルトの名無しさん mailto:sage [2018/12/07(金) 12:18:56.42 ID:RZ2R69DU.net] >>989 FileMakerはスクリプト(マクロ)しか無いからな
1029 名前:デフォルトの名無しさん mailto:sage [2018/12/07(金) 18:12:05.49 ID:Uga2tmpi.net] >>990 両方そなわってたら、Accessを潰せてたのにね。
1030 名前:デフォルトの名無しさん mailto:sage [2018/12/10(月) 21:20:32.74 ID:WdAp4299.net] マクロのAutokeysが急にキーを取りこぼすようになった。F1を押すとプロシジャーの実行をしてくれないでHELPが立ち上がる。 F2等をおしても無反応になってしまった。officeのアップデートが原因かな?WIN7とAccess2016の組み合わせなんだけど分かる人いますか?
1031 名前:デフォルトの名無しさん [2018/12/11(火) 13:04:58.28 ID:eQLW3H68.net] Access最近アプデしてないな 古いのまだ使ってる
1032 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 18:13:25.39 ID:fkccCnsx.net] >>993 2013使ってるならアプデする意味がほぼないし
1033 名前:デフォルトの名無しさん [2018/12/11(火) 19:29:38.35 ID:cP19L9C3.net] 20年くらい前はAccessファイルはいつ壊れるかわからない。 って言われてたけど、いまってどうなの?
1034 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 21:03:35.30 ID:OP7GyNdd.net] >>995 今は壊れることはなくなったよ。
1035 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 21:35:29.03 ID:kFp89+PJ.net] いつの間にかデータ
1036 名前:Aクセスページなくなったの? [] [ここ壊れてます]
1037 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 23:24:33.12 ID:ADs7qBab.net] >>995 同じだと思うよ。いつもは動くプロシジャーが変な挙動するようになってそのうち、フォームが全部消えちゃうとか何度もあった。というかこの1週間でもあったよ。本当にポンコツだよ。 とはいえ、ここまでカスタマイズが自由に出来るDBって他に無いような気がするけど、どうなんだろう。
1038 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 00:19:48.14 ID:GF6Qf3Td.net] WindowsFormの不自由さにはびっくりしたな
1039 名前:デフォルトの名無しさん [2018/12/12(水) 10:51:22.24 ID:I3Mp/+TW.net] いまはIMEの辞書が良く壊れるイメージ
1040 名前:デフォルトの名無しさん [2018/12/12(水) 10:53:08.65 ID:I3Mp/+TW.net] >>998 小規模のシステムでも テーブル用のmdbとフォーム用のmdbを分けて リンクで管理すると壊れるケースはかなり減った
1041 名前:デフォルトの名無しさん [2018/12/12(水) 10:53:27.51 ID:I3Mp/+TW.net] 次スレはよ
1042 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 2500日 11時間 59分 41秒
1043 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています