Microsoft Access 掲示板

views
4 フォロー
6,349 件中 2,921 から 2,960 までを表示しています。
1
hiroton 2022/01/20 (木) 08:46:04 3c477@f966d

1.「レコードをすべて差し込む方法」で最後のレコード(新規レコード)だけを対象にする

2.作業テーブルを用意し「レコードをすべて差し込む方法」で、常に1レコードだけを対象にする

3.Word文章(テンプレートファイルのコピー)のテキストを直接置き換える

ゼロからWordの差し込み印刷を設定する方法も検索すれば見つかりそうですが必要ないですよね?
(2)は少し特殊ですが、それぞれ簡単な単語で検索して見つかったページをつまみ食いした程度で出来そうな内容です。それぞれメリット・デメリットはあります。どのような問題があり、どういった手法を望んでいるんですか?

2
りんご 2022/01/17 (月) 10:22:08 c564b@0e907

 もしかして、月にいくらを便宜上、1日or月末で登録するという事でしょうか?それとも、1日に登録するか、月末に登録するかという事でしょうか?
 ググっただけですが、会計基準や会社のルールに従い、月にいくら、請求日、入金日を登録する感じになるのかも。

1

一般的には1日にすると思います。
日付/時刻型に年月だけ入力すると自動で1日になりますので。
末日が必要な時は、
DateAdd("m",1,[日付])-1
とか
DateSerial(Year([日付]),Month([日付]),0)
という式で求められます。

あるいは、日付/時刻型でなく、年、月の数値型の2フィールドにしたり、数値型の1フィールドで202101というように6桁にする方法もあります。

1
りんご 2022/01/14 (金) 15:50:17 c564b@0e907

 もう少し具体的に現状を説明すると誰か回答するかも?テーブル構造、SQL、VBAコードなど。

4
hiroton 2022/01/14 (金) 11:27:18 修正 b1700@f966d

ずれについては、グループヘッダーを使っていてそれが拡張した次ページに印刷されない分上にずれてる(ように見える)と予想
これならグループヘッダーセクション繰り返しプロパティを「はい」にすると対応できます

3

「背景がグレー」に関しては、詳細セクションの『代替の背景色』プロパティを「色なし」に設定してみてください。

「表示位置」に関しては現状のレイアウトとか設定が分からないと原因の特定は難しいです。
デザインビューとプレビューの画像をアップしてもらえたら何かわかるかもしれません。

2
m2cta 2022/01/14 (金) 09:46:56 a56f7@b6ded

ありがとうございます。
印刷プレビューで2ページ目も表示されるようになりましたが、2ページ目は背景がグレーになり、表示位置も上にずれています。原因がわかりません。よろしくお願いします。

4
hassy-hhh 2022/01/13 (木) 13:40:32 bf909@6eb0c

ありがとうございます!やりたいことが完璧にできました!

7
chichinpuipui 2022/01/13 (木) 13:21:27 28f2f@3f4b8 >> 6

皆様
ご回答いただきありがとうございます。
りんご様からご紹介いただきましたHatenaさんの方法で対応いたしました。
大変助かりましたありがとうございました。

1

詳細セクションとテキストボックスの「印刷時拡張」プロパティを「はい」に設定してください。

3

フォームのレコードソースがテーブルならば、

    Dim rs As DAO.Recordset    
    Set rs = Me.RecordsetClone
    rs.AddNew
    With Me.Recordset
        Dim i As Long
        For i = 1 To rs.Fields.Count - 1
            rs.Fields(i) = .Fields(i)
        Next
    End With
    rs.Update
    DoCmd.GoToRecord , , acLast

先頭フィールドがオートナンバー型のフィールドという前提です。

2
nokonoko 2022/01/12 (水) 16:28:49 3c8e6@52a60

hiroton様

ありがとうございました。助かりました

2
hassy-hhh 2022/01/12 (水) 14:04:26 bf909@6eb0c

回答ありがとうございます。勉強になります。
テーブルのレコード自体をまるまるコピーして、新規レコードに貼り付ける方法はないでしょうか?

1

フォーム上に連結コントロールとして配置していないフィールドはコピーされません。
フォーム上に連結テキストボックスとして配置しておく必要があります。
表示させたくないなら、サイズを小さめにして、他のコントロールの背面に隠しておくといいでしょう。
「タブストップ」を「いいえ」にしておけば、タブキーで移動してもフォーカスしないのでユーザーは見ることができません。

1
hiroton 2022/01/12 (水) 09:38:57 56208@f966d

ComboBox.NotInList イベント (Access)

リスト外入力時イベントで制御できます

Private Sub コンボ_NotInList(NewData As String, Response As Integer)
    Me.コンボ.Undo
End Sub
3
hideki 2022/01/08 (土) 16:36:28 7cbc1@96514

自動では、できませんでしたが、何とか完成しました。
ありがとうございました。

6
名前なし 2022/01/08 (土) 13:48:59 f2dd3@0f6a0 >> 4

いつも、回答ありがとうございます。
今年もよろしくお願いします。

2
hideki 2022/01/08 (土) 13:31:12 7cbc1@96514

