[過去ログ] Access VBA 質問スレ Part1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
868
(1): 2018/04/23(月)09:13 ID:/uUuSWda(1) AAS
やってみてから言ってくれ。
俺の場合は実際早かった。

俺の場合は1カラムずつじゃなくてフィ―ルド名の配列と値の配列でAddNewだけど、たぶん1カラムずつセットしてUpdateでも早いんじゃないかな。
869: 2018/04/23(月)09:41 ID:Yo1LL5su(1) AAS
そんなあほな
870
(1): 2018/04/23(月)15:45 ID:YMq7Ch8w(1) AAS
SQLでもINSERT一回じゃなくて1行のINSERTを何度も繰り返したら遅くなるからな
それと比べるなよ
871
(1): 2018/04/23(月)17:22 ID:zWK+uIrS(3/3) AAS
>>868
やってみるから、フィールド数、フィールド長とレコード数教えれ
あと配列のデータどう用意するのかと、比較するクエリの元データどうすのかも

とうぜんACCESSと対象DBエンジンとADOかDAOのバージョンも明示してくれよ

で、ループまわして1レコードずつ.AddNewして.Updateするんだな

これでほんとにVBAが速いならちょっとACCESS使うの考えるわ
872: 2018/04/25(水)22:44 ID:dGu0vJMQ(1) AAS
>>870
そんな低レベルの話はしとらん。

>>871
たぶんフィールドは40~50ぐらいじゃね?
レコードは200万ぐらい。
リモートでOracleに接続してる。
JOINで20個位のテーブル繋げてるな。
省3
873: 2018/04/26(木)20:39 ID:/vLmdzNr(1) AAS
だからどこからどうやって元データ取ってきてるんだと
リンクテーブルやリモートDBでADOの方が早いとかなら別に驚くに値せんけどな

というかお前らOpenQueryってレコード数分実行する前提で話してたのか?
874: 2018/04/27(金)17:07 ID:ash3pEtl(1) AAS
パススルーωとか使っちゃいけないTOP3じゃないか
素直にリンクテーブルにすれば良いのに
875: 2018/04/27(金)23:22 ID:jiI6PjPI(1) AAS
パススルーって駄目なの?
リンクテーブルは話にならないくらい遅くてパススルーのが全然早かったんだが。
876: 2018/04/28(土)15:07 ID:6AYZ4JmZ(1) AAS
ケースバイケース
たいていの場合、リンクテーブルに対する操作よりはSQL飛ばすほうが早いとは思うけどな
パススルーが使っちゃいけないTOP3とか初めて聞いたわ
877
(2): 2018/05/09(水)09:34 ID:OAputzVD(1/2) AAS
keydownイベントからのキー取得ではなくて、
OnKeyDownイベントからキーを取得する方法がわかりません。
Me("テキストボックス"& i).OnKeyDown = "=get_Key(" & this? & ")"
ご教授お願いします。
878: >>877 2018/05/09(水)17:09 ID:OAputzVD(2/2) AAS
レスが付かないので別の掲示板に移動します。
879: 2018/05/11(金)06:01 ID:sj29e99C(1) AAS
>>877
OnKeyDownイベントを知らなくてすまん。
880: 2018/05/11(金)09:03 ID:hWQk+urq(1) AAS
Excel で JavaScript も扱える様になるらしいね
881
(2): 2018/05/16(水)14:07 ID:aP5Z4SKQ(1/2) AAS
業務用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.
て書いてあってヤメレって書いてあるのになんでやりまくるのですかね?
882: 2018/05/16(水)14:57 ID:Ml4MG34X(1) AAS
subの代わりにしてんじゃないの
883: 2018/05/16(水)18:06 ID:xULU+qSI(1/2) AAS
>>881
しまった戻り値無いfunction俺も作ってた
動くから別にいいやって感じだった
884
(1): 2018/05/16(水)19:24 ID:DzLb+Dky(1) AAS
業務でプログラム組むような場合は、コーディングスタイルが指定されてる事が多いんだよ

正確には戻り値のないFunctiionじゃなくて、戻り値を無視してるだけだけどな
885: 2018/05/16(水)20:47 ID:xULU+qSI(2/2) AAS
functionとsubはcallが要るかどうかの違いだと思ってた。
886: 2018/05/16(水)23:07 ID:aP5Z4SKQ(2/2) AAS
可読性が低下する以外のデメリットは無いんでしょうかね?
個人的には出番のない変数は目障りなんですけどね。
887: 2018/05/17(木)00:12 ID:e2hshpiX(1) AAS
呼び出しネストの限界がFunctionのほうが浅いってデメリットがあるはず
呼び出しに必要なスタック領域が違うから
昔だれかが実測してたな。まあ再帰でよっぽどのことやらんと問題ないんじゃね

SubをFunctionにして可読性が落ちるとか、それ関数の命名に問題がある気がするがな
888: 2018/05/17(木)08:14 ID:JDzFkPHQ(1) AAS
戻り値ある前提で組んでるんでしょ。
エラー処理等で単に関数が失敗か成功かを返すとか。
後で作ろうとしてたけどグダグダになって無しになっちゃうとか。
889: 2018/05/17(木)11:23 ID:eM4CBQj1(1/2) AAS
後でやろうとしてやめちゃうってのは非常に大変頻繁によくあることだからね。
890
(1): 2018/05/17(木)12:28 ID:HY+Xmele(1/2) AAS
>>881
呼び出し側でいちいち call 書くの面倒だから
891: 2018/05/17(木)13:35 ID:vSfZvvAw(1/3) AAS
>>890
FunctionもSubもCallを書かなくても呼び出せすので、理由にならないと思います。
個人的には、Callが書いてないと唐突に見慣れない文が出現するので驚いちゃいます。馴れれば、労力の軽減になるのかな?
892
(1): 2018/05/17(木)13:53 ID:HY+Xmele(2/2) AAS
call 書かないと () 付かないだろ
() 付かないから知らない文が出て来たと思ってしまう
() 付ければ関数だと判るが call 書かないといけないって話
893
(1): 2018/05/17(木)15:12 ID:vSfZvvAw(2/3) AAS
>>892
済みません。よくわかりませんのでかみ砕いておしてもらえますか?
Callと括弧がペアで必要なのは理解しています。
もちろん、CALLなし、括弧なしでFunctionもSubも呼び出せるのも知っています。
両者の呼び出しの記法が全く同じで、唯一の例外が
lngSum=AddNumbers(10,20)
等の場合ということも知っています。
894: 2018/05/17(木)15:32 ID:vSfZvvAw(3/3) AAS
>>884
こんな感じですかね?
SUBは使わないのが基本?
外部リンク[php]:www.atmarkit.co.jp
↑でも結局解決していませんね。
895: 2018/05/17(木)17:22 ID:eM4CBQj1(2/2) AAS
つい全文読んじゃったよ
いろんな考えの人がいるんだね
896
(1): 2018/05/19(土)13:29 ID:CLRFNNLm(1) AAS
>>893
えっcallなしで呼び出せるの?知らない事がたくさんあるなあ
897: 2018/05/19(土)13:36 ID:hVWJ7ayQ(1) AAS
>>896
英語の本にはちゃんと書いてあるんですよね。私はVBSの本で知りました。
898: 2018/05/23(水)19:16 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

BHZ67
899: 2018/05/24(木)10:37 ID:cPlRxlDn(1) AAS
BHZ67
900: 2018/05/24(木)21:31 ID:fKzQ9ZgX(1) AAS
ありがとう、僕も幸せになります
901: 2018/06/13(水)13:33 ID:jDAL4HLn(1) AAS
全モジュールをExportするコードがネットにあったので試したら、0TESTModuleという名前のモジュールでエラーになった。0TESTに書き換えたら通った。
予約語かと思ったけど、そんなリスト見つからない。モジュールに名前にModuleが含まれていると失敗するものなの?
ちなみに使ったコードは↓
外部リンク:stackoverflow.com
902
(1): 2018/06/29(金)23:41 ID:Ur5E76UH(1) AAS
学生はaccessの勉強してないよね。既存の社内システムメンテナンスできる人を募集してるけど応募が無い。
accessなんて社会人になってから仕事の合間に覚える人がまれにいる、程度のものなのかな。
903
(1): 2018/06/30(土)00:22 ID:2tzAZf7R(1) AAS
そもそもOfficeのPro版がほとんどの市販PCに載ってないから触れたことすらなかった
904: 2018/06/30(土)12:32 ID:QJJEkoJ9(1) AAS
大学はFileMakerすすめるからな
905: 2018/06/30(土)22:27 ID:XUZKNvMV(1) AAS
>>902
給料が安いから応募がないんじゃないの?

