X



Access総合相談所 28

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@そうだ選挙にいこう
垢版 |
2018/08/30(木) 23:16:08.14
ACCESSに関する質問はこちらへ

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
  図解があれば尚良し。
  聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
  大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
  ギブアンドテイクで情報を共有しましょう。

▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード

前スレ
Access総合相談所 27
http://mevius.5ch.net/test/read.cgi/bsoft/1424828244/
0807名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 01:16:41.64
>>806
だから用途による、と言ってるでしょう。
商品番号1 商品名A
で、リレーショナルデータベースの基本通りに
明細テーブルに 商品番号1、20個 だけ保管して
あとはマスターから引っ張り
商品番号1、商品マスタ.商品名”A”、20個、
商品マスタ.単価¥100、 金額=商品マスタ.単価×20個
なんて作ってごらんなさい。
単価は永久ですか? 全オペレーターが商品番号1の
内容・商品名をBに変えないと言い切れますか。
税法上も取引履歴の長期保管は義務なのに
参照表示により、記録が変わってしまっては役に立ちません。
伝票系で私が参照整合張るのは、
ヘッダー項目と明細項目で伝票番号をキーに親子関係を
結ぶときくらいですね。
0808名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 05:50:56.56
>>807
単価は商品テーブルじゃなくて単価テーブルに置くやろ
んで単価テーブルには単価と有効期限を設定しとく
処理日と有効期限を比較して単価を特定
0809名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 07:54:22.21
リレーションシップはテーブルだけじゃなくて
選択クエリとテーブル、選択クエリ同士でも可能
0810名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 08:22:14.77
>>808
企業間取引だと得意先別単価、
見積単価は存在するので、そうですね、
別個テーブルが必要です。このテーブルとマスターの参照整合は必要でしょう。
ただ、実績系には売上額の直接埋め込みも必要です。
企業間取引だと、条件値引きが頻繁に発生するので
履歴を見るたびに複雑なクエリーやvbaを回すのは処理のリソースを食うからです。
0811名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 18:24:35.49
Accessの主キー項目を文字列で指定出来るのはアレとして

*得意先マスター
*商品マスター
*納入単価は得意先、商品毎に違うので納入価マスター

ぐらいは必要でしょうな

で、売上トランザクションは得意先、商品、納入日、納入伝票番号毎に発生と

こんな感じ
0812名無しさん@そうだ選挙にいこう
垢版 |
2019/08/23(金) 18:30:56.86
単価テーブルを商品マスターに含める設計は難しいので商品コードと日付をキーに単価保持

条件等で値引きした結果はトランザクションとして売上計上されて実納入価は納入価マスターも作られる

値引き条件等はまた別のマスターとして値引きマスター、とかで保持する
0815名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 14:58:34.32
>>813 リンクしか使わない。
本物のデータベースサーバーなら
blob格納でもいいけど
Accessファイルに入れると異様にファイルサイズでかくなるので。
Accessってファイルサイズに制限あったっけ?
0816名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 15:54:30.20
>>815
確か2GB
大きくなったらMySQLとかにデータ移して
access はフロントエンドだけにするのが妥当
複数のaccdbにテーブル分けて保管してリンクでまとめたりunionしたりで当座しのぐのも有りか?
0817名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 16:00:41.12
知子の情報っていう最適な文書DBがありましてね
かなり歴史のあるソフトです
0818名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 17:55:43.30
2次元配列型の入力フォームを作成しようとしていますが困ってます。

作りたいフォーム

項目 4月 5月 … 3月 ←ヘッダー
あれ 10  8 … 9
それ 15  12 … 7



テーブルへの格納結果

項目 月 数字
あれ 4月 10
あれ 5月 8
あれ …  …
あれ 3月 9
それ 4月 15
それ 5月 12
それ …  …
それ 3月 7

わかる方いらっしゃいましたら教えて下さい。よろしくお願いします。。
0820名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 18:10:50.48
主キーを2つにしましたが、伝票型やリスト型の入力方式しか出てこなくて…

