Accessプロジェクト(memo)

Accessプロジェクト (進行状況memo)

以下、新しいものを上に書き足してゆきます。
さらっと書いてありますが、成功するまでに、膨大な時間と労力を費やしています。
大量のサイトをgoogle検索し、試行錯誤をし、失敗を積み重ね・・・。
(4月12日現在、サイトにはお助けいただいておりません)

受注登録で

新規受注フォームを開くとき、
今まさにお電話をいただいているお客さまのIDで、
かつ、
受注テーブルは新規IDで、
開いたらなぁ~。

割引率の計算

新規受注フォームのサブフォームで割引率を設定すると、
すべてのレコードに同じ割引率が設定されてしまう。

ACCDEの作成

お手本のAccessを開いていたら、動作のおかしなものがあり、
いったいどうなっているのか調べたいと思ったけれど、デザインビューで開けない。
よく見ると、拡張子が、.mde になっている。
 (なるほどねぇ~。ーー;)
フリーのAccessデータベースで.mdeのものは、どういう仕組なのかを解析できないのが残念。

Access2007の場合、.accde で保存すると、以下ができなくなります。
 (Access2003の.mde = Access2007のaccde)

  • フォームをデザインビューで開く(クエリはデザインビューで開ける)
  • Visual Basicを開く など

編集されたくない、見られなくない場合にお勧め。
(詳細はこちらのMicrosoft公式サイトをご覧ください)
いったん.accdeで保存したファイルは、.accdbに戻せないので要注意です。

新規受注登録フォーム作成

顧客詳細フォームの受注登録ボタンをクリックすると、新規受注登録フォームが開く。

その際、顧客名はそのまま残して、受注IDは新しいレコードで開く。
そうすれば、手間がないのにな。
と思ったが、お手本にそういうものがなく、不可能?

新規顧客入力フォーム作成

ボタンをクリックしたときに、空欄の状態で開かれるといいなと思い、
フォームの[プロパティ]、[イベント]、[開くとき]に、以下の埋め込みマクロを設定。

  • アクション:レコードの移動
  • オブジェクトの種類:フォーム
  • レコード:新しいレコード
クイックリンク作成

ショートカットキーも使えます。

顧客情報編集フォーム

コード、都道府県、市区郡は編集不可に設定。
都道府県、市区郡は、郵便番号を編集すべし。
備考欄には、改行の方法について補足を記入。
編集した内容は、テーブルに反映される。

顧客情報編集ボタン

顧客詳細フォームにある、編集ボタンを押すと、編集フォームが表示される。
当然、開いている顧客データとマッチした編集フォームが開く。
顧客詳細フォームに戻るボタンなどがある。

顧客詳細フォーム

ヘッダーにテキストボックスを入れ、以下の式を入力。

=IIf(Nz([得意先名])=””,”Untitled”,[得意先名]& “様”)

詳細ボタン

検索で抽出された顧客のIDをクリックすると、顧客詳細が表示される。
ノースウィンド2007の埋め込みマクロを解析し、あてはめた。
Where条件式 =”[ID]=” & Nz([ID],0)

検索システム

壊れた原因が判明し、修正。
OR検索をするならば、こうしなきゃダメじゃん。どうりで。

壊れた検索システムを修復

検索システムが壊れていることに気づいた。
茨城と入力し、東京都も表示される。
こまめに別名で保存しるのでひとつずつ開いてみたら、今朝1番のバックアップですでに破壊していることが判明。
原因不明。
昨夜のバックアップバージョンに、きょう作ったクエリやVisual Basicなどをインポート。
検索システム復活。

顧客詳細フォームの作成

全画面で開きます。
上に顧客情報(所在地など)が一覧で表示され、
下にサブフォームとして、受注履歴(商品、数量、金額など)の一覧が表示。

読み取り専用。編集不可に設定。
編集したい場合は、顧客情報編集ボタンをクリック。

[メインパネルに戻る]ボタンを作りました。

メインパネル

顧客検索のボタンをクリックすると、顧客検索フォームが開く。
顧客検索フォーム内の「トップページへ」というボタンをクリックすると、
顧客検索フォームを閉じて、メインパネルに戻る。
それぞれのフォームは、最大化&ポップアップの状態で開く。

埋め込みマクロで設定

電話番号 OR検索

ご要望で、電話番号検索に、OR検索を追加。
電話番号が複数登録されている顧客があるため、
登録された3つの電話番号を、検索の対象に含める。

クリアボタンの作成

ご要望で、顧客検索フォームにクリアボタンを作成。
5つの検索ボックスのデータを、ワンクリックで一括消去。

Private Sub クリア_Click()
Me!漢字検索 = “”
Me!カナ検索 = “”
Me!電話検索 = “”
Me!都道府県検索 = “”
Me!市区郡検索 = “”
Me.Requery
End Sub

検索ボタンの作成

ご要望で、顧客検索フォームに、検索ボタンを作成

部分一致検索

ご要望で、前方一致から部分一致検索に修正

Like IIf(IsNull([Forms]![FD_検索]![電話検索]),”*”,“*” & [Forms]![FD_検索]![電話検索] & “*”)

  • 青い斜体文字部分がなければ、前方一致
  • クエリのデザインビューの[抽出条件]行に条件を記入
  • UTF-8の関係か?、そのままコピペすると二重引用符が全角になっている場合があるのでご注意ください
