カテゴリー別アーカイブ: テーブル

Accessでやることリストを作る~機能の追加

やることリストに機能を追加します。
今仕事がどの段階にあるのか、分かるようにします。
①未着手
②仕掛
③終了
④最終チェック済
の4段階です。

そのために、テーブルにフィールドを追加します。

最終チェックと着手を追加します。

次にフォームを訂正します。コマンドボタンを図のように4つにして、先ほど追加した
最終チェックと着手を追加します。

こんな感じです。

あとは実際にコマンドボタンを押したときのコードを入力します。
いずれもコマンドボタンのクリック時です。

着手前

Private Sub 着手前_Click()
Me.Filter = “完了日 is null” & ” and ” & “最終チェック is null” & ” and ” & “着手 is null”
Me.FilterOn = True
End Sub
着手前は、完了日・最終チェック・着手に日付が入っていないレコードを抽出します。

仕掛

Private Sub 仕掛_Click()
Me.Filter = “完了日 is null” & ” and ” & “最終チェック is null” & ” and ” & “着手 is not null”
Me.FilterOn = True
End Sub
仕掛は着手に日付が入っていて、完了日と最終チェックに日付が入っていないレコードを抽出します。

確認

Private Sub 確認_Click()
Me.Filter = “完了日 is not null” & ” and ” & “最終チェック is null”
Me.FilterOn = True
End Sub
確認は完了日に日付が入っていて、最終チェックに日付が入っていないレコードを抽出します。

最終チェック
最終チェックは最終チェックに日付が入っているレコードを抽出します。

Private Sub 完了_Click()
Me.Filter = “最終チェック is not null”
Me.FilterOn = True
End Sub

ここまですると、社内で今仕事がどのように進んでいるのか分かるようになります。

=======================================
丁度娘が大学受験真っ最中です。なんとか併願が二つ合格し、あとは本命の国立を
受けるばかりとなりました。自分が子供の頃は親は何もしてくれなくて、ポケット地図を
もって、静岡から上京しました。

初めて渋谷にきて、地図見ても右も左も分からず、受験会場とは真逆にすすんでしまい、
途中で気づいて慌てて引き返したことを思い出します。

今はスマホもあるし、親が受験会場までついて行く世の中

本日も最後までお読みいただきありがとうございます。

明細毎に原価と粗利を計算する②

明細毎に複数の原価を集計するために、まずはデータを入れるテーブルを作成します。

最初にメインフォームとなるテーブル。

とりあえず見積明細の見積明細NOが入れるだけです。

次に原価明細を入れるテーブル。

これは必要に応じて項目を作ってください。必要になるのはメインフォームと
サブフォームの関係にしたいので、見積明細NOは必須のフィールドです。

この二つのテーブルを基にフォームを二つ作り、原価明細の方をサブフォームで
とします。連結するのは見積明細NOです。

あとは見積書フォームを開いて、見積明細のコマンドボタンのプロパティの
イベントタブのクリック時に次のVBAコードを入れます。

Private Sub コマンド7_Click()
Me.Refresh
DoCmd.OpenForm “F見積接続”
Forms!F見積接続!見積明細NO = Forms!F見積書.F見積明細!見積明細ID
End Sub

コマンドボタンをクリックしたタイミングでT見積接続に現在参照している
見積明細NOがレコードとして入ります。

あとは明細をひたすら打っていきます。

とりあえずこれで見積明細とその原価明細が繋がりました。

========================================
人生初のダイエット(糖質制限)が3週間経ちました。
その間、米、パン、麺類はほぼほぼ食べず、主食は豆腐と化しました。
コンビニ行っても買えるものは、コーヒーとゆで卵とナッツだけ。。
世の中糖質で溢れてますね。というか糖質しかない!!
食事が面倒です泣

本日も最後までお読みいただきありがとうございます。

行間にレコードを追加するときの注意点

行間に追加したときは、次の注意点があります。

①レコードの並び方を指定しておきます。


折角順番を付けているので、並び替えは順番を選択します。

これでVBAでクエリを実行したときに、順番通りに並べ替えられます。
何も設定しないと、オートナンバーで表示されるので、順番通りになりません。
注意してください。

②絶対にレコードを入れなければいけないフィールドがある場合

クエリはリレーションシップで、商品明細の商品CDを商品テーブルの商品CDと関連付けをした場合、
商品CDにデータがない状態ではレコードの追加ができません。

そんなときは、VBAコードを次のように変更します。
rs.AddNew
rs!順番1 = a
rs!商品CD = 1
rs!納品書NO = Forms!納品書!納品書NO
rs.Update
仮の商品CDを入れる必要があります。

当然後から正しい商品CDをいれないといけません。
それ以外にテーブルの設定で「値要求」が「はい」になっているレコードについても
仮で何か値を入れる必要があります。

注意点はこれくらいです。

納品書等を作る場合、やはり行間にレコードを追加できるようにしておく必要があると
思います。こんな感じで参考にしてもらえればと思います。

サンプルファイルを上げておきますので、必要であればダウンロードしてください。

======================================
コロナワクチン1回目打ってきました。
1回目は特に副反応はありません。(今のところ)
問題は2回目だな。
家族に走ることを止められて、それがストレスです。。

本日も最後までお読みいただきありがとうございます。

請求明細から請求書を作る①概要

この前、知り合いからExcelの明細から請求書を作れないか?という相談があり
やってみました。なかなかの出来栄えでしたので、そのやり方を解説します。

概要としてはこんな感じです。
Excelにとあるシステムから掃き出した請求明細があります。

続きを読む

レコードを選択して集計する

Accessを使っているとテーブルにどんどんレコードが追加されていきます。

Accessに入力したデータで集計もしくは新たな資料を作る場合、何もしなければ
クエリやVBAの指示は全レコードに及び、ほんの一部の処理が全レコードに及びます。
特に重たい処理(DLookup関数やDsum関数)を使うときは如実に遅くなります。
続きを読む

入金伝票を作成する②~メインフォームのレコードの追加・更新

テーブルを整えたら、次にデータを追加クエリで追加します。

次のように追加クエリの設定をします。

得意先CDを関連付けて、該当する得意先CDが表示されたデータのみ、
入金伝票のメインフォームとなる、日付と得意先CDのレコードを追加します。
ただし同じデータが二度作られないように、作成済みに☑がついているレコード
以外のデータを作成するようにします。
続きを読む