りんご様
回答ありがとうございます。
そうですよね。Excelでやるべきですよね。
そう、提案したんですけど、ACCESSの要望が強くて困っています。

1
りんご 2022/01/08 (土) 12:53:39 c564b@0e907

 Excelでやるのはどうですか?
 AccessもSQLも、横並びを使わない、ときに利用するものだと思います。

5
名前なし 2022/01/08 (土) 09:26:46 修正 f2dd3@0f6a0

「3まとめ」には同じ果物で農家がことなるレコードがあります。
例:もも 野田農園 百田農園があり、野田農園に数量40をセットしたいです。

農家テーブルは、

果物名 農家名
もも 野田農園
もも 百田農園

ということですか。
果物テーブルには農家名はないのに、その数量を野田農園にのみセットするという判断基準は何でしょうか。

4
りんご 2022/01/08 (土) 01:39:38 c564b@0e907

 集計クエリを作ったら、テーブル作成クエリに変更・実行。作成されたテーブルと更新したいテーブルで内部結合を組んで更新クエリを作成。取り敢えず思い浮かんだだけなので、動作確認が不十分です。
 余談ですが、僕だったら、明細テーブル:{農家,果物名,品種},数量とするかなぁ。
 ググっていたら、Hatenaさんのブログがヒットしました。流石ですね。
HatenaChips:更新クエリで定義域集計関数を使わずに集計する
 コマンドボタンに設定。明細レコードの先頭レコードに移動、更新クエリの実行、次のレコードに移動、更新クエリ実行、・・・みたいな使い方になるのかしら。
 追伸
 謹んで新春のお喜び申し上げます。今年もどうぞよろしくお願いします。

 

3
chichinpuipui 2022/01/08 (土) 00:35:17 28f2f@3f4b8

お世話になります。
ご回答いただきありがとうございます。
>画像を見ると、「3まとめ」テーブルは「1果物合計」クエリと同じもののようですが、なぜ取得できるものをテーブルにする必要があるのでしょうか。
その理由を聞かせてほしいです。
「3まとめ」には同じ果物で農家がことなるレコードがあります。
例:もも 野田農園 百田農園があり、野田農園に数量40をセットしたいです。

お教えいただいた方法ですと、農家名の指定ができないのでうまくいきませんでした。
もし他に方法がございましたらよろしくお願いいたします。
どうもありがとうございました。

2
名前なし 2022/01/07 (金) 22:52:17 f2dd3@0f6a0

画像を見ると、「3まとめ」テーブルは「1果物合計」クエリと同じもののようですが、なぜ取得できるものをテーブルにする必要があるのでしょうか。
その理由を聞かせてほしいです。

とりあえず、上記の疑問点はおいておいて、回答すると、
集計クエリを含むクエリは更新不可のクエリになります。それを更新クエリにすれば当然そのようなエラーになります。

集計クエリは使わずに、「3まとめ」テーブルから更新クエリを作成して、DSum関数で合計を取得して更新すれば可能ではあります。

更新クエリの設定

フィールド: 合計数
テーブル: 3まとめ
レコードの更新: DSum("数量","[1果物]","果物名='" & [果物名] & "'")
2
chichinpuipui 2021/12/25 (土) 23:55:37 28f2f@12436

お世話になります。
hatena様ご回答いただきありがとうございます。
こちらの方法で対応できました。
ユーザもカレントレコードが確認しやすいとよろこんでおりました。
ありがとうございます。
いつも助けていただきありがとうございます。
また質問させていただくことがあるかと思いますがその際はどうぞよろしくお願い
いたします。

1

[ファイル]-[オプション]-[現在のデータベース]で、[ドキュメント ウィンドウ オプション]が、
「ウィンドウを重ねて表示する」になっていたら「タブ付きドキュメント」にすれば、すべてのウィンドウがアプリケーションウィンドウいっぱいに広がります。
画像1

2
明日こそは 2021/12/21 (火) 13:07:38 440a7@6f3e7

ご教示ありがとうございました!

5
hiroton 2021/12/21 (火) 09:50:39 20c7c@f966d

それぞれのテーブルの取引先ごとの集計でたし引きすればいいのかな?

その通りですよ。ただ、データベースでやるならデータベースの作法があるだけです。質問のタイトルは「特殊な売上管理をするときの構成について」ですが、内容を聞く限りデータベース的には至ってシンプルな内容です

ただし、「月ごと」の集計が必要なんですよね?となると、「日報の記録はどの月に属する配送なのか?」という問題が発生します。「日報の日付を基準」でいいのか、「取引先の受注データを基準」にする必要があるのか、2つのテーブルの間で間違いのないルール付けが必要です

現在は2つのテーブルは紐付いていません

集計してexcelにコピペしてexcelで計算しています

現実的に計算できているのだから目に見える設定が無いだけで何かしら(仕事上のルールであるとか、取引先との契約内容であるとか)で紐づいているんですよ。
関係性をうまく説明できること
データベース(ACCESS)でその関係性を設定できること
理論と実装ですね。順を追って考えていきましょう


データベースとはなにか?という話なら、難しいモノかもしれませんね

1
hiroton 2021/12/21 (火) 08:27:46 20c7c@f966d

