Page 46 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼インストール支援プログラムについて やや 02/9/30(月) 10:27 ┗Re:インストール支援プログラムについて イケガミ 02/9/30(月) 10:40 ┗Re:インストール支援プログラムについて やや 02/9/30(月) 11:22 ─────────────────────────────────────── ■題名 : インストール支援プログラムについて ■名前 : やや ■日付 : 02/9/30(月) 10:27 -------------------------------------------------------------------------
初めまして。最近Accessの作業し始めたばかりのものです。 あちこち探しているのですが、分からない事があるので、質問させてください。 クエリ・レポートのインストールを支援するプログラムを作りたいのですが、 コードで不安なところがあります。 作業イメージはこんな感じです。 実行ボタンが押されたら、 0.未入力かファイルがない時はエラーとする。 1.確認メッセージ(実行しますか?) 2.自分のmdbから、aで始まるテーブル・クエリ・レポートを消す。 3.入力されたmdbから、aで始まるテーブル・クエリ・レポートをインポートする。 4.終了メッセージ (okの時はokのメッセージ。失敗の時はエラーメッセージ) キャンセルボタンが押されたら、この画面を消す。 というようなものを作りたいのです。 お忙しいと思いますが、ご意見いただけませんでしょうか。 どうぞ宜しくお願います。途中までしか出来ていないのですが、下がコードです↓ Option Compare Database Option Explicit '---------------------------------------- 'インストール支援プログラム実行_Click 'テーブル・クエリ・レポートを列挙して消去する '---------------------------------------- Private Sub 実行_Click() MsgBox prompt:="インストール支援プログラムを実行しますか?", title:="メッセージ" End Sub '実行ボタンが押された時の処理_確認メッセージ Public Sub QueryList() Dim db As DAO.Database Dim qdf As DAO.QueryDef Set db = CurrentDb For Each qdf In db.QueryDefs If Left(qdf.Name, 1) = "a" Then 処理 db.QueryDefs.Refresh End If Next qdf Set db = Nothing End Sub 'aで始まるクエリを列挙します。 Public Sub TableList() Dim db As DAO.Database Dim doc As DAO.TableDef Set db = CurrentDb For Each doc In db.TableDef If Left(doc.Name, 1) = "a" Then 処理 db.Table.Refresh End If Next doc Set db = Nothing End Sub 'aで始まるテーブルを列挙します。 Public Sub ReportList() Dim db As DAO.Database Dim doc As Document Set db = CurrentDb For Each doc In db.Containers("Reports").Documents If Left(doc.Name, 1) = "a" Then DoCmd.DeleteObject acReport, doc.Name db.Containers("Reports").Documents.Refresh End If Debug.Print doc.Name Next doc Set db = Nothing End Sub 'aで始まるレポートを列挙します。 Public Sub FormList() Dim db As DAO.Database Dim doc As Document Set db = CurrentDb For Each doc In db.Containers("Forms").Documents If Left(doc.Name, 1) = "a" Then DoCmd.DeleteObject acForm, doc.Name db.Containers("Forms ").Documents.Refresh End If Debug.Print doc.Name Next doc Set db = Nothing End Sub 'aで始まるフォームを列挙します。 長々とすみません。宜しくお願いします。 |
> 初めまして。最近Accessの作業し始めたばかりのものです。 > あちこち探しているのですが、分からない事があるので、質問させてください。 > クエリ・レポートのインストールを支援するプログラムを作りたいのですが、 > コードで不安なところがあります。 > 作業イメージはこんな感じです。 別の掲示板から引っ越してきたようですが。。 ややさんは、どこができていて、どこができていないのか分かっていますでしょうか? それが、わからないと、作業も進まないと思いますけど。。 ひとまず、フォーム・レポートについては、完成していると思いますけど。。 あとは、実行するルーチン(コマンドボタンクリック時イベント)に、 Call ReportList() のように組み込むだけですね。 テーブル・クエリに関しては、恐らく削除の部分を「処理」のところに 入れてやるだけでいいと思いますので、上記(ReportList)の処理を参考に 記述してください。 どのコードが何の処理をしているのか分からない場合は、ひとまず、 分からないところにカーソルを置いて、F1 を押すとヘルプが表示されますので、 それぞれ確認してください。 (なんとなく、どういった処理をしているのかを確認するだけでも 理解度が違ってきますので。。) |
ありがとうございました。 なかなかどうしていいか分からない状態だったので、 まさに聞きたい事を教えてくださっていました。 がんばれそうです。 ありがとうございました! |