4月とかの月情報は、入力フォーム上に先に出しといて、項目と数字だけを入力させたいんですが、なかなか…
0821名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 20:23:39.70
>>818
excel漬けの人が陥りやすい罠なんだよね。
書いてくれた通り、格納するテーブルの形式がデータベースの正しい在り方で
入力フォームを作ろうとしている形式は本来、ピボットとかtransformと言われる結果の「見せ方」なんですね。
テーブルの形式でそのまま打たせるのが正しい。
フォームの見本通り、
どーしてもどーしても作りたいですか?
月には年は関係ないのですか?
それ次第で答えを考えるか決める。たぶんvba使うことになります。
0827名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:20:13.79
私は経理担当で、予算を人に入力させたいんですが、「あれ」「それ」みたいな項目が100近くあるので、100だと12ヶ月で1200行近くになります。

エクセルの2次元→1次元化は実際運用しているんですが、壊れやすいからアクセスで試すとのことでして。
0831名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:42:26.02
>>825
ありがとうございます。
これと同じことはEXCELでやってまして。今回はアクセスのフォーム→DB格納で、同様の結果を求めたいのです。
0832名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:44:51.70
>>821
ありがとうございます。
年は関係ありません。
VBAありきでもぜんぜん構いません。

こういった経験を過去されていれば、お知恵を借りたかったもので。
0833名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:47:03.84
>>827
予算ならExcelで運用する方がいいと思うよ
一通り入力してからあれこれ操作するだろうから、DBよりも表計算の方が向いてるよ
0835名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:50:50.34
>>833
エクセルでずっとやってきてて、データテーブル=入力フォームみたいな形にしていました。

でもしょっちゅう壊されるので、フォームとテーブル切り分けてフォームを作るか、と。

→エクセルのフォームくそダサいからアクセスのほうがよくね?と。
0836名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:53:20.63
ちなみにデータを全て集めると数万行になるので、エクセルよりもアクセスのほうがデータベース格納がまだマシだろうと。
0837名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 21:55:15.07
>>835
入力データは何を元にしてるの?
0838名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:01:24.95
>>836
毎年何万行のデータをゼロスタートで入力してるのか、大部分が前年と同じで部分的に手を加えるのかで変わってくる
部分的に手を加えるだけなら、前年度データ(確定)+差分データ(毎年入力)で集計するような形でDBで運用できると思う
0839名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:09:16.95
>>818
一旦、項目、4月、5月...3月というフィールドのテーブル作って入力させて
そのテーブルから目的のテーブルに追記するコードをVBAで
組めば出来なくもない
いきなりは無理

月の並びが縦方向なら
項目名を入力させた後で
それと4月から3月までの12レコードを追加クエリで生成して、それを帳票フォームで開いて数日後を入力させる方法で目的の格納結果は得られる
ヒント
Accessの追加クエリでは値を指定しないフィールドにはnull が入る
0840839
垢版 |
2019/08/25(日) 22:11:31.87
数日後 ×
数字を ○
0841名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:22:14.28
>>837
売上予測とか経費予測とかですね。
手入力してもらってます。

>>838
前年予算はほぼ使わないですかね。どちらかというと実績を参考に作りますが、実績との差分を取ることもデータ粒度の問題があったり政策的な問題も出るので、今年は計画してません。
0842名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:27:37.93
>>841
あちこちの部署に入力フォームをばらまいて、各自で入力してもらうって感じ?
0844名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:29:24.45
>>839
ありがとうございます。
入力サイドには、直感的にというか慣れ親しんだインターフェイスで提供したいんです。

皆様ありがとうございます。
リアクションを拝見して、フォームUIが残念なのは諦めて、エクセルVBAとSQLサーバで対応したほうが現実的な気がしてきました。
0846名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:34:51.60
>>818
追加クエリは素直に12個作って
項目テキストボックスのイベントでマクロのクエリの実行で連続して動かせば良いかと
0847名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:40:15.93
>>845
844で言っちゃってるけど、サーバー建てる方がいいと思うよ
SQLサーバーでもいいし、postgresql+PHPでも実現できるはず
あと、長期的に見ればHTMLのフォームに慣れてもらっておく方がいいと思う
0848名無しさん@そうだ選挙にいこう
垢版 |
2019/08/25(日) 22:44:08.86
>>844
どうしてもいきなり目的のテーブルに追記したいというなら
レコードソースを指定しないで
非連結のテキストボックスを横に並べた単票フォーム
0849848
垢版 |
2019/08/25(日) 22:50:00.48
>>848の続き
を作って各月のテキストボックスのイベントで追加クエリを実行するという方法もある

