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
809 名前:デフォルトの名無しさん [2017/07/21(金) 17:55:49.86 ID:28Rvh+yS.net] @orderby書いてクエリを実行する→1/2500みたいに結果件数がでる Aorderby書かないでクエリを実行する→1 結果件数が上記と違いでない ▷|このボタンおすと上記と同じように1/2500となる @の実行時間10秒 Aの実行時間1秒 ただし▷|ボタン押すと10秒くらいかかる
810 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 21:47:28.80 ID:GPYD2Qke.net] なんかオプションに無かったかな。最初の表示するぶんだけ読み込んでとりあえず見せておいて裏で続きを読むって機能をオンに、みたいな。
811 名前:デフォルトの名無しさん [2017/07/24(月) 04:02:58.29 ID:UL92A3MD.net] >>778 あれば教えてほしいですね
812 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 15:06:22.21 ID:BdqEvISL.net] あった気がする
813 名前:デフォルトの名無しさん [2017/07/25(火) 22:56:57.38 ID:EiidKUEl.net] 会社テーブル id 会社名 ・・・ 1. A社 2. B社 3. C社 4. B社 職員テーブル name 会社id ・・・ 山田. 1 鈴木. 1 飯田. 2 野口. 3 岡本. 4 一対多のリレーションがありまして 会社マスターにダブり登録されている場合(この場合B社) 楽に修正する方法はないでしょうか 250社くらいダブリやトリプルしていて困っております
814 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 07:07:59.14 ID:wP3Z6w42.net] 名寄せマスター 名寄せID 会社ID 新会社ID 1 2 2 1 4 2 名寄せマスターと職員テーブルをJOINしてUPDATE というのはどうですか?
815 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 07:12:28.72 ID:XR9PfPcp.net] その会社マスターがおかしいのを放置するのか修正するのかで違ってくるよね
816 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 16:42:27.76 ID:Pvb1ow9Q.net] 合併したんかね
817 名前:デフォルトの名無しさん [2017/07/27(木) 20:31:02.25 ID:6NlFfxVd.net] >>782 なるほど 重複クエリに各会社の最小IDを連結して名寄せテーブルを作成し JOINしてUPDATEしました 名寄せテーブルを作成しないでクエリだけでUPDATEまでもっていくのは この場合駄目なんですね はじめ理解できず悩みました >>785 JOINしたAccessのデータをExcelに吐き出し各職場に配布、各々で修正追加。 一年以上たって回収しAccessに貼り付けられて今の状態です。 正確には職員テーブルじゃなくて顧客テーブルですね
818 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 20:40:42.96 ID:DKmshiqQ.net] なあんだ、Excelの段階で調整しちゃえば余計な苦労しなくて済んだのに
819 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:53:22.72 ID:FQn2qD+M.net] 初心者なんで教えて欲しいんだけど、フォームの次へボタン押した時に次のレコードが 表示されないのだがどうしたらいいか教えて欲しい。バージョンは2013 Private Sub Form_Load() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("名簿テーブル",dbOpenTable) Me!名前テキスト = rs!名前 Me!カナテキスト = rs!よみがな End Sub Private Sub 次へボタン_Click() DoCmd.GoToRecord , , acNext End Sub
820 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:21:37.22 ID:16hy4odR.net] フォームのソースが名簿テーブルならフォーム読み込み時の名前とよみがなセットするコードは無くても先頭レコードが表示される。 フォームのソースを確認しましょう。 非連結フォームならボタン押した時に次のレコードを読み込んで名前とよみがなセットするコードが必要だけど、キーが不明なので何ともアドバイスできません。 長々と書いたがわかりにくいね、すまん。
821 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 22:57:21.98 ID:GleVclNw.net] >>788 ありがと
822 名前:デフォルトの名無しさん [2017/08/28(月) 11:23:53.36 ID:XLKoN0Ik.net] 神さま教えてください。 ADODB.Commandでのインサートが失敗しても エラーが出ないのですが、エラーハンドリングの 方法を教えてください。 よろしくお願いします。
823 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 21:14:51.01 ID:6Oo2q0tu.net] on error
824 名前:デフォルトの名無しさん mailto:sage [2017/08/29(火) 08:37:26.00 ID:SOL0jppX.net] むしろonerrorしかないと思うが、他にやり方あんの?
825 名前:デフォルトの名無しさん [2017/08/29(火) 09:14:08.50 ID:WIE1SoZ9.net] レスありがとうございます。 ON ERROR は当然やってまして その上での質問です。
826 名前:デフォルトの名無しさん [2017/08/29(火) 21:25:59.80 ID:BqQa7G9t.net] 失敗ってなんだ。 戻り値を取ればAffectedRowsになってるだろうから それで判断するか追加されたはずの行数をあらためSELECTするとか
827 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 11:14:08.03 ID:PQCfnSyv.net] >>787 そのコードはFormがLoadされた時に名簿テーブルを開いてRecordsetに格納し、名前とカナをテキストボックスに入れるというものと次へボタンを押した時にFormがLoadされた時の処理とは全く関係なく次のレコ−ドに移動するもの。 ところで次へボタンでの次のレコ−ドってのは何のデ−タなんだい? 改めて言うけどFormがLoadされた時の処理なんて知らないからとAccess君は言っている。 要は、DoCmd.GotoRecordってのはデータとオブジェクトが連結されていることが想定されていて、連結されているから既にオブジェクトにレコードが表示されているわけだが、それに対して次のレコ−ドと言ってる。 一方、FormのLoad時の処理は連結関係無くデ−タを自ら取ってくるもの。 こちらのやり方を取るならRecordsetをPublic変数にするかForm内でのPrivate変数として保持しておき、他のイベント(次へボタンクリックのような)で使いまわすというやり方になる。
828 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 10:10:39.42 ID:as8vu/t7.net] 整数型、重複なしの列を書き換えるときはどうしてますか?たとえば、 2 1 3 → 2 1 3 にしたいときに2→1の時点でエラーが出ると思うので回避策を検討しています。 一時的に重複なしを解除して、終了時点で重複なしへ戻す方法や、一旦一時的に重複しない数字に書き換えて、それから再度書き換えるべきか悩んでいます。 なにか一般的な方法はございますか?
829 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 10:11:55.37 ID:as8vu/t7.net] あれ、スペースがおかしくなっている。 列を書き直すときにたとえば 2→1 3→2 1→3 としたいのです。具体的にはidを振り直す作業です。
830 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 12:23:57.98 ID:TDbCG25M.net] レンジのソートでよくね? もしくはフィルタ付けて並び替えてからフィルタ解除とか
831 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 12:27:01.49 ID:taN4cymO.net] idには触らないで、整数型のフィールドを追加します。そのフィールドでやりたい放題やります。
832 名前:あ mailto:sage [2017/11/22(水) 12:46:48.77 ID:MjBhGus4.net] どうしてもやりたけりゃ、swapしていきゃいいんじゃないの? 最初は2→1にしたいから、 1 3 2に。 次は3を2にして 1 2 3 に。 入れ替え自体は、UPDATE xxx SET unique = CASE WNEN unique=1 THEN 2 WHEN unique=2 THEN 1 ELSE unique END でCASEで書いちゃえば入れ替えられる。 1クエリ内で完結したら、制約はかからない。
833 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 13:21:54.54 ID:as8vu/t7.net] >>798 済みません。AccessにもRangeというのがあるのですか?あと、フィルターの使い方も御教示をお願い致します。 >>799 それが、当該idを参照しているテーブルが20個以上あるので、別のコラムという訳にはいかないのです。 参照先を変更するとなるとクエリやらVBAのコードやらを書き換えないといけないので大変だと思います。 >>800 バブルソートみたいなものですね。レコード数が3万ありますので、何となく時間がかかりそうな気がしますが、試してみます。 今はソート後にDMax+iのループで重複しないidへ書き換えて、書き換えが終わってからDMaxを引くという2段階の作業をしています。 (参照元のidも2段階の書き換えをしています。)) 我ながらドン臭いやり方だと思うので、もう少しスマートな方法があれば御教示をお願いいたします。
834 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:00:03.20 ID:t4MJ2LxN.net] その列自体を書き換えちゃうの? じゃあ、今入ってる値は必要無いってこと? だったら削除して連番振り直したら?
835 名前:デフォルトの名無しさん [2017/11/22(水) 15:02:12.97 ID:TZAtmSaI.net] 今の時代なにが楽しくてAccessなんてやるんだ
836 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:50:01.09 ID:as8vu/t7.net] >>802 idだから主キーです。Nullは不可だと思います。
837 名前:あ mailto:sage [2017/11/22(水) 16:48:33.62 ID:QspO8Ati.net] >>801 もう組み合わせがわかってて、ほんとに単発で1回きりなら、 エクセルで対比表作って、CASEの列とWHENの列足してコピペでクエリ作っても良いけど、全く健全な保守ではない。 2 1 3 2 1 3 に列追加してオートフィルで WHEN unique= 2 then 1 WHEN unique= 3 then 2 WHEN unique= 1 then 3 ってして、 unique= CASE と ELSE UNIQUE endで挟んで、コピペでテキストエディタに貼り付けて、テキストエディタからコピペでAccessに貼り付けるやつ。 しょっちゅうやるならテーブル見直そう。
838 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 16:57:08.62 ID:QHiNhW2y.net] >>804 方法はいくらでもあると思うけど。 Field追加して連番を振って、追加したFieldを主キーに変更して元の主キーのFieldを削除するとか。 試してないからできるか分からんけど。 そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら?
839 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 16:59:54.83 ID:QHiNhW2y.net] ただ、主キーを振りなおす意味が分からない。 そういうもんじゃ無いと思うし、テーブルの連結によっては滅茶苦茶になるのは分かってるよね。
840 名前:あ mailto:sage [2017/11/22(水) 17:57:43.64 ID:QspO8Ati.net] 主キー振り直すのは、やむを得ずやるのはそのアプリのライフタイムに何発かあると思う。 業務系だと、「スキーマ変えるな」「デカいトランザクションはるな」「一時テーブルすら作るな」とか無茶苦茶言いよることもある。 でも、しょっちゅうやるならホントに設計考えたほうが良い。
841 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 18:29:23.78 ID:2YVJuPMl.net] 別に列作ってそっち主キーにすれば?
842 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:10:16.27 ID:as8vu/t7.net] >>806 >>そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら? そんなことが出来るのですか?DAOもADOも1行ずつしかupdate出来ないから、重複データーが発生してしまって出来ないのですが… >>807 ワークテーブルまで含めて数えなおしたら、35個のテーブルで件のidを使用していました。なので35個のテーブルに対して変更を行わないといけませんね。
843 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:11:54.97 ID:as8vu/t7.net] >>809 それで解決するなら簡単ですね。やってみたいですね。 元の列の属性がすべて引き継がれるならいいですね。試してみます。
844 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 09:57:12.17 ID:wkO+ZdSN.net] 主キーの役割はレコードをユニークにすることだろ 並べ替えが必要ならそのための項目を別に用意するわ 作業量を問題にしてる
845 名前:けど 無茶な運用は後に響くよ 分かり易さを優先すべきだと思うわ [] [ここ壊れてます]
846 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:10:31.02 ID:fRZqdK5G.net] 主キーを解除して、重複可にして連番を書き込みました。その後に元に戻しました。変更前後の番号を配列に書き込んでおいて、その配列の値から関連するテーブル全部において置換作業を行うことにしました。 idが2万5000レコード、関連するテーブルのレコードが全部で100万近いのですが、2万5000の置換を100万レコードに対して行うので時間がかかりそうな気がしています。どのくらい時間がかかるのか計算する方法がありますかね?
847 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:21:50.25 ID:Q2HEJk5l.net] accessにSQLコストを計算する機能はないよ
848 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 19:17:11.31 ID:fRZqdK5G.net] 主キーの削除をVBAでやろうとしているんだけど、メソッドが見つからない。SQLでやるしかないのかな? 下を読むとdeleteメソッドはダメみたいだし。 https://msdn.microsoft.com/ja-jp/library/office/ff197351.aspx >>Deleteメソッドは、インデックスオブジェクトが新しいと、データベースに追加されていない場合にのみサポートします。
849 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 10:30:03.03 ID:eU9hnSW+.net] 無理矢理面倒臭い事をしているようにしか思えない まぁ人の話を聞く気が無いみたいだし 好きに調べてやればええよ
850 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 17:21:43.17 ID:twASlFZz.net] SQLであっさり出来たわ。後は置換をどうするかだな。関連するテーブル全部を置換できればすべて解決するけど、何を使うかだな。 SQLは遅いんだっけ?レコードセットでループ回す方が速いと読んだ気がする。
851 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 22:26:05.40 ID:HF1f2kGW.net] >>817 普通に考えればSQLの方が速いに決まってると思ってたが。 遅いとしたらその文書いた奴が悪いという印象。 ま、DB系については大したレベルにないから俺が間違ってるかも。
852 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 05:38:20.27 ID:GeGdCCsE.net] 業務用ソフトのテーブルを眺めていたら、テキスト型のフィールドがあって、256桁の数字が羅列してあった 様々な設定を指定された桁に格納しているようですが、このようなデーター保存方法は一般的なんでしょうか? 他の言語でもあるのでしょうか?
853 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 05:58:01.76 ID:Brt1t867.net] >>819 あるんじゃないの?としか。どんなテーブルとか、フィールドの名前とか、なんかヒントはないですか? 様々な設定も謎が深まるだけですね。
854 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 09:43:49.19 ID:GeGdCCsE.net] たとえばあるフォームAのオプションボタンの値を98桁に書き込む、フォームBのチェックボックスの値は例えばCstr(Abs(True)))でstringへ変換して105桁に書き込むとかそんな感じです。 合理的な気もするのですが、こういう方法は検索しても見つからないので一般的なのか、特殊なアイデアなのか知りたくなりまして。
855 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 11:59:57.14 ID:vHFzkUKA.net] すくなくともRDBを使う上ではやるなって言われてるやり方 固定長ファイルにデータ保存してるようなシステムなら結構あったけどね
856 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 16:08:53.51 ID:GeGdCCsE.net] >>822 そうなんですか。面白そうな話しなので調べてみようと思います。その手法はどういう名称なんですか?もしくは検索ワードを御教示頂けましたら幸いです。
857 名前:あ mailto:sage [2017/11/28(火) 18:29:06.23 ID:i1R8M5pm.net] RPG区分列とかじゃないの?古い呼び方だけど。 酷すぎてだれも触りたくないやつ。 RDBに移すような事があったら、末期には照合順序をbinaryにするしか無くなったりすごく苦しむから辞めた方がいい。 メリットらしいメリット無い。LIKE
858 名前:で雑に'[A-C]__1_2'みたいにSELECTできることぐらい。 [] [ここ壊れてます]
859 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:44:14.15 ID:GeGdCCsE.net] 残念ながら、ググっても何もヒットしません。 なにかヒントをお願い出来ますか?
860 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 16:18:17.01 ID:xc+Vk5Dr.net] RPGとRDBで検索したら関係ありそうなのがいくつかヒットしたけど。 検索能力は俺の方が上みたいだな。
861 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:50:26.76 ID:EvURnJTn.net] 固定長ファイルでぐぐったら、先頭に固定長データファイルとはっていうサイトがでたけど なにでどうググったんだか
862 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 10:19:55.17 ID:eu/J6Nzp.net] 皆様、御指導、御鞭撻ありがとうございます。 COBOLでよく使う手法だったんですね。 件のmdbはコボラーが設計したんですかね。
863 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 23:04:21.85 ID:HIES1UEg.net] 言語の問題じゃ無いと思うが
864 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 01:17:27.21 ID:jk/z017d.net] そうなんですか。accessの本には全く載っていないでのすが、RDBMSの世界ではごく一般的な手法なんですか
865 名前:デフォルトの名無しさん [2017/12/05(火) 13:50:48.83 ID:JFWc1rHJ.net] ISAM
866 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 14:44:30.03 ID:LtpZx+mu.net] >>830 >>822
867 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 16:01:26.32 ID:jk/z017d.net] 言語の問題ではない しかしRDBMSではやってはいけない よくわからないけど昔のデーターベースの本を読んでみますわ 暇つぶしにちょうどいいわ
868 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 17:17:16.01 ID:Jckjy/ZT.net] 自分たちが使うデータをどういった構造で保持するかは各自で考えて構わない ただRDBに入れるのであれば、やってはいけなくもないけど、おすすめはしない、という話では? RDBならテーブル・フィールド分けてデータもコードも見やすくできるのに、そうしないのはもったいないというかなんというか
869 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 19:05:27.76 ID:IwqbiEq4.net] 結局何の解答にもなってないw
870 名前:名無し mailto:sage [2017/12/06(水) 08:23:07.59 ID:qK37T0GP.net] データベースの列が増やせない何かがあった。 開発者の気まぐれ。手抜き。 従来の固定長ファイルと1:1の情報を保持したかった。 とかね。。。 こっちの業界じゃ拡張DM形式なんて固定長ファイルが普通にやり取りされてて、桁数制限とかが厳しいけど、容量の割に情報量が多いし古いソフトの互換性があるとかで100年以上生きると思うわ。 でも固定長ファイルの文字列をmdbに格納するのは正気とは思えない。データベースのメリット全部殺してるじゃん
871 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:50:38.97 ID:3RgxoH/J.net] 固定長レコードw化石乙ww
872 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:56:13.57 ID:+yD4mhv+.net] 郵便とのやり取りは今でも固定長フィールド使てんじゃね さすがに今はないか、フロッピーとか
873 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 11:12:29.56 ID:dYt4FwS2.net] 未だに固定長を扱う事はありますが、設計済みDBに展開して処理していますよ
874 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 05:51:08.35 ID:opi4zWAm.net] 固定長のEDI、増えたりしないだろうけどいつまでも残るんだろなあ。csvやtsvをメール添付で良いのにって思う。
875 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 12:12:58.82 ID:NfkoL/Di.net] 固定長の方がパースが軽いからなぁ あといつまでもなくならないレガシな環境とかな 処理系そのものは変更されてもIO部分の仕様変更はなかなかやらない
876 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 12:15:15.31 ID:YN66KLn
] [ここ壊れてます]
877 名前:O.net mailto: 今どき固定長レコードなんて使ってるのに前向きな理由なんて無いよ [] [ここ壊れてます]
878 名前:名無し mailto:sage [2017/12/07(木) 17:45:46.41 ID:d4TqII+f.net] >>840 同じ拡張子なのに何十種類もバリエーションのある欠陥フォーマットを使うのはやめてくれ
879 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 10:45:37.49 ID:e967XxUr.net] アクセス始めて触る初心者です。 テキストボックスが複数含まれたワードファイルが5000個ぐらいあります 各テキストボックスからいろんな項目を取得するとして、1ファイルあたり30項目ぐらい つまり5000個のファイル*30項目=15,000項目 これをアクセスで処理していこうと思ってるんですが、アクセスはこの程度さくさく処理できるものでしょうか 目的は、ワードファイルが多すぎて邪魔なんで全部削除したい。必要に応じて元のファイルと同じものを再現できるようにするため、必要な情報をアクセスのデータベースに保存しておくことです 必要なファイルを再現できるように検索機能と再現機能をもったVBAマクロを組むつもりです 最初エクセルでやろうとも思ったのですが、さすがに万単位で今後も増える可能性が高いため アクセスかな?と思ったのですが、どうでしょう
880 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 13:37:19.07 ID:KJpDTktT.net] >>844 初めて触る様な状態なら無理だから、諦めた方がいいですよ
881 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 13:53:17.30 ID:e967XxUr.net] >>845 アクセスは初めてだけどエクセルVBAはそこそこ経験あります エクセルVBAでなら自分で組める範疇ですね すでにアクセスで途中までマクロは組んであります 同一フォルダ内にテスト用に作成してあるワードファイルを順次開いてすべてのテキストボックスの値、位置関連の数値を Debug.Printで出力後、ワードファイルを閉じる ここまでうまくいってるんであとはアクセスの基本機能理解すればそう困難ではないでしょう ざっとみたところ、この用途で使う限りではそう複雑なものでもないようですし。 質問の内容はアクセスでやる利益があるかどうかという点ですね まぁ組めばわかるんですけどね
882 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 20:59:27.31 ID:+YlQ+DNK.net] >>846 エクセルのテーブルに格納したらアクセスにインポートするのが良いんじゃない? エクセルのままでも良いと思うけど、
883 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 08:18:15.16 ID:YHjH5DQb.net] >>847 それいいですね やってみます
884 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 14:52:40.80 ID:Y79w2nNG.net] 貴乃花親方にしろ有賀さつきにしろ やはり「語らない」ことが年末から今年にかけてのポイントだな 逆に語っている方が何かと物議を醸しているし
885 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 14:53:16.21 ID:Y79w2nNG.net] ミスった すまん
886 名前:デフォルトの名無しさん mailto:sage [2018/02/07(水) 11:19:44.29 ID:mhmm9auu.net] 医療過誤?
887 名前:デフォルトの名無しさん [2018/04/14(土) 12:06:32.62 ID:bV7+SAsd.net] すみません質問させてください。 Private Sub Form_Load() Me.TimerInterval = 1000 End Sub Sub Form_Timer() Static intShowPicture As Integer If intShowPicture Then Me.btnPicture.Picture = "C:\taiyo.jpg" Else Me!btnPicture.Picture = "" End If intShowPicture = Not intShowPicture End Sub このコードは何をしているのでしょうか? ご回答よろしくお願いします。
888 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 12:24:03.37 ID:2RkkR2xg.net] 一秒毎に画像を出したり引っ込めたり
889 名前:853 mailto:sage [2018/04/14(土) 12:53:27.07 ID:bV7+SAsd.net] ご回答ありがとう御座います。 イメージはなんとなく掴めたのですが、 この場合のintShowPictureには何が格納されているのでしょうか? もしくはBoolean型なのでしょうか?
890 名前:デフォルトの名無しさん [2018/04/14(土) 16:08:38.27 ID:1T8oabCl.net] Static intShowPicture As Boolean にして試してみろよ
891 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 19:25:20.18 ID:cGW/rI9o.net] VBAには暗黙の変換ってのがあるから IntegerをBooleanに暗黙的に変換して評価してる まあ、あまり良いコードじゃないな
892 名前:851,853 mailto:sage [2018/04/14(土) 21:39:02.03 ID:criYFAGW.net] >>853 さん 試しに、フォームと画像を用意して作ったら、点滅しました! >>855 さん この文でも点滅しました! >>856 さん Falseが0でTrueが-1なのですね! ご回答ありがとうございました。 解決しました!
893 名前:デフォルトの名無しさん [2018/04/15(日) 10:38:49.74 ID:E1b18XLI.net] >Falseが0でTrueが-1なのですね! そうだっけ?
894 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:40:33.57 ID:VXOW+WoG.net] Access で画像を点滅する? そんなの普通は、JavaScript, jQuery とかだろ
895 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 22:05:01.30 ID:4uH7KTiu.net] ここは Access の質問スレですよ
896 名前:デフォルトの名無しさん [2018/04/21(土) 00:22:50.08 ID:IpoNn3EX.net] 10万件以上の大量レコードを追加するインサート処理をクエリを作成してDocmd.OpenQueryでやっているが時間が1分以上かかる この処理をモジュールにADO、もしくはDAOでインサート処理を記述したら、Docmd.OpenQueryより早くなるかな?
897 名前:デフォルトの名無しさん [2018/04/21(土) 12:05:09.74 ID:M/Q9a6+d.net] VBAで書くと数倍遅くなるんじゃね? Cからなら速いかも知れん
898 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 14:39:22.47 ID:JSWmVJf3.net] たぶんクエリのほうが遥かに速い
899 名前:デフォルトの名無しさん [2018/04/21(土) 16:21:47.73 ID:Zke6MJB8.net] OpenQueryをCから実行
900 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 17:48:56.41 ID:e0mRRnZY.net] BULK INSERT は? そもそも、INSERT文は速くならない!
901 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 14:54:13.01 ID:QBM3hGX3.net] 10万が大量かどうかという問題も有るがRecordset + AddNewの方が速いと聞いたし、実際俺が組んだ場合も明らかに早いんだが。 状況にもよるかもしれんけど。
902 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 02:01:29.71 ID:zWK+uIrS.net] そもそもOpenQueryでどんなクエリ流してインサートしてるかわからんのに比較にならんわ
903 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 02:08:10.01 ID:zWK+uIrS.net] >>866 例えば単純な追加クエリや、INSERT SELECTするSQL発行するより 1件ずつAddNewして(どこかから値持ってきて)1カラムずつ値セットするほうが早いっての? どこで聞いた話だそれ?
904 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 09:13:20.51 ID:/uUuSWda.net] やってみてから言ってくれ。 俺の場合は実際早かった。 俺の場合は1カラムずつじゃなくてフィ―ルド名の配列と値の配列でAddNewだけど、たぶん1カラムずつセットしてUpdateでも早いんじゃないかな。
905 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 09:41:02.27 ID:Yo1LL5su.net] そんなあほな
906 名前:デフォルトの名無しさん [2018/04/23(月) 15:45:02.07 ID:YMq7Ch8w.net] SQLでもINSERT一回じゃなくて1行のINSERTを何度も繰り返したら遅くなるからな それと比べるなよ
907 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 17:22:09.14 ID:zWK+uIrS.net] >>869 やってみるから、フィールド数、フィールド長とレコード数教えれ あと配列のデータどう用意するのかと、比較するクエリの元データどうすのかも とうぜんACCESSと対象DBエンジンとADOかDAOのバージョンも明示してくれよ で、ループまわして1レコードずつ.AddNewして.Updateするんだな これでほんとにVBAが速いならちょっとACCESS使うの考えるわ
908 名前:デフォルトの名無しさん mailto:sage [2018/04/25(水) 22:44:48.30 ID:dGu0vJMQ.net] >>871 そんな低レベルの話はしとらん。 >>872 たぶんフィールドは40~50ぐらいじゃね? レコードは200万ぐらい。 リモートでOracleに接続してる。 JOINで20個位のテーブル繋げてるな。 ADO使ってる。 パススルーのSELECTクエリ+INSERTじゃ永遠に
909 名前:終わらない感じが20分程度で取得出来るようになった。 「access insert addnew 速度」でクグってみればけっこうAddNewの方が早い話が見つかるぞ。 [] [ここ壊れてます]
910 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 20:39:25.51 ID:/vLmdzNr.net] だからどこからどうやって元データ取ってきてるんだと リンクテーブルやリモートDBでADOの方が早いとかなら別に驚くに値せんけどな というかお前らOpenQueryってレコード数分実行する前提で話してたのか?
911 名前:デフォルトの名無しさん [2018/04/27(金) 17:07:36.05 ID:ash3pEtl.net] パススルーωとか使っちゃいけないTOP3じゃないか 素直にリンクテーブルにすれば良いのに
912 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 23:22:48.36 ID:jiI6PjPI.net] パススルーって駄目なの? リンクテーブルは話にならないくらい遅くてパススルーのが全然早かったんだが。
913 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 15:07:07.82 ID:6AYZ4JmZ.net] ケースバイケース たいていの場合、リンクテーブルに対する操作よりはSQL飛ばすほうが早いとは思うけどな パススルーが使っちゃいけないTOP3とか初めて聞いたわ
914 名前:デフォルトの名無しさん [2018/05/09(水) 09:34:09.66 ID:OAputzVD.net] keydownイベントからのキー取得ではなくて、 OnKeyDownイベントからキーを取得する方法がわかりません。 Me("テキストボックス"& i).OnKeyDown = "=get_Key(" & this? & ")" ご教授お願いします。
915 名前:>>877 mailto:sage [2018/05/09(水) 17:09:04.61 ID:OAputzVD.net] レスが付かないので別の掲示板に移動します。
916 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 06:01:03.99 ID:sj29e99C.net] >>878 OnKeyDownイベントを知らなくてすまん。
917 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 09:03:43.55 ID:hWQk+urq.net] Excel で JavaScript も扱える様になるらしいね
918 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 14:07:17.01 ID:aP5Z4SKQ.net] 業務用mdbのコードを見てて気づいたんだけど、戻り値を使わないのに、functionを作成しているのが非常に多い。 どんなメリット、デメリットがあるのですか?戻り値用の変数を用意するから速度が低下するのが問題なんですか? 英語の本には >>Many programmers think that they must return something, even if they have to make some artificial return code or status. This practice can make your code harder for others to understand. て書いてあってヤメレって書いてあるのになんでやりまくるのですかね?
919 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 14:57:23.49 ID:Ml4MG34X.net] subの代わりにしてんじゃないの
920 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 18:06:12.59 ID:xULU+qSI.net] >>882 しまった戻り値無いfunction俺も作ってた 動くから別にいいやって感じだった
921 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 19:24:53.85 ID:DzLb+Dky.net] 業務でプログラム組むような場合は、コーディングスタイルが指定されてる事が多いんだよ 正確には戻り値のないFunctiionじゃなくて、戻り値を無視してるだけだけどな
922 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 20:47:56.46 ID:xULU+qSI.net] functionとsubはcallが要るかどうかの違いだと思ってた。
923 名前:デフォルトの名無しさん mailto:sage [2018/05/16(水) 23:07:53.34 ID:aP5Z4SKQ.net] 可読性が低下する以外のデメリットは無いんでしょうかね? 個人的には出番のない変数は目障りなんですけどね。
924 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 00:12:37.33 ID:e2hshpiX.net] 呼び出しネストの限界がFunctionのほうが浅いってデメリットがあるはず 呼び出しに必要なスタック領域が違うから 昔だれかが実測してたな。まあ再帰でよっぽどのことやらんと問題ないんじゃね SubをFunctionにして可読性が落ちるとか、それ関数の命名に問題がある気がするがな
925 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 08:14:31.45 ID:JDzFkPHQ.net] 戻り値ある前提で組んでるんでしょ。 エラー処理等で単に関数が失敗か成功かを返すとか。 後で作ろうとしてたけどグダグダになって無しになっちゃうとか。
926 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 11:23:10.83 ID:eM4CBQj1.net] 後でやろうとしてやめちゃうってのは非常に大変頻繁によくあることだからね。
927 名前:デフォルトの名無しさん [2018/05/17(木) 12:28:55.01 ID:HY+Xmele.net] >>882 呼び出し側でいちいち call 書くの面倒だから
928 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 13:35:45.45 ID:vSfZvvAw.net] >>891 FunctionもSubもCallを書かなくても呼び出せすので、理由にならないと思います。 個人的には、Callが書いてないと唐突に見慣れない文が出現するので驚いちゃいます。馴れれば、労力の軽減になるのかな?
929 名前:デフォルトの名無しさん [2018/05/17(木) 13:53:44.02 ID:HY+Xmele.net] call 書かないと () 付かないだろ () 付かないから知らない文が出て来たと思ってしまう () 付ければ関数だと判るが call 書かないといけないって話
930 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 15:12:43.90 ID:vSfZvvAw.net] >>893 済みません。よくわかりませんのでかみ砕いておしてもらえますか? Callと括弧がペアで必要なのは理解しています。 もちろん、CALLなし、括弧なしでFunctionもSubも呼び出せるのも知っています。 両者の呼び出しの記法が全く同じで、唯一の例外が lngSum=AddNumbers(10,20) 等の場合ということも知っています。
931 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 15:32:30.96 ID:vSfZvvAw.net] >>885 こんな感じですかね? SUBは使わないのが基本? www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47673&forum=36 ↑でも結局解決していませんね。
932 名前:デフォルトの名無しさん mailto:sage [2018/05/17(木) 17:22:26.67 ID:eM4CBQj1.net] つい全文読んじゃったよ いろんな考えの人がいるんだね
933 名前:デフォルトの名無しさん mailto:sage [2018/05/19(土) 13:29:25.00 ID:CLRFNNLm.net] >>894 えっcallなしで呼び出せるの?知らない事がたくさんあるなあ
934 名前:デフォルトの名無しさん mailto:sage [2018/05/19(土) 13:36:56.85 ID:hVWJ7ayQ.net] >>897 英語の本にはちゃんと書いてあるんですよね。私はVBSの本で知りました。
935 名前:デフォルトの名無しさん [2018/05/23(水) 19:16:19.68 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 BHZ67
936 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 10:37:30.53 ID:cPlRxlDn.net] BHZ67
937 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 21:31:25.23 ID:fKzQ9ZgX.net] ありがとう、僕も幸せになります
938 名前:デフォルトの名無しさん mailto:sage [2018/06/13(水) 13:33:14.15 ID:jDAL4HLn.net] 全モジュールをExportするコードがネットにあったので試したら、0TESTModuleという名前のモジュールでエラーになった。0TESTに書き換えたら通った。 予約語かと思ったけど、そんなリスト見つからない。モジュールに名前にModuleが含まれていると失敗するものなの? ちなみに使ったコードは↓ https://stackoverflow.com/questions/16948215/exporting-ms-access-forms-and-class-modules-recursively-to-text-files
939 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 23:41:22.03 ID:Ur5E76UH.net] 学生はaccessの勉強してないよね。既存の社内システムメンテナンスできる人を募集してるけど応募が無い。 accessなんて社会人になってから仕事の合間に覚える人がまれにいる、程度のものなのかな。
940 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 00:22:45.41 ID:2tzAZf7R.net] そもそもOfficeのPro版がほとんどの市販PCに載ってないから触れたことすらなかった
941 名前:デフォルトの名無しさん [2018/06/30(土) 12:32:46.83 ID:QJJEkoJ9.net] 大学はFileMakerすすめるからな
942 名前:デフォルトの名無しさん [2018/06/30(土)
] [ここ壊れてます]
943 名前:22:27:35.34 ID:XUZKNvMV.net mailto: >>903 給料が安いから応募がないんじゃないの? いくらで募集なのか知らないが、派遣の求人だと 社内システム作れる人だと時給2100円前後という印象だなAccessは (高くても2300円くらいか) だから社内システムメンテ出来る人は普通の会社には行かないのでは そこまで出来るなら専門業者で働いた方がずっと稼げるだろう [] [ここ壊れてます]
944 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:30:30.56 ID:D2LAG+Ct.net] 人にもよるだろ。 俺の印象では3000円弱ぐらいまではいく。
945 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:59:11.58 ID:zfW8OWzE.net] >>904 今は単品で15,000円位だから、コスパ良い開発環境だと思うのだが。
946 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 11:07:23.80 ID:kZ0RH16R.net] VBAで自動メンバー表示できるVBE以外のエディタってあるのかな?
947 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 06:14:38.14 ID:0ZnatSkO.net] VBS のエディタが使えないかな。
948 名前:デフォルトの名無しさん [2018/07/04(水) 22:00:33.68 ID:gFgZc5FG.net] OH1
949 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 22:52:05.24 ID:SBPTcvBw.net] >>910 vbseditで試したけどダメだった emacsで成功した人がいたのでWIN用emacsインスコしてみた この後は面倒くさいからあしたやるemacsはいろいろ出来てすごいと言うことが少し分かったわ
950 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 23:17:14.61 ID:uOrTSuCX.net] VS CodeにVBA用の拡張があったはず ふつうのVSにも探せばあるかもな
951 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 04:54:44.26 ID:/W/cgvJ/.net] VBE ではないエディタが欲しい場面とは?良かったら教えて。
952 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 10:21:34.29 ID:6LeJvB+6.net] >>913 VSCの奴は2つ入れたけど,オートコンプリートはできるけど,自動メンバー表示は出来ないですね. >>914 一般的なエディタと比べると余りにもVBEが低機能だからですね. たとえばコードフォールディングをしたいし,行番号も見たいけど,出来ないですからね.ズームが出来ないのも案外不便.
953 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 23:08:09.61 ID:pNcP8vSm.net] フォームでマウスホイールをコロコロしてレコードを移動させるプログラムを教えていただけませんか?
954 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 21:58:48.67 ID:U+UpIg0Q.net] ソース連結の単票フォームなら、何にもしなくてもホイールコロコロでページパタパタ出来るけど そういうのとは違うのか 或いは、制作者が敢えて無効にしてるのを有効化したいのか 或いは、帳票フォームの上下・・ これもホイール効くか、、 シーンを限定してもわらないと
955 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 04:54:43.98 ID:UzCikUyf.net] >>915 913です。VBE良くできてるな便利だなと思って使ってました。もっと捗るエディタも有るんですね。
956 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 06:04:47.59 ID:ejJItOxX.net] >>918 ネット上にはVBEを賞賛する声は余り見ませんね。悪口は沢山見ます。 emacsをインスコしてみましたが、Windows7 64bitではダメでした。 emacsならやりたいことが全部出来るはずですが、lisp書けないから悲しいです。
957 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 19:25:52.08 ID:fTZbDOvh.net] 質問です UPDATEでテーブルを一斉更新する際に、 「Aさん」「Bさん」「Cさん」のようなデータを 繰り返しで連番のように入力させる手段は無いのでしょうか? 連番のような数値型は出来るようなのですが、 文字列で実現する方法が分からないです 目的は出勤している人間(5名程度)に 難易度にムラがある案件(200件程度)を均等・公平に 割り付けるためです お手数をおかけしますが、どうかご教授ください よろしくお願いします
958 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 00:04:34.46 ID:2H/uT7qC.net] 一度連番を振ってその後に「連番 mod 3 = 0」をAさん、 「連番 mod 3 = 1」をBさん、連番 mod = 2」をCさん っていうようにすれば出来なくもないか… でもスマートじゃないですし、処理に時間がかかりそうですね
959 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 06:42:41.53 ID:Aoeea3bS.net] >>920 解答ではありません。 私ならexcelにエクスポートして手作業でautofill してインポート。またはvbaで一件ずつ読み書き。 Sqlでどうするかわかったら教えてください。
960 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 10:05:37.58 ID:86GO4HnW.net] 連番(数値型)を繰り返し入力させる方法が分かるのなら、 1=Aさん、2=Bさん、…っていうテーブル用意しておいて、 連番振ったあと更新クエリで文字列を更新させるのは駄目ですか?
961 名前:デフォルトの名無しさん [2018/07/23(月) 10:21:18.69 ID:eU1p7hr8.net] autoincrement
962 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:00:42.36 ID:G5saNUly.net] 20人程度が1つのテーブルにそれぞれ10分間隔くらいでUPDATE INSERTをしているんですが、突然テーブルが開けなくなりました 「他者が開いています」というメッセージが出て開くことやコピーすら出来なくなりました 対策やこの症状が出た時の対処方法はないのでしょうか? フロントエンドとしてユーザーの数だけUI用のAccessファイルを準備して、 バックエンドはテーブル1つだけのAccessファイルを置いています
963 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:49:22.89 ID:ASV/JfNN.net] そうなる前に、誰かがなんかのエラーを発してるはず 或いはエラーを殺しちゃってるかどうか 大概マズイことには口を噤むのが社畜の習い性 エラーにならないよう対策するか、エラー時に対策するか コピーすらできないなら、サーバー側での対策として バックアップ時に戻すか そのファイルさえ救出出来たら修復できるんだろうけど
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています