Access VBA 質問スレ Part1 at TECH
Access VBA 質問スレ Part1 - 暇つぶし2ch950:デフォルトの名無しさん
18/07/04 23:17:14.61 uOrTSuCX.net
VS CodeにVBA用の拡張があったはず
ふつうのVSにも探せばあるかもな

951:デフォルトの名無しさん
18/07/05 04:54:44.26 /W/cgvJ/.net
VBE ではないエディタが欲しい場面とは?良かったら教えて。

952:デフォルトの名無しさん
18/07/05 10:21:34.29 6LeJvB+6.net
>>913
VSCの奴は2つ入れたけど,オートコンプリートはできるけど,自動メンバー表示は出来ないですね.
>>914
一般的なエディタと比べると余りにもVBEが低機能だからですね.
たとえばコードフォールディングをしたいし,行番号も見たいけど,出来ないですからね.ズームが出来ないのも案外不便.

953:デフォルトの名無しさん
18/07/05 23:08:09.61 pNcP8vSm.net
フォームでマウスホイールをコロコロしてレコードを移動させるプログラムを教えていただけませんか?

954:デフォルトの名無しさん
18/07/10 21:58:48.67 U+UpIg0Q.net
ソース連結の単票フォームなら、何にもしなくてもホイールコロコロでページパタパタ出来るけど
そういうのとは違うのか  或いは、制作者が敢えて無効にしてるのを有効化したいのか
或いは、帳票フォームの上下・・ これもホイール効くか、、 シーンを限定してもわらないと

955:デフォルトの名無しさん
18/07/11 04:54:43.98 UzCikUyf.net
>>915
913です。VBE良くできてるな便利だなと思って使ってました。もっと捗るエディタも有るんですね。

956:デフォルトの名無しさん
18/07/11 06:04:47.59 ejJItOxX.net
>>918
ネット上にはVBEを賞賛する声は余り見ませんね。悪口は沢山見ます。
emacsをインスコしてみましたが、Windows7 64bitではダメでした。
emacsならやりたいことが全部出来るはずですが、lisp書けないから悲しいです。

957:デフォルトの名無しさん
18/07/22 19:25:52.08 fTZbDOvh.net
質問です
UPDATEでテーブルを一斉更新する際に、
「Aさん」「Bさん」「Cさん」のようなデータを
繰り返しで連番のように入力させる手段は無いのでしょうか?
連番のような数値型は出来るようなのですが、
文字列で実現する方法が分からないです
目的は出勤している人間(5名程度)に
難易度にムラがある案件(200件程度)を均等・公平に
割り付けるためです
お手数をおかけしますが、どうかご教授ください
よろしくお願いします

958:デフォルトの名無しさん
18/07/23 00:04:34.46 2H/uT7qC.net
一度連番を振ってその後に「連番 mod 3 = 0」をAさん、
「連番 mod 3 = 1」をBさん、連番 mod = 2」をCさん
っていうようにすれば出来なくもないか…
でもスマートじゃないですし、処理に時間がかかりそうですね

959:デフォルトの名無しさん
18/07/23 06:42:41.53 Aoeea3bS.net
>>920
解答ではありません。
私ならexcelにエクスポートして手作業でautofill してインポート。またはvbaで一件ずつ読み書き。
Sqlでどうするかわかったら教えてください。

960:デフォルトの名無しさん
18/07/23 10:05:37.58 86GO4HnW.net
連番(数値型)を繰り返し入力させる方法が分かるのなら、
1=Aさん、2=Bさん、…っていうテーブル用意しておいて、
連番振ったあと更新クエリで文字列を更新させるのは駄目ですか?

961:デフォルトの名無しさん
18/07/23 10:21:18.69 eU1p7hr8.net
autoincrement

962:デフォルトの名無しさん
18/07/27 08:00:42.36 G5saNUly.net
20人程度が1つのテーブルにそれぞれ10分間隔くらいでUPDATE INSERTをしているんですが、突然テーブルが開けなくなりました
「他者が開いています」というメッセージが出て開くことやコピーすら出来なくなりました
対策やこの症状が出た時の対処方法はないのでしょうか?
フロントエンドとしてユーザーの数だけUI用のAccessファイルを準備して、
バックエンドはテーブル1つだけのAccessファイルを置いています

963:デフォルトの名無しさん
18/07/27 12:49:22.89 ASV/JfNN.net
そうなる前に、誰かがなんかのエラーを発してるはず
或いはエラーを殺しちゃってるかどうか
大概マズイことには口を噤むのが社畜の習い性
エラーにならないよう対策するか、エラー時に対策するか
コピーすらできないなら、サーバー側での対策として
バックアップ時に戻すか
そのファイルさえ救出出来たら修復できるんだろうけど

964:デフォルトの名無しさん
18/07/27 13:38:08.89 rdFKIS0q.net
共有数の制限の気がするけど
そのバックエンドのアクセスファイルはどこでどうやって共有してるんだよ

965:デフォルトの名無しさん
18/07/27 17:29:47.26 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:デフォルトの名無しさん
18/07/27 17:35:57.88 hf+c8Fmp.net
>>926
先日は事前に取っておいたバックアップまでロールバックして対処しました
未だにエラーの原因が分からないので
不具合が起きた時の対策とバックアップ頻度を上げるような
業務フロー(タイマー関数含む)を追加しようと思います
開けなくなったファイルは日を跨いだら開けるようになりました
恐らく誰かが気づかずにバックグラウンド掴んでる状態だったんだと思います
>>927
特にオプションをいじっていないaccdbを共有サーバに
そのまま置いてる状態です
データを取得するのはサーバのバックエンドテーブルを
ローカルファイル(フロントエンド)にコピーして
ローカルで完結して参照しています
更新や追加する時だけバックエンドのテーブルに
UPDATEとINSERTをしています

967:デフォルトの名無しさん
18/08/11 16:51:32.08 /3QviRkj.net
質問です。
分割フォームの
分割フォームデータシートプロパティを
VBAから操作できる方法がありますでしょうか?
ご教授お願い致します。

968:デフォルトの名無しさん
18/08/11 18:04:27.51 MwiIaP9n.net
具体的なプロパティもわからんしお休みなのでパソコンも手元にないけど検索したらsplitformsize のvba コードがあるから何らかの操作は出来るんでないの?お盆モードの適当コメントですまぬ。

969:929
18/08/11 18:45:39.43 /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:デフォルトの名無しさん
18/08/23 22:05:56.98 VOAIsull.net
サイズの限界まで巨大化しているフォームを改造して、様々なコントロール類をタブコントロール上に配置しようと考えています。
元のフォーム上のコントロール類をコピーしてタブコントロール上にペーストしたまでは良かったのですが、イベントプロシジャーがごっそり抜け落ちています。コマンドボタンを押してもなにも始まらない状態です。
イベントプロシジャーを保持したままコントロールをコピペする方法はありますか?

971:デフォルトの名無しさん
18/08/23 22:21:39.28 VOAIsull.net
解決しました。
URLリンク(bytes.com)

972:デフォルトの名無しさん
18/08/24 06:25:14.72 zBeCnEZ1.net
>>934
良かったね。
俺はVBA コードを頑張ってコピーしてるのでよかったら解説下さい。えーごわからないので。翻訳機能?あの人たちとは話が合わん!

973:デフォルトの名無しさん
18/08/24 09:58:42.20 IIPiSmN7.net
Accessの本はいろいろ買ったけど、良書だなあと感心したのはほとんどが未翻訳の洋書でした。
谷尻、緒方、葛西も和書としては悪くないのですが、洋書と比較すれば月とスッポンです。
技術書の英語は辞書とgoogle翻訳でだいたいなんとかなりますよ。
たまに文学的表現があってイラッとしますけど、だいたいが簡単明瞭です。

974:デフォルトの名無しさん
18/08/24 10:46:31.53 jVqNqoKW.net
すいません質問です。オフィス365です。
手動で空のサブレポートをレポートに配置しました。これをVbaコード でコピーする方法を教えてくださいませ。

975:デフォルトの名無しさん
18/08/30 13:16:49.85 onaqxfsR.net
すみません、質問させてください。
ExcelからAccessの特定のフォーム
を閉じるとき、
DoCmd.Close acForm, "フォーム名"
で入れると、おそらくacFormがAccessVBAの引数のためか、
エラーが出てしまいます。
何か解決方法があればご教授よろしくお願いします。

976:デフォルトの名無しさん
18/08/30 13:20:53.05 S/vwwZyF.net
アプリが違うからOLEとかActiveXObject使うんでは

977:デフォルトの名無しさん
18/08/30 14:29:11.04 4drhoSMA.net
>>938
acForm=2なので、acFormじゃなく直接2を指定してみると上手く行くかも
DoCmd.Close 2, "フォーム名"
↑でやってみて

978:デフォルトの名無しさん
18/08/30 16:02:05.01 onaqxfsR.net
>>939さん、939さん
ありがとうございます。
939さんの方法でいけました。
ありがとうございますm(_ _)m
番号で指定する方法があったのですね。
感謝です。

979:デフォルトの名無しさん
18/08/30 23:00:19.83 NGm4WU4A.net
Access.AcObjectType.acForm が 2