ただこの方法は入力した数字の修正が面倒になるよ
0850821
垢版 |
2019/08/26(月) 00:59:29.00
>>832 これから分けてベタベタ貼ります。
テーブル設計編
1.「なんたら」のマスターテーブル(テーブル名 M)
なんたらID(UniqueKey),なんたら項目
2.ワークテーブル(W)
自動ID,なんたらID,1月,....12月

3.実際に欲しいテーブル(J)
月,なんたらID,Data
4.ワーク用のダミーテーブル(Dummy)
月,なんたらID,Data
-->作ったら、月にだけ、1月から12月まで書き込む
0851821
垢版 |
2019/08/26(月) 01:03:43.74
SQL編 書き込めないので一部カタカナ
1.入力用(WorkQuery)
セレクト M.なんたらID,M.なんたら項目,W.[1月], W.[2月],
....,W.[12月],W.なんたらID
ROM M LEFT JOIN W ON M.なんたらID=S.なんたらID
(なんたら項目で繋いでもいいけど、万が一の重複よけで項目ID指定)

-->これで自動でデータシートビューフォームを作成(F_work)

2.ワークファイルの削除クエリー(DEL_W)
デリート W.* FROM W

3.JとダミーをUNIONで繋ぐ(UN)
セレクト 月 ,なんたらID,Data FROM J
UNION ALL
セレクト 月,ID,Data FROM Dummy;

3.UNをもとにしたクロス(Cross)
TRANSFORM First(UN.Data) AS Data
SELECT UN.ID FROM UN GROUP BY UN.ID PIVOT UN.月

4.Wへの書き込み(INS_W)
インサート INTO W ( ID, 1月, 2月, 3月, 4月, 5月,
6月, 7月, 8月, 9月, 10月, 11月, 12月 )
SELECT Cross.ID, Cross.[1月], Cross.[2月], Cross.[3月],
Cross.[4月], Cross.[5月],Cross.[6月], Cross.[7月],
Cross.[8月], Cross.[9月], Cross.[10月], Cross.[11月],
Cross.[12月] FROM [Cross] WHERE (((Cross.ID) Is Not Null))
0852821
垢版 |
2019/08/26(月) 01:10:30.34
フォーム設計編 
 [M.なんたらID]と[M.なんたら項目]の編集ロックを「はい」に。
>フォームVBA (dao記述で勘弁して)使いまわし用手続き
Private Sub UpdateJ(obj As Object)
Dim dbs As Database
Dim Rst As Recordset
Dim Wherestr As String

Set dbs = CurrentDb: Set Rst = dbs.OpenRecordset("J", dbOpenDynaset)
Wherestr = "月='" & obj.Name & "' AND ID=" & Me![M.ID]: Rst.FindFirst Wherestr
With Rst
If .NoMatch Then
.AddNew
!月 = obj.Name: !ID = Me![M.ID]: !データ = obj.Value
.Update
Else
.Edit
!データ = obj.Value
.Update
End If
End With
Rst.Close
Set Rst = Nothing: Set dbs = Nothing
End Sub
0853821
垢版 |
2019/08/26(月) 01:11:28.16
'1月から12月までの更新後処理イベント
Private Sub Ctl1月_AfterUpdate()
Call UpdateJ(Me.ActiveControl)
End Sub
(自動で作ると、1月のイベントプロシージャ項目名が
Ctl1月になったけど、nameとしては特に問題なく”1月”として動いてた)
これを12月まで貼る
0854821
垢版 |
2019/08/26(月) 01:13:52.66
'JテーブルからWテーブルへの展開用
Private Sub Form_Open(Cancel As Integer)
Dim dbs As Database
Dim qdf As QueryDef
On Error GoTo JP
DoCmd.SetWarnings False
Set dbs = CurrentDb:Set qdf = dbs.QueryDefs("DEL_W"):qdf.Execute:
Set qdf = dbs.QueryDefs("INS_W"):qdf.Execute
DoCmd.SetWarnings True
exit_Here:
If Not (qdf Is Nothing) Then
Set qdf = Nothing: Set dbs = Nothing
End If
Me.Requery
Exit Sub
JP:
MsgBox Err.Number & " " & Err.Description:Resume exit_Here
end sub
0855821
垢版 |
2019/08/26(月) 01:19:42.01
>>851
入力用の記述変だった
1.入力用(WorkQuery)
セレクト M.なんたらID,M.なんたら項目,W.[1月], W.[2月],
....,W.[12月],W.なんたらID
FROM M LEFT JOIN W ON M.なんたらID=W.なんたらID
0857名無しさん@そうだ選挙にいこう
垢版 |
2019/08/26(月) 23:40:46.70
>>856
それかもね
月テーブルと項目テーブルをあらかじめ持ったmdbを起動するとフォームが現れて、項目月毎に数字を打ち込み

項目月テーブル作成

それを統括DB(My SQLやPostgreSQL)に部署コード付きで追加して部署項目月毎テーブル作成

mdbは打ち込みExcelの代わりにmdbに変更しました、と言う感じ

mdbで全て管理出来んでしょ、万単位のレコード有るならね
0859名無しさん@そうだ選挙にいこう
垢版 |
2019/08/27(火) 04:06:43.56
>>858続き
rs2.AddNew
rs2![項目]=rs1![項目]
rs 2![月]="4月"
rs2![数字]=rs1[4月]
rs2.Update
rs2.AddNew
rs2![項目]=rs1![項目]
rs2![月]="5月"
rs2![数字]=rs1![5月]
rs2.Update
これを3月まで繰り返し
0861名無しさん@そうだ選挙にいこう
垢版 |
2019/08/27(火) 15:28:52.48
ヒント:自己満足
0862名無しさん@そうだ選挙にいこう
垢版 |
2019/08/27(火) 18:58:29.03
vbaで書き込むのは古い手法じゃないの
Accessにマクロも変数も無い時代は、vbaで代用してました
今はデータマクロがあるで
0865名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 08:01:15.37
>>862
マクロだと冗長になってかえって面倒
0866名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 08:01:51.74
>>864
んじゃ、君が教えてあげなよ
0867名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 08:05:46.02
>>860
だって、4月から3月まで横並べで入力させたいと
>>818が言うんだもん
こんな設計はどうなんだよと俺も思うけどね
だから横並びにしたテーブルから
縦並びにしたテーブルまで転機するしかないやん
0868名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 08:08:21.47
>>818が言うにはexcelだとエラー起こすからってことだけど
そもそも設計が悪いからだと思われ
0870名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 09:42:21.77
>>869
いやそこは最重要だろ
0871名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 09:58:56.44
最重要というか、それが全て
0872名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 11:42:54.41
どうせ今一所懸命作っても、寿命十年がせいぜい と思えば
120ヶ月のフィールドで済む  という諦観も大事
十年以内にはもっと優秀な奴がこれに係るだろ

2008年4月1日〜2020年3月31日の日付がテーブルに成ってるブツを見たことある
それ以前はその業務無かったし、期日が満タンに成ったら追加すりゃいい
と、開き直ってたけど、あながち発想は間違って無い  気がする   気がするだけだけど
0873名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 13:24:07.91
>>872
こういう奴が2000年問題を引き起こしたんだよな
0874名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 14:19:02.31
12ケ月のテーブルと項目テーブルを作る
その2つのテーブルから項目月毎のテーブルを作る(クエリーでOK)
FORM作って項目月毎の実績値の入力をさせる
それを格納するMDBを各部署に配布する(部署毎に配布するMDBごとに部署コードが違う)
結果を回収して部署コードごと違う実績値をテーブルに作成する(MySQLやPostgreSQLなどに)
これで終わりだと思うが
0875名無しさん@そうだ選挙にいこう
垢版 |
2019/08/28(水) 18:10:28.35
FileMakerユーザーの嘆き
これゆえAccess需要は無くならない

656 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2019/08/28(水) 17:27:49.49
値段上げることばっか考えないでユーザー増やす努力してくれればいいのに

潜在的な需要はあるのに高くて諦めてるパターン多いだろ
うちもそうだけど
0876名無しさん@そうだ選挙にいこう
垢版 |
2019/09/01(日) 17:49:42.41
【実体験】ブログを1,000記事ほど書いたら、月300万くらい稼げた話
https://www.youtube.com/watch?v=GmVulh282ps&;t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
5年間ほど努力したら「年収3,000万」になったので、経験談を語る
https://www.youtube.com/watch?v=oV_SY-a1lMs
ブログで成果が出るまでの期間は「100記事」です【魔法はありません】
https://www.youtube.com/watch?v=-iVkNRvTuPw&;t=276s
期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
28ヶ月、ブログとアフィリエイトやってみた(給料公開)& 稼ぐための必須ツールも教える
https://www.youtube.com/watch?v=UDptEHhIxf0
年商1300万のプロブロガーの初心者時代から今までの軌跡
https://www.youtube.com/watch?v=UMiF4T2EO9o
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】
https://www.youtube.com/watch?v=o2ISWP-VZsw&;t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由
https://www.youtube.com/watch?v=o8oUe3JS-lg
0878名無しさん@そうだ選挙にいこう
垢版 |
2019/09/03(火) 17:03:54.08
>>877
https://www.forguncy.com/blog/20170905_indirect_sheet
テーブルの作り方次第だが
この例で言えば事業所テーブルに有る値に紐付く各事業所の月別商品数量を実績テーブルからクエリーで作れば良い
Excelシート名称をAccessテーブル名称と考えるとテーブルの中身の値に一致したテーブル(名称で引っ張る)のは簡単には無理だな
VBAでグリグリやるしか無い
0879877
垢版 |
2019/09/03(火) 19:13:18.20
>>878
ありがとうございました。やはりExcelは使い勝手がいいなあ。ドロップダウンの連動も簡単だったし。
0880名無しさん@そうだ選挙にいこう
垢版 |
2019/09/03(火) 19:32:11.10
>>877
indirect、初めて聞いて使い方を今知ったわ。
シート名引っ張ってくる使い方なんて思いもよらなかった。
この関数が古くからあるのかわからんけど、excelって地味に関数拡充してるよね。

ググった先の用例でいくと、「大島さん」シートのデータは何々を
indirectで呼び出すらしいのだが
データベースの世界では
基本的には

大島さん、なんとか、データ
のように列で格納するんだわ。

毎回「大島さん」を打たなくていい仕組みについては割愛するけど。
0882名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 12:04:20.75
後accessでは同じことやろうと思ったらリレーションシップ使ったクリエ作るんじゃないかなあ
0883名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 12:29:11.70
Accessの勉強法で質問です。全くの素人で試行錯誤をしながら操作をしています。
具体的にはFOM出版のよくわかるAccess2019基礎を使って勉強しています。操作方法はとてもわかりやすく順に操作を出来るのですが、正直中身の用語の意味などが分からず宙に浮いている状態です。
独学で習得された方でうまい方法がありましたら教えてください。よろしくお願いします。
0885名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 13:24:27.98
分からん、の内容によるとしか。具体的に、「説明されてない用語」でどんなものがわからなかったのでしょう?
説明内でつかわれた用語も含みます。

できるとかよくわかるシリーズなんて、とりあえず誰でも読めるように書かれてるわけで、用語がわからなく
なることはないと思うんだけど。

最近の本は全く知らないけど、その基礎と応用で最終的に作る総合問題のデータベース
見る限り、応用まで読み終わってもあまり役に立たないと思う。
大きな書店にいって、その本で作る最終的なデータベースに興味を持てる、かつ、
最終的な目標が複雑そうなものを選ぶのがいいと思う。
写真が多いのは実際の情報量を少ないので避けたほうがいいです。
0886名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 13:36:18.20
MOS試験対策の参考書を一通りこなして満点で受かったのに正直チンプンカンプンだった
その後業務で必要なこんなもんも作りたいってビジョンを持って本を読んだら理解が深まった
0887名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 13:50:59.52
自分で作ったものを使いながらこんな機能ほしいと思った物を追加して行くのが一番じゃないかなあ
acceessの本じゃなくて運用関係の入門書を読んで行くのもいいよ
0888名無しさん@そうだ選挙にいこう
垢版 |
2019/09/04(水) 14:49:42.69
アクセス特有の用語なんてそんなにないから。
最初の言葉はテーブルとクエリーとフォームとレポートとリレーションシップ
だけ覚えておけばいい。
そのあとは、ベースとなってるSQLの機能をわかりすく言い換えた各種のアクションクエリーの名前と組み立て方を覚えるくらいで

ざっくりとしたシステムは作れる。
0889883
垢版 |
2019/09/04(水) 18:31:00.75
返事をくれた皆さんありがとうございます。
今はクエリ、リレーションシップ、フォームなどの言葉が全く繋がっていない状態です。しばらくは今の使っているテキストをしばらく使って、用語の繋がりが見えて来たら応用に移りたいと思います。
挙げてもらった書籍は探してみたいと思います。
0890名無しさん@そうだ選挙にいこう
垢版 |
2019/09/07(土) 08:56:43.43
オンメモリDBでリアルタイムデータ
を表示し続けるIoT監視ツール作れますか?
定期的にリクエリかけまくるフォーム作るしかないですか?

