Access VBA 質問スレ Part1

■ このスレッドは過去ログ倉庫に格納されています
2012/02/06(月) 22:53:46.88
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
http://toro.2ch.net/test/read.cgi/tech/1327763113/l50
592デフォルトの名無しさん
垢版 |
2016/02/24(水) 23:35:39.37ID:UmTzYcDx
日常的にAccessのピボットテーブルをCtrl+A Ctrl+Cして
Excelに貼り付けてるんですが
これをVBAできませんでしょうか
2016/02/25(木) 10:52:35.16ID:xnX4JkuY
できますん
2016/02/25(木) 13:16:09.91ID:W1s9bb7v
>>592
Googleスプレッドシートは簡単に関数でソレが実現できます。

ちなみに、Accessでは「貼り付ける」行為は出来なくはないです。ただ、オートメーションでやる
ならそういうことになりますが、普通はExcel上でピボットを作成スべきでしょう。
595デフォルトの名無しさん
垢版 |
2016/02/25(木) 22:25:15.86ID:DG6YFXpT
>>593
もうすこしヒントを
どのオブジェクトプロパティをいじればいいとか
2016/02/26(金) 15:13:34.90ID:VQGl6zaq
VBAで
2016/02/26(金) 18:31:07.27ID:A3HYqZte
全選択なら単にエクセルにエクスポートすればいいんじゃないの?
598デフォルトの名無しさん
垢版 |
2016/03/04(金) 22:35:15.49ID:KUnf3VuC
質問 Access2010
突然、フォームのデータシートビューで列を入れ替えてもその状態が保存されないようになってしまいました。
いろいろと原因を調べてみるとOpenやLoadイベントでフィルター設定を行うとそんなトラブルが起こってしまうようなのです。

Private Sub Form_Open(Cancel As Integer)
 Me.Filter = "ID>3" '例
 Me.FilterOn = True
End Sub

皆さんの所でも再現出来ますでしょうか
ちなみに自宅のAccess2002ではこういった異常な動作は起こりませんでした
またこれって有名なバグとかなんでしょうか
2016/03/24(木) 22:15:00.25ID:aSgI1iJJ
access 2010
windows7

DoCmd.OutputTo acReport,
2016/03/24(木) 22:16:25.19ID:aSgI1iJJ
access 2010
windows7

DoCmd.OutputTo acReport, "hoge_table", acFormatXLS, "C:\hoge.xls"

レポートファイルをxlsへ出力するときに
「実行時エラー 2587 出力が完了できません」が
出てきてしまいます。

実行時エラー2587を検索しても情報が出てこない為、
困っています。

どなたか何が原因かわかりますでしょうか?
先月までは機能していたんですが、
今月から急に上記エラーが出てくるようになりました。
2016/03/25(金) 13:31:48.84ID:ctOehyRA
プリンタが変わった レポートの書式が変わった(文字コード系)
再インストールで復帰した  というようなresが 英語のフォーラムだけど

手動でエクスポートした場合も同じエラーかどうか
ん?レポートファイルをxlsへ? "hoge_table" テーブルをxlsへの間違い?
テーブルをcsv出力してxlsなら?   とかいろいろ
2016/03/25(金) 16:30:30.08ID:e4gujGfG
データが増えてリソース不足、ってのが一番考えられる理由だけど
何のリソースかはわからんが

もうちょっと詳細なエラー内容ないのかね
603デフォルトの名無しさん
垢版 |
2016/03/25(金) 21:03:03.83ID:WqFryHCY
今、先月のhoge_tableをoutoputしたらどうなの
604デフォルトの名無しさん
垢版 |
2016/04/27(水) 21:09:35.11ID:KUAYo6wN
フォーム上でリストボックスを選択すると、その他のテキストボックスに値が入る仕組みってどうやったらできますか?
2016/04/27(水) 23:03:47.34ID:Sazji9Gw
Me.[その他のテキストボックス] = Me.[リストボックス].Value とか
Me.[その他のテキストボックス] = Me.[リストボックス].Column(n) とかを
リストボックス クリック時イベントに仕込む うろ覚え
606デフォルトの名無しさん
垢版 |
2016/04/28(木) 01:08:29.45ID:ybePhPhs
>>605
後者の場合で、表示させたデータを別のテーブルに保存させるにはどうすればいいですか?
2016/04/28(木) 09:47:32.29ID:wel45o+X
ワークテーブルに入れるなりしてSQLとか追加クエリとか
2016/04/28(木) 17:15:09.15ID:iPy/jEF0
>>604
リストボックスのコントロールソースをテキストボックスのコントロールソースにも指定
もしくは
テキストボックスのコントロールソースにリストボックス自身を指定
リストボックスのみ編集可設定
2016/07/12(火) 06:40:44.26ID:o2wIdsaQ
ExcelのシートからADOでデータ取り込みをやろうとしてます
ルックアップで別のテーブルを参照しているフィールドを持つテーブルにレコードを追加したいのですが
具体的にはExcelシートには都道府県名が文字列で入っていて
Accessのテーブルは都道府県名は別テーブルを参照して数値で持っています

色々試してみたのですが 追加先テーブルの数値型のフィールドには数値しか入力できず
参照している先のテーブルの"東京都"などの文字列データはUpdateでエラーが出ます
(あたりまえでしょうけど)

こういった参照先データで入力したい場合 なにか良い方法があるのでしょうか?
2016/07/12(火) 16:15:23.94ID:/KovKhYj
別テーブルを参照して数値を入れる
2016/07/12(火) 19:00:20.62ID:o2wIdsaQ
>>610
やっぱり それしか無いですかね
何万行もあったから データ入力する度に別テーブルのFindFirstとかやってID見つけるの
コスト凄いかと思ってたんですが
やってみたら それほど時間かからなかったです
2016/07/12(火) 21:49:03.75ID:hENPvfBC
都道府県名が入ってるシートって郵便番号のあれですかね
まぁ質問の意味がよくわかんないから無視して結構です
2016/08/24(水) 19:34:34.65ID:3q4Jyrt7
SQLでテキストデータを取り込む時、ヘッダー行を任意の位置で指定する事は出来ますか?
読み込もうとしているcsvファイルのヘッダー行が3行目なので、この位置から読み込ませたいのです。

色々調べたんですが、外部データベースを取り込む際のキーワードがなかなか出てこず苦戦しています。
2016/08/24(水) 21:33:54.83ID:XY92uhDq
開始行を含めるか含めないかしかなかった様に思う。
取り込んでしまってからヘッダー行を消すSQL実行したらはやいかも。
2016/08/24(水) 22:13:48.17ID:3q4Jyrt7
>>614
ありがとうございます。
HDR=Noか、もしくはVBAで処理する様にします。
616デフォルトの名無しさん
垢版 |
2016/09/29(木) 17:49:20.39ID:Z3hVyFqu
SQLで質問ですが、
select * from DATATBL group by NAME
こんな感じで集計させても結果が0になってしまうのですが、書式間違ってますか?
ちなみにC++BuilderからMicrosoft.Jet.OLEDB.4.0でmdbファイル操作してます。
2016/09/29(木) 18:41:58.74ID:2yQBgN/R
select NAME, COUNT(*) from DATATBL group by NAME
618デフォルトの名無しさん
垢版 |
2016/09/29(木) 18:55:56.52ID:Z3hVyFqu
>>617
返答ありがとうございます。
しかしながら selectでNAMEのみを指定すると項目が足らんみたいなエラーが出てしまいます。
select *, COUNT(*) from DATATBL group by NAME
こうするとエラーは出ませんが、結果はやはり0になってしまいます
2016/09/29(木) 19:18:38.30ID:Z3hVyFqu
>>617
すみません、他の箇所でエラーが出ていました。
正常にselectする事ができました。ありがとうございました。
620デフォルトの名無しさん
垢版 |
2016/09/30(金) 11:38:14.95ID:tD6+ktpC
またSQLで質問ですが、
DATEでソートしてからNAMEをグループ化したいので
select NAME from (select * from TESTTABLE order by DATE) as group by NAME
上記のようにしたのですが結果が0になってしまいます。
何処が間違ってますか?
2016/09/30(金) 11:43:24.10ID:tD6+ktpC
あ、as取ったらいけました
2016/09/30(金) 13:45:49.20ID:VqVPXDNJ
GROUP BY 後の順序は保証されてなかったと思う
確実にやるならグループ化してからソート
2016/09/30(金) 13:59:26.62ID:4mQfWuIk
いいかげんスレチ
624デフォルトの名無しさん
垢版 |
2016/10/01(土) 18:16:06.96ID:94YBKalt
すみませんが教えて下さい。

Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate
625デフォルトの名無しさん
垢版 |
2016/10/01(土) 18:24:50.88ID:94YBKalt
すみませんが教えて下さい。

Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate で正常にページが表示されています。