980:デフォルトの名無しさん
18/09/13 01:52:34.58 iAlG4Fvk.net
アホな質問ですまん。
クエリの中でクエリを複数使うクエリを作成したんだけど、これをSQLに書き直すときにエイリアスを使いたいんだけど、クエリに対するエイリアスは使えるのかな?テーブルだけかな?
実験した感じではダメそうなんだけど、どうですか?

981:デフォルトの名無しさん
18/09/13 03:14:29.75 liq2Qruq.net
>>943
普通に使えるはずだが
AS付けてないとか

982:デフォルトの名無しさん
18/09/13 03:15:45.30 liq2Qruq.net
DAO経由じゃないとだめだったかも

983:デフォルトの名無しさん
18/09/13 12:56:01.88 C2gZ+hmS.net
>>943
普通に出来るはずだぞ
どういう状況でダメになってるんだ?

984:デフォルトの名無しさん
18/09/13 13:07:05.55 C2gZ+hmS.net
>>943
サブクエリの話だよな?
自作ツールで確認したがASで普通にできてたぞ

985:デフォルトの名無しさん
18/09/14 08:17:56.50 JMy0VfN7.net
たぶん、サブクエリじゃなくて作成済みのクエリをSQL内部のFROM句やJOIN句にテーブルのように使う時にエイリアスを使いたいという話だと思うんだが、それでも普通に使えると思う。

986:942
18/09/14 11:04:12.59 cjIZJ/+q.net
みんな、ごめん。使えました。
おいらがSQLビューで書くときに、どっか間違えたみたい。
クエリのエイリアスも使えるし、サブクエリでネストも出来るし、accessって凄いね。糞長いSQLを書きたくなるね。
問題は余計な括弧がいっぱいくっつくところだよね。

987:デフォルトの名無しさん
18/09/14 12:54:33.03 cjIZJ/+q.net
またまたくだらない質問です.
UPDATEで苦労していますが,URLリンク(www.ipentec.com) に書いてある
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:デフォルトの名無しさん
18/09/14 13:41:49.29 5xDSXwp0.net
fromが無いから

989:デフォルトの名無しさん
18/09/14 15:43:10.38 cjIZJ/+q.net
>>951
FROMを書きました.下のようにしました.でも,演算子がありませんと怒られます.
UPDATE [working],[products]
SET [working].[value] = [products].[price]
FROM [products]
WHERE ((([working].[name])=[products].[name]));

990:デフォルトの名無しさん
18/09/14 15:43:55.27 cjIZJ/+q.net
これも同じように怒られます.
UPDATE [working]
SET [working].[value] = [products].[price]
FROM [products]
WHERE ((([working].[name])=[products].[name]));

991:デフォルトの名無しさん
18/09/14 18:33:15.77 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:デフォルトの名無しさん
18/09/14 20:41:59.46 cjIZJ/+q.net
>>954
上のは,更新可能なクエリであることが必要です と怒られました.
下のは成功です.ありがとうございます.
FROMを記載したコードでは出来ないというのが興味深いですね.
クエリーと一般のSQLではコードを処理する方法がかが違うんですかね?
聞きかじりですが,オプティマイザとか実行計画とか言う奴ですかね?
次はクエリを参照するUPDATEを書かないといけないのですが,テーブルならOKでクエリでは怒られるんですよね.
URLリンク(www.10days.org)とかその他いろいろヒットしますが,VBAからSQLを発行したら出来るんですかね?
とりあえず実験します.

993:デフォルトの名無しさん
18/09/14 21:06:57.90 wdFP/Mir.net
>>952
横入だがAccessがUPDATEでのFROMを
サポートしていないという意味での「FROMがないから」
じゃないの?

994:デフォルトの名無しさん
18/09/14 21:11:41.20 wdFP/Mir.net
>>955
確かAccessはUPDATEでFROMは使えないぞ

995:デフォルトの名無しさん
18/09/14 21:32:20.19 cjIZJ/+q.net
>>957
マジすか?ありがとうございます.
SQLって方言が多いんですね. <


996:デフォルトの名無しさん
18/09/15 02:34:58.26 7Yaecm93.net
UPDATE文は特に方言が多いんだよ

997:デフォルトの名無しさん
18/09/15 11:35:48.46 AVfR6YnT.net
>>955
更新クエリに設定しろ

998:デフォルトの名無しさん
18/09/16 09:41:31.06 o5IUt/R9.net
昔はオラクルとかに直接更新クエリ実行しようとして固まってたなあ、、、
ハード性能上がった今でも固まるのかね?