第二次納品
  • データベースを開くと、フォームが全画面で表示される
  • ナビゲーションウィンドウは表示されない
  • 顧客名、フリガナ、電話番号、都道府県、市区郡で、複合検索(前方一致)
  • 五十音検索
  • しぼりこんでの検索が可能
  • 結果は同一フォーム内、下部に一覧表示
  • 土台にさせていただいたのはこちら(フリーウェア)の[「選択クエリー」を利用した複合検索例]

検索項目を入力しやすくするため、タブオーダーを設定。

完成イメージのお預かり

Wordでの完成イメージをお預かりの上、以下、具体的なご希望をお聞きしました。

  • 検索結果が、(別枠ではなく)フォームの下部に一覧で表示される
  • 一覧の中から該当するレコードの詳細ボタンをクリックすると、顧客情報が表示される
  • 受注登録ボタンをクリックすると、受注登録フォームが表示される
第一次納品
  • 検索ボタン5つ
  • クリックするとフォームがあらたに開く
  • フォームは、パラメータクエリを元に作成
  • 検索ボタンの数だけ、パラメータクエリとフォームが必要(使いまわし不可)
メモ
  • ナビゲーションウィンドウ、メニューなどを表示させない設定にしたものを
    通常モードで開きたい場合は、Shiftを押さえながら。

4 thoughts on “Accessプロジェクト(memo)

  1. さえ より:

    おだんごちゃん、お久しぶりです。
    私も同じようなことをやってます。
    生徒さんにわかってつくってもらうので、テーブルから作り方を教えています。
    ただいま、ほしいクエリの作り方を学習中!
    ここからファームに入ると難しくなりますね。
    マクロで終わらせようかVBAを私も勉強しながらやろうかと思案中です。
    なんせプロパティを開くと拒否反応です。
    参考になる資料は何を使っておられます?
    よろしければ教えてください。

  2. Showmone より:

    参考にしている資料は以下。

    教室で使っている初級編、応用編の教科書では、全然足りませんな。

    1. ダウンロードした「お手本」を、使いこなしてみる。
    2. 「これ!この仕組みが必要!」
      と思ったら、Visual Basicなのか、式ビルダなのか、マクロなのか、解析する。
    3. 自分で作っているフォームにあてはめる。

    あてはめて一度で動くとうれしいが、動かないことも多い。
    その場合は、なぜうまくいかないのか、他の方法はないのか、Google検索をする。

    これも、一度で「コレ!」という答えがヒットしない。
    検索語句をとっかえひっかえ検索する。
    ヒットしたサイトの中から、「これ?」と思うものを開く。で、はずれる。
    ひとつの答えに到達するまでに、いったいいくつのサイトを開くやら。
    タブブラウザのタブが、Accessがらみのサイトだらけになる。

    挫折しそうになる心に鞭を打って、検索し続ける。
    あきらめなければ、いつかきっと答えに到達し、願いどおりの動きになる。
    (この喜び!)

    金~火までフリーだったので、
    5日+アルファ、朝から晩まで(2時に寝て6時に起き、またAccess)
    ぶっつづけでやっていました。

    エンジンが本格的にかかってからは3日間かな。
    最初の2日くらいは、わけがわからなくて、吐きそう~、頭痛い~、という状態。

    3日目あたりからおもしろくなってきた。

    プロパティシート

    プロパティシートはタブも多いし項目も多いし、最初はわたしも拒否反応でした。

    でも、「お手本」と自分のものを並べて、
    プロパティシートを見比べるうちに、慣れました。

    # なぜマウスでポイントすると、手の形になるんだろう?
    # どこが違うんだろう?
    などと、マチガイ探しゲームのようなことをし続けるのよね。

    Visual Basic

    系統だてて勉強している暇が、今はないので、
    「お手本のこの仕組みは、どういう構文が書かれているのか」。
    その解析が中心です。
    マクロも、式ビルダもそう。解析が中心。

    局所的な解析を続けていくうちに、
    なんとなく、その仕組みはそういうふうに書くんだなぁとわかってきます。

    ご依頼のAccessを納品し、OKをいただけたら、本を読んでみようと思います。
    最初から本を読むのは、気分が悪くなりそうだけれど、
    ある程度実地の数を踏んでからなら、いい感じに読めるかも?
    読めるといいな。

  3. さえ より:

    ありがとう。本は逆引きを使っていますが、なかなかほしい情報にヒットしません。
    パソコンで検索して同じようにやったつもりでも上手く動かなかったりで四苦八苦です。
    私もお気に入りにaccessフォルダを作っています。
    さっそく教えてもらったサイト見に行きます。

  4. Showmone より:

    さえちゃんも苦労なされているねぇ。

    リンクしているのは、サイトというよりAccessで作った現物だよ。
    説明などまったくなくて、自分で解析をするっきゃない。

    ノースウィンドは、すごいっす。
    すごいけど、Access2002-2003形式で保存しようと思ったら、
    「最新のファイル形式のみで有効な機能が使用されているため、以前のバージョンの形式でこのデータベースを保存することができません」
    というエラーが表示されました。

    うみゅ。><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください