【2:56】Access総合相談所 其の19 【桐にしとけ】- 1 名前:ビートたけし 2008/07/17(木) 20:18:58
- ACCESSに関する質問はこちらへ!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ ★ OS、ACCESSのバージョンを明記してください。 ★ 質問内容は具体的に書いてください。 ・何がしたいのか ・どんな処理を試したか ・動作状況など駄目な理由 テーブル/フォームの構成、クエリ、VBAの内容など差し支えない 範囲で詳しく書くと、早く回答が得られるかもしれません。 図解があれば尚良し。 聞き返さなくても詳細が把握できる質問が望ましいです。 ★ 事前にヘルプ・Google等で調べられる範囲は調べてください。 大概の疑問は検索することで解決します。 ★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。 ギブアンドテイクで情報を共有しましょう。 ▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【 システム環境 . 】 Windows**, Access** 【 VBAが使えるか .】 はい・いいえ 【 VBAでの回答 】 可・否 【 検索キーワード 】 Googleやヘルプでの検索キーワード 前スレ ACCESS総合相談所 その18 【桐にしとけ】 http://pc11.2ch.net/test/read.cgi/bsoft/1198885955/ 桐はこちら↓ 管理工学研究所「桐」【4】 http://pc11.2ch.net/test/read.cgi/bsoft/1100708378/
- 47 名前:46 :2008/07/22(火) 20:35:39
- 。。。と漏れが思っていただけで、特に根拠は無いことに気付いた。
- 48 名前:名無しさん@そうだ選挙にいこう :2008/07/22(火) 22:54:03
- >>42
ボトルネックが分からないから、とりあえず思いつく範囲で。 データを取得しない分、SQL 投げた方が早くなるとは思うけど。 ・キーで特定のデータを開くときにインデックスが使用されているか?使用されてないなら使用を検討。 ・レコードセットを排他ロックで開いていないか?排他ロックしている場合は共有ロックを検討。 ・更新するデータを一度に取得してバッチで更新できないか検討。 (ADO ならCursorLocationを adUserClient として、LockTypeを adLockBatchOptimisticで開く)。 例えば SELECT ... FROM ... WHERE a IN (1,2,3,...) ORDER BY a のようにレコードセットを開いて更新。 ・フィールド数が多い場合は列インデックスを使用してフィールドにアクセスできないか検討。 sql(1) = mdb(1) (バッチ更新の場合は更新ループ前に参照を作成して、それ経由でも可。 Dim fA(1) as ADODB.Filed Set fA(0) = sql("a") Set fA(1) = mdb("a") Do Loop ... (省略されました・・全てを読むにはここを押してください)
- 49 名前:名無しさん@そうだ選挙にいこう :2008/07/22(火) 23:47:45
- SQLServerへのデータ転送が.Netで上手く出来てるのであれば
それはそれでいいのでは? Accessは印刷専用ツールとして別に使えばいいんじゃね?
- 50 名前:ビートたけし :2008/07/23(水) 00:25:03
- >>49
Accessは、ほんと、レポート機能が一番好きだ。 もうちょっとだけ、フロントエンドの機能が増強してくれるなら嬉しいんだけれどね。 Visual Basicのようにもうすこしだけ、コントロールが欲しい。
- 51 名前:36 :2008/07/23(水) 09:55:10
- >>44
なるほど。 たしかに考えてみると、レコードセットのような仕組みよりも SQL文を投げるやりかたをする方が一般的な気がしてきました。 本当はパラメータークエリがもう少し使いやすければいいのですけどね。 >>48 キーは主キーなのでインデックスは使われていると思います。 バッチで更新というのは盲点でした。 IN (1,2,3...) で一気に呼び出すというのは考えていませんでした。 でも、キーが2つのフィールドで構成されているので今回は難しいですが。 でも、バッチで更新は試してみたいと思います。 >>49 .Netを出したのは、それでもできないこともないということで、 業務で使うツールを作るにあたっては、やはりAccessのほうが (省略されました・・全てを読むにはここを押してください)
- 52 名前:名無しさん@そうだ選挙にいこう :2008/07/24(木) 14:51:08
- Access2003を使用しています。
Access2000でしたら、adpファイルでSQLServerのストアドプロシージャを編集する際に コメントの部分のフォントが緑色になったと思うのですが、2003だと黒一色になってしまい コメント部分と非コメント部分の見分けがつけにくくなってしまいました。 [ツール] → [オプション] を見てみてもどこの設定をいじれば良いのかわかりませんでした。 ストアドプロシージャのコメント部分の文字色はどのようにすれば変更できますでしょうか? もしくは変更できなくなってしまっているのでしょうか? どうぞよろしくお願いします。
- 53 名前:名無しさん@そうだ選挙にいこう :2008/07/24(木) 16:43:33
- >>52
普通にVBEのメニューから ツール->オプション->エディタの設定 の コードの表示色 で「コメント」の「前景」を緑色にする。
- 54 名前:52 :2008/07/24(木) 17:50:40
- >>53
VBEではもちろんコメントの前景色は緑になっています。 すみません、VBEでの話ではなくて、データベースウィンドウっていうんでしたっけ? 「テーブル」 「クエリ」 「データベース ダイアグラム」 「フォーム」 : ってあるところで「クエリ」からストアドプロシージャを新規作成したり編集したりできるじゃないですか? そこでのフォント色の話なんですけど... 説明が足りてなかったみたいで申し訳ありません。
- 55 名前:名無しさん@そうだ選挙にいこう :2008/07/25(金) 09:48:05
- クエリのSQLエディタはクソだからね〜
そもそもそんな機能あったっけ?もともと真っ黒な気がしないでもない。
- 56 名前:名無しさん@そうだ選挙にいこう :2008/07/26(土) 02:13:38
- 教えてください。
レポートのテキストフィールドに検索結果を連結して表示させたいです。 そんなに難しくないと思っているのですが、クエリーでできない。 VBAで組んでしまえば良いのですが、できればクエリーで解決したいです。 【 システム環境 . 】 Windows XP Pro Access Ver2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 否 【 検索キーワード 】 Access 検索結果 連結, Access 文字列 連結 下のように列Aから検索した結果を,区切りで1つの文字列にしてレポートで表示したいのですが、 どのようにすれば良いのか教えてください。 列A ----- AAAA (省略されました・・全てを読むにはここを押してください)
|