そのフォームを右クリックでデザインビューに切り替えると以下のエラーが出来ます。

StatusTextChange でエラーが発生しました(以下略)

ちなみに×ボタンで普通に閉じるとこのエラーは発生しません。
Access2016でも同様でした。

ご存知の方がいらっしゃいましたらお願い致します。 
626デフォルトの名無しさん
垢版 |
2016/11/10(木) 12:17:09.05ID:MJMdCBmm
sendobjectでレポートをPDFで添付して送ろうとすると
添付されたファイル名が・.pdfになるのは仕様ですかね?

ACCESSとOutlookは2013です
ただAccessのファイルはmdb形式
2016/11/10(木) 12:51:09.43ID:dxAJlx69
どうしたいの?
2016/11/10(木) 13:28:54.05ID:MJMdCBmm
添付ファイルが"元となったレポート名".pdfになるのかと思っていたのだけど、違うのかなという疑問
2016/11/10(木) 13:29:38.75ID:dxAJlx69
それで通じるとかマジで思ってる?
2016/11/10(木) 14:01:21.25ID:lT3NS9hL
通じないか…すまん

Docmd.Sendobjectを使ってレポートをPDFに変換してメール送信したい

実行はできているが、変換されてメールに添付されたファイル名が・.pdfになってしまう。
これがなぜ・になるか知りたい。
レポートのオブジェクト名は・ではない。
日本語名がNGなのか?
2016/11/10(木) 14:37:03.21ID:dxAJlx69
そう思うなら ASCII のファイル名とか UTF-8 のファイル名試してみれば?
2016/11/10(木) 14:38:13.94ID:uCLe8e7d
>>630
MIMEでiso-2022-jpとかにしてみ
2016/11/10(木) 20:01:07.80ID:lT3NS9hL
レポートの表題がファイル名になることがわかった。
レスくれた方ありがとう。
2016/12/28(水) 11:38:08.54ID:qa9jiDer
?Eval("'山ー田' Like '*山田*'")
-1

何で?

Win7x64+Acs2010
2016/12/28(水) 12:22:36.72ID:JT952dSj
>>634
そりゃ真ん中に入ってるからだと思うが。
2017/01/01(日) 18:08:01.09ID:T039qKRQ
-1はTrueだから一致することについて疑問に思ってるのでは
2017/01/01(日) 20:32:48.66ID:F1PmU62+
>>634
Evalの引数が単なる文字列として認識されてるからかも

?Eval("山ー田" Like "*山田*")

だと期待する結果になる
2017/01/01(日) 20:35:20.03ID:F1PmU62+
すまん環境書き忘れた
Win10 x64, Access2016 32bit
2017/01/01(日) 22:05:32.13ID:5bQycJKK
文字判定だから、アクセント無視で長音記号が無視されてるだけだと思ったけど
?Eval("'山xー田' Like '*山田*'")
も-1だな
?Eval("'山ーx田' Like '*山田*'")
は0だった
長音記号無視するルールになんかあるのかもしれん
2017/01/02(月) 21:00:22.06ID:Qo2R7jJK
クエリでもヒットしちゃうな。
641デフォルトの名無しさん
垢版 |
2017/01/04(水) 15:01:47.06ID:rtXdgiQY
利用環境
access2010
Windows7

上記環境で同時接続400人程度のファイルを作成しようとしています
管理者2〜3人が100〜1000件程度のレコードを編集しながら
400人程度が編集したレコードを参照。参照後に自動で既読フラグを
access内のテーブルに入力する仕組みです

上記イメージで利用する場合、400人が同時に既読情報を
DBに対して入力することになります。
(実際は入力するタイミングがずれるので同時編集は
多くて100人程度になりそうです)
Accessは負荷に耐えきれるのでしょうか?
400人の既読情報を40個のテーブルに分割して
リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?

社内セキュリティの制約でAccessしか利用が出来ない状態なので
他のツールを使用することは出来ないです

お手数をおかけしますが、お分かりの方がいらっしゃれば
ご教授をお願い致します
2017/01/04(水) 15:08:19.02ID:XZra0ySO
全員が同じaccess開くならやめとけ

>400人の既読情報を40個のテーブルに分割して
>リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?

そこまで分けなくても
テーブル専用mdbと参照専用mdbに分けて
参照専用mdbを400人全員ローカルに置く
参照専用mdbからテーブル専用mdbにリンクするだけでいいんじゃね
2017/01/04(水) 15:25:42.45ID:JR/sdM0U
>>641
そこまで社内セキュリティにうるさい会社で勝手にやっていい範囲のシステムだとも思えんけど

>Windows7
この時点で、ライセンス違反の可能性が非常に高い
おそらく同時接続制限もかかる

フロントエンドはアクセスでもいいけど、どう考えてもバックエンドにまともなDB入れるべき
てか利用者400人のシステムで「同時」書き込み100とかなかなか行かないけどな
たぶんライセンス無視すれば>>642のやり方で行けるだろ
ほんとに同時書き込みが100あるならACCDBみたいなファイル共有型のDBじゃ無謀
2017/01/04(水) 15:58:00.68ID:TNTuXRka
>>642
返信ありがとうございます
「400人全員のローカルに参照専用ファイルを保存する」
ということが社内環境上、難しいです
また、参照専用ファイルを修正して差し替える場合に
大変な労力がかかる可能性があるので、可能であれば
参照専用mdbを、共有サーバに配置して
400人で開いてもらい、テーブル専用mdbに対して
入出力する方法が取りたいです

400人で参照専用mdbを開くということは無謀でしょうか?


>>643
返信ありがとうございます
ライセンス違反の可能性は考慮していませんでした
調べて見ます
未読状態のものは赤表示にしようと考えている為、
テーブルから未読/既読状態のデータを読み取ることもあります
開いた瞬間に既読フラグを付けるだけのシンプルな入力なので
確かにおっしゃる通り100人で同時に書き込みがあることは
ないですね。恐らく多くて20〜30だと推測します

参照専用mdbからテーブル専用mdbに入出力する場合は
「テーブルリンク機能を使う」ということでしょうか?


仕事中なので返信が遅くなってしまいます
申し訳ありません
2017/01/04(水) 16:06:47.19ID:kAiTvQKX
未読とか既読フラグは400人全員が個別に持つんだろ?
だったら400人分mdb持った方が多い日も安心
2017/01/04(水) 16:53:55.47ID:JR/sdM0U
>>645
利用者各々が自分の既読が分かれば良いだけならそれで良いけど
管理者が誰が未読か知りたいとか既読者の一覧出せとかいう要件があると
結局既読フラグは集中管理する方が楽

まあどっちにしてもプログラム用のMDBは各ユーザに配るべきだが
647デフォルトの名無しさん
垢版 |
2017/01/04(水) 16:58:07.53ID:ZppiaYb0
accessでやる案件じゃないな
2017/01/04(水) 17:01:26.69ID:JR/sdM0U
>400人で参照専用mdbを開くということは無謀でしょうか?
アクセスのDBは基本的にはファイル共有で動作してる
共有サーバどうする気か知らんが、その共有サーバで実際に400人でファイル同時オープンしてみ
それで問題なさそうなら真剣にmdb共有検討してみても良いかもしれん
2017/01/04(水) 17:29:52.12ID:geFs4Pus
>>648
仰る通り、管理者用に作成しようとしているツールです
ゆくゆくはアンケートを取るようにして、
400人のユーザの傾向分析などに使おうと思っています