いくらで募集なのか知らないが、派遣の求人だと
社内システム作れる人だと時給2100円前後という印象だなAccessは
(高くても2300円くらいか)

だから社内システムメンテ出来る人は普通の会社には行かないのでは
そこまで出来るなら専門業者で働いた方がずっと稼げるだろう
906: 2018/06/30(土)23:30 ID:D2LAG+Ct(1) AAS
人にもよるだろ。
俺の印象では3000円弱ぐらいまではいく。
907: 2018/07/01(日)22:59 ID:zfW8OWzE(1) AAS
>>903
今は単品で15,000円位だから、コスパ良い開発環境だと思うのだが。
908: 2018/07/02(月)11:07 ID:kZ0RH16R(1) AAS
VBAで自動メンバー表示できるVBE以外のエディタってあるのかな?
909
(1): 2018/07/04(水)06:14 ID:0ZnatSkO(1) AAS
VBS のエディタが使えないかな。
910: 2018/07/04(水)22:00 ID:gFgZc5FG(1) AAS
OH1
911: 2018/07/04(水)22:52 ID:SBPTcvBw(1) AAS
>>909
vbseditで試したけどダメだった
emacsで成功した人がいたのでWIN用emacsインスコしてみた
この後は面倒くさいからあしたやるemacsはいろいろ出来てすごいと言うことが少し分かったわ
912
(1): 2018/07/04(水)23:17 ID:uOrTSuCX(1) AAS
VS CodeにVBA用の拡張があったはず
ふつうのVSにも探せばあるかもな
913
(1): 2018/07/05(木)04:54 ID:/W/cgvJ/(1) AAS
VBE ではないエディタが欲しい場面とは?良かったら教えて。
914
(1): 2018/07/05(木)10:21 ID:6LeJvB+6(1) AAS
>>912
VSCの奴は2つ入れたけど,オートコンプリートはできるけど,自動メンバー表示は出来ないですね.

>>913
一般的なエディタと比べると余りにもVBEが低機能だからですね.
たとえばコードフォールディングをしたいし,行番号も見たいけど,出来ないですからね.ズームが出来ないのも案外不便.
915: 2018/07/05(木)23:08 ID:pNcP8vSm(1) AAS
フォームでマウスホイールをコロコロしてレコードを移動させるプログラムを教えていただけませんか?
916: 2018/07/10(火)21:58 ID:U+UpIg0Q(1) AAS
ソース連結の単票フォームなら、何にもしなくてもホイールコロコロでページパタパタ出来るけど
そういうのとは違うのか  或いは、制作者が敢えて無効にしてるのを有効化したいのか
或いは、帳票フォームの上下・・ これもホイール効くか、、 シーンを限定してもわらないと
917
(1): 2018/07/11(水)04:54 ID:UzCikUyf(1) AAS
>>914
913です。VBE良くできてるな便利だなと思って使ってました。もっと捗るエディタも有るんですね。
918: 2018/07/11(水)06:04 ID:ejJItOxX(1) AAS
>>917
ネット上にはVBEを賞賛する声は余り見ませんね。悪口は沢山見ます。
emacsをインスコしてみましたが、Windows7 64bitではダメでした。
emacsならやりたいことが全部出来るはずですが、lisp書けないから悲しいです。
919
(1): 2018/07/22(日)19:25 ID:fTZbDOvh(1) AAS
質問です
UPDATEでテーブルを一斉更新する際に、
「Aさん」「Bさん」「Cさん」のようなデータを
繰り返しで連番のように入力させる手段は無いのでしょうか?
連番のような数値型は出来るようなのですが、
文字列で実現する方法が分からないです