999:デフォルトの名無しさん
18/09/16 16:10:48.91 qqKBC7cw.net
リンクテーブルに対して何かするのを「直接」とは言わないからな?

1000:デフォルトの名無しさん
18/09/16 18:15:18.31 HF0YmRsW.net
アスペですね

1001:デフォルトの名無しさん
18/09/16 19:05:43.00 8jdJAOdP.net
それ以前に、ハード性能で固まったことなんてないんだが
単に遅いだけで固まったって言ってるのかね

1002:デフォルトの名無しさん
18/09/16 19:27:12.80 yPlmt9/8.net
>>964
初代ペンティアムマシンでAccess97で動かした事無い人かな

1003:デフォルトの名無しさん
18/09/16 20:39:37.56 fj0Djq38.net
>>965
それは何自慢?俺は20年前からACCESS やってるベテランだぞすごいだろう?

1004:デフォルトの名無しさん
18/09/16 22:05:06.06 8jdJAOdP.net
>>965
だからそれは単に遅いだけだろうと言ってるんだが
ついでに言えば、ACCESSで外部DBMS使うときに一番気を付けるべきは回線の速さだがな
その環境でも、100MのLANならそれなりに快適だったわ

1005:デフォルトの名無しさん
18/09/17 17:09:58.71
単に遅いだけって言うけど、10分間「応答なし」になったら? 1時間なら? 1日なら?
それでも固まったって言わない?

1006:デフォルトの名無しさん
18/09/17 18:07:40.72 l9KryutO.net
486DXでAccess95とか動いたっけ

1007:デフォルトの名無しさん
18/09/17 19:52:07.58 3YPJfo/c.net
多分動いたと思う。
ペンティアム90では確実に動いた。
当時486DX100マシンにOffice入れてたと思うんだが、そのマシンでAccess動かしたかどうかで記憶が無い。

1008:デフォルトの名無しさん
18/09/18 01:29:37.70 Bq/PEIsn.net
Windows95が動いてたからOFFICEの95も動いてたと思う

1009:デフォルトの名無しさん
18/09/18 19:14:26.16 32W6TMTL.net
マハーポーシャの思い出しかないわ

1010:デフォルトの名無しさん
18/09/18 21:06:59.49 Y+CFjjh5.net
>>972
出張でアキバ行ったらチラシ貰った。あんな事件起こすなんて夢にも思わず、スペックのわりに安いじゃんなんて思ってたわ。

1011:デフォルトの名無しさん
18/10/15 12:32:08.29 UJZpBNX3.net
DAOでmdbに接続して、フォーム上のコントロールボタンのCaptionを大量に一括変更したいんだけど、できるかな?
データーベースオブジェクトのメンバーのリストを眺めてもフォーム関連がないので、だめなのかな?

1012:デフォルトの名無しさん
18/10/15 13:28:15.42 L3fZFxj5.net
>>974
COMオブジェクト生成で
Application→Forms→Form→Controls→Control
ってたどる感じかな
最近どうなってるか知らん
URLリンク(docs.microsoft.com)(v=office.11)

1013:デフォルトの名無しさん
18/10/15 19:00:25.28 UJZpBNX3.net
リンクが死んでいて読めません。
ネット探しても情報が見つかりませんね。
パッチを当てるときに便利な気がするのですが…
私が知ってるパッチはモジュールやフォームを入れ替えるものばかりですが、一部編集みたいなことが出来ると便利な気がしますがどうでしょうか。
コードを1行書き換えとか出来ると便利な気がしますが、リスクもありそうですね。

1014:デフォルトの名無しさん
18/10/15 23:32:47.15 L3fZFxj5.net
>>976
MSのURLは2chのリンク表示と相性が悪いからクリック
カッコまで全部


1015:コピーしてブラウザに貼りつけないと付けると飛べるぞ ラベルを外部リソースにしてフォーム側で呼び出すのが正攻法な気がするが 多言語対応とか



1016:デフォルトの名無しさん
18/10/16 07:11:10.97 o1jBtF96.net
DAO で接続じゃなぁ

1017:デフォルトの名無しさん
18/10/16 19:50:00.82 nNSV5Ror.net
接続は別になんでもいいです。

1018:デフォルトの名無しさん
18/10/22 12:14:49.52 9BvHUkZ3.net
マクロの編集をVBAで出来ませんかね?バージョンアップの際にカスタマイズ済のAutokesyを再現したいもので。

1019:デフォルトの名無しさん
18/10/23 14:44:19.48 qJAZHzzr.net
>>980
出来る、何年か前に前の勤め先でやったわ
あまり覚えてないが、VBEにアクセスする方法があって
それで出来たと思う
ググりながらやった覚えがあるからググれば
何かヒントが出てくると思う