結構テンプレネタだと思うんだけど有名どころのサイトでも解説ないよね
連結されたコンボ ボックスに値を追加する

コンボボックスのリスト外入力処理(システムコマコさん)
コンボボックスから値集合ソース編集画面を表示する方法(T'sWareさん)

2
tanappe 2021/12/21 (火) 01:57:55 a7122@43b82

ご回答ありがとうございます。

>これはどうやって?
元になるテーブルをインポートしたあと、そのテーブルを選択しつつ作成リボンのフォームボタンを押し、
その後フォームレイアウトのデザイン、のリボンでボタン作成し、
コマンドボタンウィザードで新しいレコードの追加を割り当てたらできました。

この場合、ボタンを一回押すとレコード追加はできるのですが、
ボタンを一回押すだけでレコード追加だけでなくSub hoge~End Subも一気に実行されるようにしたいです。
(機能追加したい)
どこにSub hoge~End Subを記述すればよろしいでしょうか?
→(自己解決したのでメモ代わりに)
レコード追加で作ったボタンにSub hoge~End Subだけでなく、レコード追加のコードも入れたらできました。

また質問させていただくこともあるかもしれませんが、よろしくお願いいたします。

4
チる 2021/12/20 (月) 20:11:38 0dbf4@65764

現在は2つのテーブルは紐付いていません
集計してexcelにコピペしてexcelで計算しています
たんに、テーブルにデータをいれているだけでほぼexcelのシートに保存しているのとかわらない状態です
取引先ごとの利潤が分かればいいので
それぞれのテーブルの取引先ごとの集計でたし引きすればいいのかな?とか思ってましたがそんな単純なものでもないみたいてすね

3

取引先だけでは一意に特定できないですよね。
取引先と日付で特定できるのですか。

それで配達員ごとの配送件数と枚数を把握して歩合給を計算します

現在はどのような手順で2つのテーブルを紐づけて、計算しているのでしょうか。

まずは、2つのテーブルのデータ例を提示して具体的に、そこからどのように計算しているか、
説明してもらえませんか。

2
チる 2021/12/19 (日) 18:49:26 58219@65764

売上テーブル
配送テーブルに
共通しているフィールドは”取引先”があります
(売上テーブルではどこに請求するか把握するため、配送テーブルでは給与明細にどのどこからの配送をどれだけ配送したかを把握するためです)
これと日付でリレーションすると、11月のA社の売上はいくら、そのうち従業員への歩合はいくら、と計算できるでしょうか?

4

帳票フォームにすればいいでしょう。
同じ値が連続する場合が多いフィールドはVBAで規定値プロパティを設定すればいいでしょう。

同じ値のデータを連続して入力したいなら、連続入力のVBAをショートカットキーなどに割り当てるなど工夫します。

テーブル構成や詳細な仕様が不明なので、とりあえずのアドバイスはこんなところです。

1

売上テーブルと配送テーブルを紐づけするフィールドはありますか。

あるなら、クエリでそのフィールド同士で結合すればいいだけです。

ないなら、各テーブルにどのようなフィールドがあって、現状はどのように対応させているかの説明してください。

3
かもめ 2021/12/18 (土) 19:08:11 58219@a5fb8

画像
に近いようなものはできています。上記のようなものは紙の伝票をベースにしたものだと思うのですが
複数の日付が連続して存在するデータの入力には適していないような気がします
今日のデータを入力しているときでも、その上には昨日のデータが表示されているようなレイアウトのほうが適している気がするのですが、どのようにしたらよいかまではわからなくて質問しました

2
りんご 2021/12/17 (金) 22:02:30 c564b@0e907

 データベースがやりたいのであれば、とりあえず、Excelに新しいシートを作り、日付、取引先、商品名を手入力して下さい。この時、組み合わせが同じものは1つだけとします。
 画像のシートにデータを登録する際は、まず、新しいシートに画面を切り替えます。登録したい日付・取引先・商品名の組み合わせがあるか探して下さい。なければ登録した後、画像のシートに戻ります。日付・取引先・商品名、その他のフィールドを手入力したら、新しいシートに切り替えて次の組み合わせを探します。以後、繰り返します。
 ちらつく、視覚的にわかりにくい、Excelインポートのほうが早い、これらを土台にデータベースは成り立ちません。今までのExcelの何倍も手間暇かけたら、やっとデータベースが始まると思います。

1

Accessではどこまで出来ていて、どこからが分からないのでしょうか。
それとも、Accessの方はまったく手を付けていない状態ですか。

とりあえずは、Accessで構築するなら下記のような手順になります。

  1. テーブルを作成する。(トランザクションテーブル、マスターテーブル)
  2. テーブルのデータを入力する、あるいは、エクセルからコピー、インポートなど。
  3. テーブルをレコードソースとする入力フォームを作成する。

どこまで出来ていますか。

17
りんご 2021/12/14 (火) 22:46:09 c564b@0e907 >> 15

 オブジェクト指向の流行はピークを過ぎたんじゃないでしょうか?得意分野と伸び代の目処がついたという意味で。少なくとも、データベースの設計にはイマイチみたいですよ。