目的は出勤している人間(5名程度)に
省4
920: 2018/07/23(月)00:04 ID:2H/uT7qC(1) AAS
一度連番を振ってその後に「連番 mod 3 = 0」をAさん、
「連番 mod 3 = 1」をBさん、連番 mod = 2」をCさん
っていうようにすれば出来なくもないか…
でもスマートじゃないですし、処理に時間がかかりそうですね
921
(1): 2018/07/23(月)06:42 ID:Aoeea3bS(1) AAS
>>919
解答ではありません。
私ならexcelにエクスポートして手作業でautofill してインポート。またはvbaで一件ずつ読み書き。
Sqlでどうするかわかったら教えてください。
922
(1): 2018/07/23(月)10:05 ID:86GO4HnW(1) AAS
連番(数値型)を繰り返し入力させる方法が分かるのなら、
1=Aさん、2=Bさん、…っていうテーブル用意しておいて、
連番振ったあと更新クエリで文字列を更新させるのは駄目ですか?
923: 2018/07/23(月)10:21 ID:eU1p7hr8(1) AAS
autoincrement
924: 2018/07/27(金)08:00 ID:G5saNUly(1) AAS
20人程度が1つのテーブルにそれぞれ10分間隔くらいでUPDATE INSERTをしているんですが、突然テーブルが開けなくなりました
「他者が開いています」というメッセージが出て開くことやコピーすら出来なくなりました

対策やこの症状が出た時の対処方法はないのでしょうか?

フロントエンドとしてユーザーの数だけUI用のAccessファイルを準備して、
バックエンドはテーブル1つだけのAccessファイルを置いています
925
(1): 2018/07/27(金)12:49 ID:ASV/JfNN(1) AAS
そうなる前に、誰かがなんかのエラーを発してるはず
或いはエラーを殺しちゃってるかどうか
大概マズイことには口を噤むのが社畜の習い性

エラーにならないよう対策するか、エラー時に対策するか

コピーすらできないなら、サーバー側での対策として
バックアップ時に戻すか
そのファイルさえ救出出来たら修復できるんだろうけど
926
(1): 2018/07/27(金)13:38 ID:rdFKIS0q(1) AAS
共有数の制限の気がするけど
そのバックエンドのアクセスファイルはどこでどうやって共有してるんだよ
927: 2018/07/27(金)17:29 ID:hf+c8Fmp(1/2) AAS
919です
返答が遅くなってしまい申し訳ありません

>>921
解決しました
元々テーブルに連番が振ってあったので、それを利用して
sqlのswitch文とmodを使ってます
リストボックスで選択した担当者を配列に格納して
省9
928: 2018/07/27(金)17:35 ID:hf+c8Fmp(2/2) AAS
>>925
先日は事前に取っておいたバックアップまでロールバックして対処しました
未だにエラーの原因が分からないので
不具合が起きた時の対策とバックアップ頻度を上げるような
業務フロー(タイマー関数含む)を追加しようと思います

開けなくなったファイルは日を跨いだら開けるようになりました
恐らく誰かが気づかずにバックグラウンド掴んでる状態だったんだと思います
省8
929
(1): 2018/08/11(土)16:51 ID:/3QviRkj(1/2) AAS
質問です。
分割フォームの
分割フォームデータシートプロパティを
VBAから操作できる方法がありますでしょうか?
ご教授お願い致します。
930
(1): 2018/08/11(土)18:04 ID:MwiIaP9n(1) AAS
具体的なプロパティもわからんしお休みなのでパソコンも手元にないけど検索したらsplitformsize のvba コードがあるから何らかの操作は出来るんでないの?お盆モードの適当コメントですまぬ。
931: 929 2018/08/11(土)18:45 ID:/3QviRkj(2/2) AAS
>>930さん

ありがとうございます!
splitform vbaで調べていたら見つかりました!!
うれしいです!

Private Sub コマンド11_Click()

If Forms("test").SplitFormDatasheet = acDatasheetReadOnly Then
Forms("test").SplitFormDatasheet = acDatasheetAllowEdits
省7
932: 2018/08/23(木)22:05 ID:VOAIsull(1/2) AAS
サイズの限界まで巨大化しているフォームを改造して、様々なコントロール類をタブコントロール上に配置しようと考えています。
元のフォーム上のコントロール類をコピーしてタブコントロール上にペーストしたまでは良かったのですが、イベントプロシジャーがごっそり抜け落ちています。コマンドボタンを押してもなにも始まらない状態です。
イベントプロシジャーを保持したままコントロールをコピペする方法はありますか?
933
(1): 2018/08/23(木)22:21 ID:VOAIsull(2/2) AAS
解決しました。
外部リンク:bytes.com
934: 2018/08/24(金)06:25 ID:zBeCnEZ1(1) AAS
>>933
良かったね。
俺はVBA コードを頑張ってコピーしてるのでよかったら解説下さい。えーごわからないので。翻訳機能?あの人たちとは話が合わん!
935: 2018/08/24(金)09:58 ID:IIPiSmN7(1) AAS
Accessの本はいろいろ買ったけど、良書だなあと感心したのはほとんどが未翻訳の洋書でした。
谷尻、緒方、葛西も和書としては悪くないのですが、洋書と比較すれば月とスッポンです。
技術書の英語は辞書とgoogle翻訳でだいたいなんとかなりますよ。
たまに文学的表現があってイラッとしますけど、だいたいが簡単明瞭です。
936: 2018/08/24(金)10:46 ID:jVqNqoKW(1) AAS
すいません質問です。オフィス365です。
手動で空のサブレポートをレポートに配置しました。これをVbaコード でコピーする方法を教えてくださいませ。
937
(1): 2018/08/30(木)13:16 ID:onaqxfsR(1/2) AAS
すみません、質問させてください。
ExcelからAccessの特定のフォーム
を閉じるとき、
DoCmd.Close acForm, "フォーム名"
で入れると、おそらくacFormがAccessVBAの引数のためか、
エラーが出てしまいます。
何か解決方法があればご教授よろしくお願いします。
938
(1): 2018/08/30(木)13:20 ID:S/vwwZyF(1) AAS
アプリが違うからOLEとかActiveXObject使うんでは
939: 2018/08/30(木)14:29 ID:4drhoSMA(1) AAS
>>937
acForm=2なので、acFormじゃなく直接2を指定してみると上手く行くかも

DoCmd.Close 2, "フォーム名"
↑でやってみて
940: 2018/08/30(木)16:02 ID:onaqxfsR(2/2) AAS
>>938さん、939さん
ありがとうございます。
939さんの方法でいけました。
ありがとうございますm(_ _)m
番号で指定する方法があったのですね。
感謝です。
941: 2018/08/30(木)23:00 ID:NGm4WU4A(1) AAS
Access.AcObjectType.acForm が 2
942
(4): 2018/09/13(木)01:52 ID:iAlG4Fvk(1) AAS
アホな質問ですまん。
クエリの中でクエリを複数使うクエリを作成したんだけど、これをSQLに書き直すときにエイリアスを使いたいんだけど、クエリに対するエイリアスは使えるのかな?テーブルだけかな?
実験した感じではダメそうなんだけど、どうですか?
943: 2018/09/13(木)03:14 ID:liq2Qruq(1/2) AAS
>>942
普通に使えるはずだが
AS付けてないとか
944: 2018/09/13(木)03:15 ID:liq2Qruq(2/2) AAS
DAO経由じゃないとだめだったかも
945: 2018/09/13(木)12:56 ID:C2gZ+hmS(1/2) AAS
>>942
普通に出来るはずだぞ
どういう状況でダメになってるんだ?
946: 2018/09/13(木)13:07 ID:C2gZ+hmS(2/2) AAS
>>942
サブクエリの話だよな?
自作ツールで確認したがASで普通にできてたぞ
947
(1): 2018/09/14(金)08:17 ID:JMy0VfN7(1/2) AAS
たぶん、サブクエリじゃなくて作成済みのクエリをSQL内部のFROM句やJOIN句にテーブルのように使う時にエイリアスを使いたいという話だと思うんだが、それでも普通に使えると思う。
948: 942 2018/09/14(金)11:04 ID:cjIZJ/+q(1/6) AAS
みんな、ごめん。使えました。
おいらがSQLビューで書くときに、どっか間違えたみたい。
クエリのエイリアスも使えるし、サブクエリでネストも出来るし、accessって凄いね。糞長いSQLを書きたくなるね。
問題は余計な括弧がいっぱいくっつくところだよね。
1-
あと 54 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s