1020:デフォルトの名無しさん
18/10/23 17:12:08.69 D922t3yz.net
>>981
saveastextですね。あれ、最近のoffceだとゴミコードが1行あって、そのままでは読み込めないんですよね。

1021:デフォルトの名無しさん
18/12/04 21:13:39.22 TBSeaia1.net
業務用ソフトでどこからもGOTOされていないラベルがあるんだけど、作った奴は馬鹿なのかな?

1022:デフォルトの名無しさん
18/12/05 13:19:49.01 2sSegHBZ.net
いくらでもある

1023:デフォルトの名無しさん
18/12/05 14:21:48.59 8B064Egy.net
そうですか…
宣言だけして使わない変数や、空のプロシジャー、その空のプロシジャーを呼び出す無意味なプロシジャー、戻り値を変数に格納だけしてなにも利用しない関数とか意味不明なことが多くてPGの世界ってカオスなんだな。
リーダブルコードとかだと絶対に怒られるようなことが目白押しだわ。

1024:デフォルトの名無しさん
18/12/05 14:51:15.50 2sSegHBZ.net
理想と現実は違う

1025:デフォルトの名無しさん
18/12/05 15:58:58.90 Tdi7Zg1z.net
そう、動きゃいいんだから
見た目なんか気にしてたら絶対に間に合わない

1026:デフォルトの名無しさん
18/12/05 17:29:29.08 8B064Egy.net
なるほど…
カスタマイズしている方からすると添削をしているよう気分になりますね。
稼働しているコードの何倍もあるコメントアウトされた過去コードとかあって、正にべからず集みたいなもんですね。

1027:デフォルトの名無しさん
18/12/05 17:34:49.19 kX9gokKe.net
実際問題
中身はgdgd
URLリンク(www.filemaker.com)

1028:デフォルトの名無しさん
18/12/07 12:18:56.42 RZ2R69DU.net
>>989
FileMakerはスクリプト(マクロ)しか無いからな

1029:デフォルトの名無しさん
18/12/07 18:12:05.49 Uga2tmpi.net
>>990
両方そなわってたら、Accessを潰せてたのにね。

1030:デフォルトの名無しさん
18/12/10 21:20:32.74 WdAp4299.net
マクロのAutokeysが急にキーを取りこぼすようになった。F1を押すとプロシジャーの実行をしてくれないでHELPが立ち上がる。
F2等をおしても無反応になってしまった。officeのアップデートが原因かな?WIN7とAccess2016の組み合わせなんだけど分かる人いますか?

1031:デフォルトの名無しさん
18/12/11 13:04:58.28 eQLW3H68.net
Access最近アプデしてないな
古いのまだ使ってる

1032:デフォルトの名無しさん
18/12/11 18:13:25.39 fkccCnsx.net
>>993
2013使ってるならアプデする意味がほぼないし

1033:デフォルトの名無しさん
18/12/11 19:29:38.35 cP19L9C3.net
20年くらい前はAccessファイルはいつ壊れるかわからない。
って言われてたけど、いまってどうなの?

1034:デフォルトの名無しさん
18/12/11 21:03:35.30 OP7GyNdd.net
>>995
今は壊れることはなくなったよ。

1035:デフォルトの名無しさん
18/12/11 21:35:29.03 kFp89+PJ.net
いつの間にかデータ�


1036:Aクセスページなくなったの?



1037:デフォルトの名無しさん
18/12/11 23:24:33.12 ADs7qBab.net
>>995
同じだと思うよ。いつもは動くプロシジャーが変な挙動するようになってそのうち、フォームが全部消えちゃうとか何度もあった。というかこの1週間でもあったよ。本当にポンコツだよ。
とはいえ、ここまでカスタマイズが自由に出来るDBって他に無いような気がするけど、どうなんだろう。

1038:デフォルトの名無しさん
18/12/12 00:19:48.14 GF6Qf3Td.net
WindowsFormの不自由さにはびっくりしたな

1039:デフォルトの名無しさん
18/12/12 10:51:22.24 I3Mp/+TW.net
いまはIMEの辞書が良く壊れるイメージ

1040:デフォルトの名無しさん
18/12/12 10:53:08.65 I3Mp/+TW.net
>>998
小規模のシステムでも
テーブル用のmdbとフォーム用のmdbを分けて
リンクで管理すると壊れるケースはかなり減った

1041:デフォルトの名無しさん
18/12/12 10:53:27.51 I3Mp/+TW.net
次スレはよ

1042:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2500日 11時間 59分 41秒

1043:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


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