C#だと非同期マルチスレッドでtimerとかやればできてた気がします
0891名無しさん@そうだ選挙にいこう
垢版 |
2019/09/07(土) 13:17:40.29
>>890
access限定であれば、フォームにタイマーイベントがあるので
それでリアルタイム表示してください。
記録しないならたぶんデータベース(テーブル)すらつかいません。
ただ、IoTがrestAPIとか実装してなくて、昔ながらの
RS232Cとかだたと、もはやこのスレの範疇を越えた記述が必要になるので、
ちょっと大変ですよ。
0894名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 18:48:42.16
演算のタイミングを教えて下さい
税込価格から税抜価格で集計を行います
フィルタなどが間に入るのですが、この場合は最初に税抜価格を出した方が良いのでしょうか?
それとも最後の方が良いでしょうか
0895名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 18:50:06.29
日本語変でした、すいません
税込価格での販売リストからフィルタして税抜価格で集計になります
0896名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 20:37:55.57
>>894
丸め誤差を最小にするには割り算は1回で済ます。
というのが原則

ちなみに、税込価格を求める際に1円未満の端数を切り捨て、切り上げ、四捨五入
のいずれかでもやってると
税抜価格<>本体価格
になる。
つまりこの時点で丸め誤差が発生している。
なので、それでも構わないというならOKかと

本体価格で集計したいなら、本体価格で記録すべき
税込価格は、それを購入・販売した時点での税率を本体価格に掛ければ求められるので
記録する必要は無い。
0897名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 20:47:49.73
>>896
ありがとうございます
最初に計算してしまいます

>税抜価格<>本体価格
はい、こちらは問題ありません
主に成績を見るための資料作成なので、少々の端数は良いみたいです

>本体価格で集計したいなら、本体価格で記録すべき
本体価格もデータ上はあるのですが、
業者間の場合に価格が交渉で決まるため、この方法が出来なくなってしまいました

以前は業者間取引が少なかったので気にせずに全て本体価格にしていたのですが、
今は取引が大きくなってきたので計算方法に困った、という次第です
0898名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 20:48:31.80
フィルタしてから割り算した方が計算量少ないからそっちの方がいいんじゃないの?
個人的には生に近いデータはできるだけ保持したい。最初に触ると後で面倒になる
0899名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 21:15:44.13
計算結果の列に対して、データ型を指定することは出来ますか?

売上税抜: [売上金額]/1.08
の結果を全て整数にしたいのです
int()などを使うしかないでしょうか?
売上税抜: Int([売上金額]/1.08)
0900名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 21:36:36.52
>>894

ID、品目、単価、単価有効期限
という品目テーブル(IDは主キー)

税率、有効期限
という税率テーブル

品目ID、個数、販売日(購入日)
という販売(あるいは購入)テーブル

を用意しておいて

品目テーブルと販売テーブルの品目_IDと品目IDを1:多のリレーションシップして、必要なクエリも作って集計
0901名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 21:52:06.16
今、買掛台帳の軽減税率対応の
修繕やってるけど
結局、明細単位(1品目単位)の課税対象計算にするしかなかったな。
実際に請求書届いたときに数円程度のズレが生じるのは
会計士も税務署も特に指摘しないようだし。
0902名無しさん@そうだ選挙にいこう
垢版 |
2019/09/11(水) 22:06:29.14
税務署も消費税の端数に関してはなにも言わない
個々に消費税切り捨てても大丈夫
この辺はDB・経理間に温度差があるかなとは思う
0903名無しさん@そうだ選挙にいこう
垢版 |
2019/09/12(木) 00:03:40.03
客毎の売上明細毎に計算した消費税を積み上げるのと、日次ないしは月次の売上合計から消費税計算するのでは誤差が出る
もちろん日次に計算した消費税を積み上げて月次売上から計算した消費税も誤差が出る
さらに月次で出した消費税を積み上げて年間合計出したのと年次売上合計から(ry

税務署的にはどっちでもいいみたいだけど、敵は身内や客
レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況