> アクセスのDBは基本的にはファイル共有で動作してる

ファイル共有で動作している事で、同時に複数人で
mdbを開くと負荷が大きくなるということでしょうか?

> 共有サーバどうする気か知らんが、その共有サーバで実際に400人でファイル同時オープンしてみ

この部分が最大のネックで、テストが出来ない環境なんです
2017/01/04(水) 23:07:33.39ID:Hrm6AnDP
社内セキュリティで制約厳しいのに 仕事中に2chで相談  阿呆らし  アホじゃ無いよ、阿呆だよ
2017/01/04(水) 23:09:47.67ID:J+uePkPh
釣りには反応しないことにしている
2017/01/05(木) 04:36:33.99ID:n6wSBZKS
>>649
mdbですよね?
データ量にもよりますが同時セッションでせいぜい数人です
同時でないにせよ400人はAccessの要件じゃないです
ほぼ確実にmdb壊れますよ
2017/01/05(木) 13:00:18.18ID:UOU5yV0Y
>>652
ありがとうございます
同時にたくさんのユーザで開くことが現実的でないのであれば
下記方法を検討してみようと思います。

・共有サーバーに起動用mdbを1個。参照用mdbを40個。テーブル専用mdbを7個設置。
・全ユーザーは起動用mdbからIDによって振り分けられた参照用mdbに移動。
(400人に対して参照用mdb40個なので、
10人単位で参照用mdbを割り当てる)
・各参照用mdbからテーブル専用mdbに入出力を行う
(既読フラグの入力。既読状態を読み取って参照用mdbの
フォームに既読の表示をする)
2017/01/05(木) 13:07:54.05ID:2uA+A+xC
人の話を聞かないひとだな
2017/01/05(木) 13:50:12.16ID:L/jinxrk
ヴァージョン管理は何が良いのかな?
実際に使っている人いますか?
2017/01/05(木) 13:58:55.25ID:UOU5yV0Y
>>654
人の話を聞いていないように見えたのであれば謝罪します
申し訳ありません
Accessで扱うには難しい案件だという事は分かりました
その難しい環境下で、どうやったら実現出来るかが知りたいです
657デフォルトの名無しさん
垢版 |
2017/01/05(木) 14:34:29.15ID:2uA+A+xC
>Accessで扱うには難しい案件だという事は分かりました

論点はそこじゃないよ
2017/01/05(木) 14:57:02.77ID:YjTG1plI
しらんがな
2017/01/05(木) 15:21:53.24ID:UOU5yV0Y
>>657
「人の話を聞かないひとだな」「論点はそこじゃないよ」
論点はどこですか?
2017/01/05(木) 16:44:07.63ID:1cxa7M6H
>>653
色々アイデアを出されておりますが400人が接続する先は「テーブル専用mdb」ですから
仮に動作したとしてもクエリ1つ投げて戻ってくるのに数十秒かかる、という事態も想定されますよ

どうしてもAccessで開発するのであれば
バックエンドをSQL Serverなどにして「参照用mdb」を各クライアントに配布する形になります
2017/01/05(木) 19:41:31.33ID:V7dbykQV
ファイルベースだとmdb以前に共有サーバの同時接続数も見積もらないといけないのでは
2017/01/05(木) 23:23:39.16ID:quCbp6zV
阿呆通り越して馬鹿か いかれてる
到底400人を超える社員を擁する企業の案件とも思えず(担当がこのレベルなんだし)
じゃあ何だ?ゲームのなんちゃら?とも思えず、僕ちゃんAccessなら少しはお上手だから
それで400人のお年寄りを騙す仕組みを思い付いたから構成教えて!なのか
なんなんだ?こいつ  ひつこいし
2017/01/06(金) 08:55:08.12ID:977IrQIJ
>>662
まずは日本語勉強しようね
2017/01/08(日) 10:59:41.54ID:tUVpbJjX
そもそも誰もWin7の同時接続数制限とか突っ込まない件
652除く
2017/01/08(日) 12:33:28.94ID:0mVP2hZ6
政治には興味ないですし
2017/01/08(日) 16:28:19.18ID:7mm8hykc
>>664
>>643で突っ込まれてるけど?
2017/01/08(日) 23:15:06.32ID:tUVpbJjX
>>666
ライセンス違反じゃなくて、もともとできんのだよ。動的パッチでも当てないと。またレジストリをいじらないと実際にはその前に限界が来る。
わからないくせに出しゃばるなよ。
668デフォルトの名無しさん
垢版 |
2017/02/16(木) 10:45:18.11ID:aBJd2B4P
Accessから参照設定なしでExcelを起動し、種々作業を行うPGを作ってます。
その際、Excelの自作関数(Function)が使えんのですが、
良い方法がありましたらご教示お願いします。
669デフォルトの名無しさん
垢版 |
2017/02/16(木) 11:30:15.28ID:KUjZVbQE
追記です。
自作関数(Function)は、=SUMのように
Excelシート上で使う関数です。
2017/02/16(木) 12:08:53.08ID:1VBkG9E6
参照しろ
671デフォルトの名無しさん
垢版 |
2017/02/16(木) 12:33:12.55ID:l4cugFFN
回答ありがとうございます。

いちおう参照設定してのテストも行ってますが、結果は同じでした。

なので困ってます。(;ω;)


ちなみに参照設定しないのは、AccessでExcelを扱う際にやっかいとなる、
残プロセスを残さないためです。
2017/02/16(木) 13:29:00.95ID:1VBkG9E6
じゃあ再定義しろ
中身はformulaでとって来れるだろ
2017/02/16(木) 13:59:57.08ID:0BcpOJQi
>>671
自作関数については分かりませんが

> ちなみに参照設定しないのは、AccessでExcelを扱う際にやっかいとなる、
> 残プロセスを残さないためです。
参照設定(事前バインディング)はコンパイル最適化とコーディングをしやすくするのが主な目的です
それが原因でプロセスが残る事は考えにくいです(そんな現象は見た事がない)
定番の「Excelオブジェクトを解放しきれていない」が原因ですよ
2017/02/16(木) 16:50:59.97ID:ha+qjoA8
えっ?使えるでしょ。
objExcel.WorksheetFunction.Sum(...
2017/02/16(木) 16:54:22.22ID:ha+qjoA8
ああ、自作関数だったか。
Application.Runじゃ出来なかったっけ?
2017/02/16(木) 17:58:12.26ID:6ZvAKcv7
>>673

その通りなんですが…
参照設定しないのが一番簡単なので。。

みなさまありがとうございました。


自作関数は諦めて、標準の関数でなんとかしました。
記述はかなり冗長になりましたが…
677デフォルトの名無しさん
垢版 |
2017/03/14(火) 15:44:05.81ID:xSphHjM7
プロシージャ内でSQLを使用する際に、

SELECT
[テーブル名].[フィールド名]…

みたいな感じで、テーブルオブジェクト全てにカギ括弧をつけてるんですが、

みなさんはどうしてますか?
2017/03/14(火) 15:52:48.60ID:vbV/Jpv3
付けてるよ
679デフォルトの名無しさん
垢版 |
2017/03/14(火) 18:46:12.84ID:hwBjOTV4
あざーっす!
680デフォルトの名無しさん
垢版 |
2017/03/15(水) 09:24:20.26ID:5k9Lj/ic
カッコなんてつけなくても
よくね?
2017/03/15(水) 11:36:01.57ID:7YWEdixI
構文エラーになるケースを避けるため
2017/03/16(木) 15:27:44.93ID:IvuT2rvG
フィールド名に全角英数字を使っている場合にカギ括弧を付けないと構文エラーになる
まあ、普通はフィールド名に全角英数は付けないけどね。
2017/03/16(木) 23:24:09.16ID:PNfj678B
いまどき、普通に日本語を使えないのかよ
684デフォルトの名無しさん
垢版 |
2017/03/23(木) 10:28:42.05ID:5Vz0tz9C
お疲れさまです。

DoCmd.RunSQL で、select結果を表示する方法ってあります?
2017/03/23(木) 11:35:43.51ID:AyyVp0Pm
あります
686デフォルトの名無しさん
垢版 |
2017/03/23(木) 12:21:55.77ID:sD6rx87L
ご教示いただけたら幸いでございます
2017/03/23(木) 12:46:28.00ID:AyyVp0Pm
948 デフォルトの名無しさん sage 2017/03/22(水) 18:27:50.62 vhfzvoEm

少し調べればすぐ分かることなんだから
聞く前にまず自分で調べなよ

949 デフォルトの名無しさん sage 2017/03/22(水) 20:02:01.65 pQEBF+SX

>>947
初心者のくせに欲張りだね君は
2017/03/23(木) 14:40:42.73ID:BfWircGx
999 名前:本当にあった怖い名無し@無断転載は禁止 :2017/03/23(木) 04:44:44.44 ID:7MjKM4Gx0

てめえか?
てめえかよ!え?
その腐った根性!
https://youtu.be/Dd9Xiqoehsc
2017/04/17(月) 10:33:15.33ID:hesGBEnq
>>684
docmdでは無いけどこちらを利用してみてはどうでしょうか?
https://m.chiebukuro.yahoo.co.jp/detail/q1043675165
2017/04/17(月) 10:45:51.14ID:hesGBEnq
・access2010
・win7
・共有サーバ上での利用
・共有サーバにaccessで作成したスターターファイル.accdbとフロントエンドファイル.accdbがあります
・accessを開くと必ず上部に黄色のバーが表示されて
「コンテンツを有効化してください」が表示されます


上記環境での質問です

1,スターターファイルを開いて、フロントエンドファイルをvbaで共有サーバ上の別のフォルダにファイル名「a.accdb」としてコピー
2.vbaでコピーした「a.accdb」を起動
3.ユーザはマウス操作で「a.accdb」の「コンテンツを有効化」ボタンを押下

3の動作をした際に「a.accdb」が必ず自動で閉じられてしまいます
2回目の起動の際には「コンテンツを有効化してください」が有効になっている為、閉じられることはありません

何が原因で「a.accdb」が自動で閉じられているのでしょうか?
またどうすれば閉じないように処理をすることが出来るのでしょうか?

恐れ入りますが、ご教示願います
2017/04/17(月) 12:24:07.44ID:BKaS1p5r
フロントエンドは各クライアントに置く
各クライアントにはRuntimeをインスコ
その状況なら、いろいろ解説しているサイトがごまんと転がってる

鯖でアプリケーションサーバー機能を持たせてないなら
鯖上のアプリを起動しようとする意図が間違っている
スターターは何だか判らん
2017/04/17(月) 13:58:30.12ID:43/Py1Cq
すみません、下記前提が抜けていました

・クライアント側はローカルへのデータ保存不可
・クライアント端末にruntimeのインストール不可

スターターはクライアントが直接フロントエンドファイルを開かない(占有)しないようにする為のファイルです

accessが閉じられてしまう原因が分かりました

Sub test()
Dim acApp As Access.Application
Dim strDBPath As String
strDBPath = "hogehoge\db1.MDB"
Set acApp = New Access.Application
acApp.OpenCurrentDatabase strDBPath
End Sub

プロシージャを抜けるとローカル変数の
acAppが無効化されてしまう為に
accessが閉じられていました
グローバル変数としてacAppを宣言することによって
閉じられてしまう事は回避出来たのですが
同じプロシージャ内に「スターターを閉じる」命令を
すると、コピーしたファイルまで閉じてしまいます

理想はスターターを起動後、
1.ファイルをコピー
2.コピーしたファイルを開く
3.スターターを閉じる
を全て実行出来るようにしたいのですが、accessVBAでは
出来ないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況