Access総合相談所 28
レス数が1000を超えています。これ以上書き込みはできません。
>>67
そういう説明してもクエリーの活用をしないユーザーには多分想像出来ないと思うよ
VBAとFOMEの組み合わせでやってる可能性高いので発想がVB6プログラマーと変わらないと思われる
クエリーを活用するのがAccessの重要スキルって事が理解出来ていない様に思う
こういうユーザーはFileMakerとかに流れるパターン >>65
あと、その用途なら単に
excelからビボットテーブルのデータソースとしてテーブルかクエリーを指定してクロス集計させたほうが
幸せになれます。 >>68
sqlで結構なことできまっせ、が基本だよね。sqlは一応共通言語なので覚えて損はないし。
accessはまだしも、なんでexcelでvba書くのか意味分からん。
頼むから取引先、vba付きexcel書式を送らないで欲しい。vbaでパソコン破壊とか、普通にできちゃうし。 >>67
1万レコードのうち数個を修正したときも
クエリをやり直してテーブルに保存しなおすってことになるんですか?
非連結でやるのは、単価×個数、請求書の総計など簡単なものだけなんでしょうか? >>71
おれも探してしまった 新しい仕様なのか?と >>71,73
FORMだったわすまん
>>72
1レコード変わったら集計値変わるでしょ
だから集計やり直しの為にクエリーもやり直し >>72
究極的に言うと「やってみれば」なんですよ。
このフローが遅いな、と思ったら違う手法を試せばよい。
しかし売り上げ請求とか、給与計算など、ミスが信用に関わる案件にはいきなり手を出さない方がいいです。 AccessをVBの代わりに使うのは問題無いがExcelは代わりにはならんな
帳票化も面倒だし
グラフ表示ぐらいしかメリット感じられない 【 システム環境 】 Windows10, Access2010
ID, name, 日付, 昼飯
2, 山田, 2018/05/03, うどん
3, 山田, 2018/07/08, そば
4, 鈴木, 2018/01/03, ラーメン
5, 鈴木, 2018/10/08, カレー
6, 鈴木, 2018/02/05, 牛どん
↓
ID, name, 日付, 昼飯
3, 山田, 2018/07/08, そば
5, 鈴木, 2018/10/08, カレー
人ごとに最新の日付の昼飯を抽出するにはどうしたらいいのでしょうか
SELECT [T1].name, Max([T1].日付)
FROM T1
GROUP BY [T1].name;
ここから先に奨めません >>74
非連結で計算するよりクエリのほうがはやいんですか?
レコード追加、削除、修正のたびに毎回すべてをやりなおすのは遅くないですか?
レコードに変更があったらそのたびにVBAでクエリやり直すんですよね? >>62
商奉行とかってたいてい
https://i.imgur.com/EiRVBDQ.jpg
↑こういったUIですけど古臭いというか
ごちゃごちゃしていて入力し辛くないですか?
視点も操作もあちこちに移動しなければなりませんよね
伝票単位が基本ですが
伝票という概念がない(すべての売上が1レコード1売上になるので伝票が不要)業種は面倒なだけですよね
そもそも伝票自体紙ベースの名残なので旧態依然という感じもします >>77
max(昼飯)
マックスむらい的な。
ただし、1日に2回、昼飯を食っていないものとする。
ちなみに単なるレコードidを集合に含めるのは得策ではない。
max(id)を加えてもいいけど。 >>78
めんどくさいやつだな。絡むなよ。
いいから、ダミーデータでやってみてから文句言え。
プロが作ったERPのデータベース構造見たことある?
たいていは伝票登録のトランザクションの中で集計用テーブルに同時更新(または追加)を埋め込んでる。
それがスタンダードだけど、小規模事業者なら1ヶ月のレコードなどたかが知れてるので、ほぼvbaがいらない年月ごと消して埋め直して、を提示しただけ。 >>79
これも愚問。それを言ったら、簿記は全ての金の動きが1件1伝票じゃ。
仕入れで、小規模なものなら親子関係をもたない構造にしてもいいけど
売上で親子関係を結ばないのは普通有り得ない。
工事費、材料費で一伝票(あるいは見積書)を作成するわけで、明細がないドンブリ勘定で商売してるわけではないでしょ? >>82
うちは、
1受注1売上1レコードです
2018/10/13 業務A 20000円
2018/10/13 業務B 20000
2018/10/14 業務A 30000
といった感じです
一つの受注に項目が2つあることはありません
なので伝票テーブルはつくっていません 販売系の概念だから業種によっては伝票に違和感あるひともいるんじゃない?
運送会社の事務方やってたときは伝票Tなかったな
一回の運行いくらだから、複数注文ってのが事実上ないからね
無駄なテーブルが介在することになるし
売上Tに運行内容と売上内容が直接記録されていく感じ
請求書はそのレコードを明細欄に並べてた >>78
少なくともAccessではクエリーの方が速い Accessの有意義なメリットがクエリーを視覚的に作れる部分だから
FileMakerなんかSQL文をベタ書きして実行する仕組みしか無いのでデータ加工の面倒な事
個人的にはFileMakerがクエリーを視覚的に作れたら最強だと思うがライセンス料金高いクセに、そこがクソ >>88
where条件は?
日付=MAX(T1.[日付]) >>88
間違えた
日付=MAX([T1].日付) >>88
ごめん、嘘こいた。
SELECT 名前,日付,昼飯
FROM テーブル1 INNER JOIN (
SELECT [テーブル1].名前 AS name2 ,Max([テーブル1].日付) AS 最新日付
FROM テーブル1
GROUP BY [テーブル1].名前) A ON テーブル1.日付=A.最新日付 AND テーブル1.名前=A.name2
これで合うか。 >>91
inner joinまで含めてSQL文手打ちするのか?
クエリー覚えさせた方が速いだろ >>92 そうだね、最近サーバのビューやストアドに
長々手打ちするので、慣れてしまったけど、
もう少し前の自分なら 集計クエリーで一旦保存して
それを内部結合させる二段構えにするかな。 accessは今は全く使えません
もし私の希望の作動ができるのであれば、勉強したいと思います
PC内と当該フォルダ以下にある全動画ファイルのアドレスを取得し、
そのファイルを一つずつ順番に外部動画ソフト(MPC-BE)にコマンドライン付きで投げ、
MPC-BEが吐いた静止画ファイルを、その動画ファイルと関連付けしデータベース化
クエリで抽出したデータから、ファイルと関連付けされてる静止画をリスト表示
静止画をクリックすると関連付けされたファイルをMPC-BEに投げて再生する
やりたいことは動画ファイル管理ソフトの範疇なのですが、世にある動画ファイル管理ソフトがうまく使えなかったり、作動しなかったり、帯に短し〜だったりで
自分なりのものを作ろうと思うのですが、CやC#より、外部ソフト使ってこっちのほうが簡単かなぁ?と思うのです
コレができるなら、いろんな情報をデータベースに登録して、動画用鯖の使い勝手が凄く増すのですが、
こんな事は可能でしょうか? >>94 可能。便利かどうかは定かではない。
データベースモデルとしては図書館の検索システムとか、マスコミ御用達と言われている大宅宗一文庫(雑誌図書館)のデータベース、オンライン画像検索サービス。
設計構造よりも引っ掛けるキーワードをいかに充実させるかにかかってるんじゃないかな。 >>94
基本的には可能
コマンドラインで同期実行できるアプリなら楽
非同期実行されてしまうなら面倒
外部API公開しているなら超楽 >>95
>>96
どうもありがとうございます
プレーヤー側の操作はVBAでもできそうなので、どうにかなりそうです
ありがとうございました
勉強してみます >>86
10万レコードあるテーブルで計算が必要なときには
1レコード修正、追加するたびにクエリを作り直す処理にするものなんですか? >>98
クエリーを作り直す訳無い
クエリーを実行し直す、と言う事 >>98
お前さんはレコード修正、追加と
集計結果の編集レポートを同列で話してるので解答者とは話がかみ合わない
FORMでレコードメンテナンスするのと帳票はタイミング違うだろ >>100
例えば勤怠記録をつけるとき
今日の分を入力するフォームに今月の労働時間など各種合計を表示させるのは非連結でやるんですか?
別途一覧表示などのレポートをつくるときがクエリなんでしょうか?
請求書の明細欄の合計なども非連結で
過去の請求書一覧を表示させるときなどに消費税や年間合計などを表示させるときにクエリなんでしょうか? >>101
用途次第ですね。退勤記録を、あたかもタイムカードを見ているかのように
一人ずつ表示していきたい、なおかつ集計も見たいというなら、サブフォームのフッターに合計突っ込んで、親フォームでは、そのフッターを参照する式を書きます。(ここら辺、昔からACCESSの挙動が変なのでちょっとコツが入りますが)
請求は、参照閲覧用としては上に同じですが、締めという概念が入ってくるので、最終的にはいくら請求したかというテーブルが1個必要になって来ます。 >>102
退勤記録は
https://i.imgur.com/DBuPHIo.jpg
https://i.imgur.com/H8jxEhA.png
こういった感じで、月ごと日ごと従業員ごと、のような感じで表示させたいです
それぞれその日までの通算時間などを表示させて、です
このような場合はどのような設計がいいでしょうか?
請求書に関しては、売上テーブルから月末に対象となるものを駐出してそれを明細欄には表示させ
非連結で合計請求書や消費税を計算するつもりですが、まずいですか?
別途用意するテーブルとはどのようなものになるのでしょうか? >>103 まず請求。普通の売り上げ管理システムには
締め作業があります。
この操作によって、伝票の修正禁止フラグを立てると同時に
締め期間ごとの合計金額と消費税計算が請求テーブルに
書きこまれます。「確かにこの金額請求しましたよ」の記録で、
その後の処理も作るとしたら回収管理につながります。
私もこの手のシステムの設計のお約束を全て知ってるわけ
じゃないけど、基本的にはこの手のシステムは「冗長的な記録」
(参照で済みそうなことの記録)をあえて行っている、と覚えてください。
次に退勤ですが、やれないことはないけど開発時間の浪費が
懸念されます。たとえば、マックス株式会社のタイムロボという
タイムレコーダーは10万円前後で、よくできた退勤管理ソフトも
ついてきます。
どうしても内製にこだわるなら、私ならEXCELにデータソースリンク
を作って、ピボットでクロス集計かける。 >>104
フラグで制御するよりテーブル分けろよ
締めた時点で帳票、集計画面用テーブル作れば良いだけ
リアルタイム操作用テーブルはFORMとペアで専用で用意 画像でいうところの請求金額や、各項目の数量×単価の金額のフィールドって非連結でやってたけどこれって間違い?
正しくはどうやればいいんでしょうか?
これは末締めじゃなくて直接入力みたいだけど
取引先と日付指定して該当のレコードを売上テーブルからひっぱってくるようなときの計算です
https://i.imgur.com/hx6I9f2.png >>106
テーブルに項目として計算結果持つ方法有る >>106
俺も非連結でやってたけどここみてたらおかしいのかな?と思ってきた
教科書的にはどうやるの? >>105
標準的な設計ってそっちだっけ?
売伝のコピー作るってことでしょ。
私はあまり責任の重くない買掛だけ作ったときに(仕入先の請求書のほうが基本的に正しいから)、月締め後は直接仕入れ伝票に「もう弄るな」フラグ仕込んでるけど。 >>108
絶対に小数点以下が出ないのであれば
非連結でもいいんじゃないかな。
世の中、単価1.2円みたいな業種もあるので、この時は丸め計算の結果は登録しておく。
あと、食い物取引の軽減税率対応のシステムは明細単位で消費税類計算するロジックを採用してるのが多い。
レコード登録のもう一つのメリットはsum(数×単価)を毎回かけなくていいこと。今時のpcで体感差は出ないが。 >>109
物理的に分けた方が間違い起こしにくい
フラグ判定だと、バグでフラグ変わったら死ぬぞ 結局、末締請求書などをつくるシステムをつくるときは
全部クエリで計算してその結果をレポートに表示するようにしたほうがいいんですか?
それとも請求書を確定させたタイミングで
別テーブルに合計金額などを格納するレコードを作成して
idで紐づけたほうがいいんでしょうか?
(各明細の単価×個数などは非連結として)
よくわからなくなりました >>42
グラス片手にデータベース設計販売管理編とか読むといいかも >>112
どういう設計(システム的に)って話
これは経験しないと分からない >>114
あれ、いい本だよね。この本と、webサイトのT’s wareさんには大変
お世話になってる。 >>118
ね。平易で読みやすい。
そのサイト知らなかった。見てみる。 accdbを複数ユーザーで共有して使っています
フォームとデータを分離する必要性を全く感じません
ベンダってのはバカばかりなのでしょうか? >>121
釣りですか。まあ、お好きにしてください。
なぜベンダー?ベンダーがACCESSで納品するのってレアケースですよ。
NASとかに置いて各PCから多重に開くことができる、割と珍しい作り
なので運用局面では支障がないかもしれません。
ただ、ちょっとフォームやレポートのここを直したいな、レポート
追加したいなって時に「はーい、全員閉じてー」って言わないと
保存できなかったはず。 >>123
わざわざライセンス払う必要無いDBあるからね SQL Serverだとサーバー買う必要があるな
パソコンで良い案件だと尚更SQL Server不要
ExpressでいけるならAccessランタイム配布で足りる >>125
小規模なら一台だけPCつけっばなしにしてサーバーとして使えば良くない?
二四時間365日ついてなきゃいけないわけでもないだろうし MariaDB or PostgreSQLに
フロントエンドがOpenOffice Base
が無料で構築出来るけどね
OpenOfficeで使ってるJava部分をOpenJDKでカバーする必要有るけど
(32bit版限定、半年毎に大幅修正)
フロントエンドをAccess、FileMaker、Baseどれを選ぶかは状況次第だがFileMakerはiOSデバイスとの拡張がメリットの割にライセンス料金高い 10人以下の小規模ならそのままaccess単体で問題ないですか? >>128
使い道や頻度による。
検索メインで入力が1人か2人なら、もっと大人数でも大丈夫だし、
全員で毎日数十件の入力をするなら、バックエンドDBが必要だと思う。 安全も為にもMariaDBかPostgreSQLをバックエンドで持ってても良い
どうせフリーだし 環境: windows10、access2013
テーブルに格納されている「長いテキスト型」のデータをフォーム上のテキストボックスに連結して表示させると文字化けしてしまうのですが考えられる要因は何かありますか? >>127
Filemaker高いな…
iOSで使うような会社だと他に >>131
WindowsPC上はアスキーコードになるが元データがコード違えば文字化けする >>126
クライアント用Windowsをデータベースサーバーに使うのはライセンス違反
なんだよ >>135
でもaccessなんかでそうやってやれって書いてあるよね >>135 困ったことにMSってクライアントwindowsだろうが
windowsサーバーだろうが、システム的に全くCALをチェック
しないんだよね。サーバーOS+10CALで25万円弱、に
理解を示せる社長さんかどうか。
(業務用アプリにACCESS開発を試みてる時点で事業規模は
大きくないはず)
いっそ、linuxにしてしまうという選択肢もなくはない。
多少なりともGUIでできる幅が広がってるので。 デスクトップPCにLinux入れてポスグレとかMySQL入れるの?
オペレーションは電源切るくらいならGUIあればできるだろ、と
MSのライセンス的によくわからんのが、クライアントWindowsのHyper-VにサーバOS載っけて運用できるのかってことだか やるなら、Linux上のOracleXEにクライアントAccessでやりたいな
Oracle+AccessなんてちょっといいじゃないかVBの時代を思い出して ドライバ入れるのめんどくさいな
やっぱりWebが楽 >>133
ありがとうございます、また確認してみます Accessの場合、インデックスの断片化は「データベースの最適化」で解消されるのですか? >>138
WindowsPC用のMariaDB,PostgreSQL有るべ
まあLinuxサーバー(デスクトップ)でもかまわんが まあ古いWindowsPCにUbuntu入れてMariaDB,PostgreSQL入れればデータベースサーバーになる
Linux distribution個々のライセンスの問題有るが、Windows CAL回避するにはこういう方法になる >>141
webプログラミングでしょ。ちょっとやってみたけど、なにせvbaの頭でやってるとjava系言語は難しい。
全部クラス呼び出し、非同期処理その他諸々、画面作るのににマウスの出番が一切ない、などやるべきことが多すぎる。
かといってkintoneのようなお手軽webDBも取っつきにくい。 >>143
断片化とは具体的にどういう症状でしょうか。
壊れたから開けねー、みたいなアラートが出たら「最適化」は修復を兼ねてるので、直ります。
ただし、壊れたやつは普通にデータ飛んでることもあります。親子関係結んだ親テーブルのレコードが飛んでるとか。 >>146
高度なことやらないならVBの生産性はまだまだ現役ってとこですかね、スレ的にも
そんな方のためのASP.netのWebフォームは滅亡してしまったし、
抽象化とかイミフなおっさんプログラマー達には厳しい
ExcelもこれからはPythonで制御するとかって方向性もあるし AccessなんてVBに帳票出力機構とFORM生成機構追加したモノ、と考えれば良い
DBの代わり、にはならない
フロントエンドツール
バックエンドDBは別途、無料のモノ用意する
サーバーすらLinux、MacOSにすればCALなんて不要
(クライアントOSライセンスは仕方ない) >>150 クライアントアクセスライセンス。
スレチだけど、windows serverは1ハードウェアサーバーに
1つの役割しかさせないというのが常識だそうで
sqlserver用に1台、認証サーバー(ActiveDirectory)に1台
共有フォルダ用に1台って、なんでユーザーのログイン管理の
ためだけに
10人分で50万円近い金はらわなきゃならんのか、いまだに
納得いかない。 >>151
といってもそんなもまもってる馬鹿いないよね? >>152
大企業はサポート受ける手前守ってる
中小企業は知らん
Windows Server使うメリットは現在では少ない
Linux,MacOSサーバーで済む 1つのサーバーに複数の役割を持たせるのは別にライセンス違反ではないでしょ
それでサポート受けられなくなるとかあるの? Accessって、バックエンドのDBをリンクテーブルから直接更新するとおかしくなるよね
DB更新にもウエイトとか入れないとダメなのか?
そんなシステムじゃクラサバで使えないと思うんだが >>156
>>Accessって、バックエンドのDBをリンクテーブルから直接更新するとおかしくなるよね
昔からね
リンクテーブルに更新かけるのは基本的にしない様にしてる
ODBC経由で更新かけると大概タイムアウトくらう >>156 やっぱりおたくも調子悪い?
2人くらいまでの同時更新なら壊れないんだけど
3人くらいになるともうだめ。
壊れにくい方法としては、オートナンバーやめて
インクリメントの覚書きテーブルから払い出させる方法。
最終的にはDBサーバー使う方が確実だったりする。 SQL Serverにリンクテーブルでつなげて更新してるけど特におかしくなったりはしないな
それじゃ遅くて仕方ないって場合はADOでT-SQL投げてるけど SQL Serverはマイクロソフト製品ゆえ、だと思う
他のDBはODBC経由での更新では何らか制限が有るのかもね
https://oshiete.goo.ne.jp/qa/6594834.html
ここにも有る様に主キーをDB側のテーブルに設定しないと無理らしい 【 システム環境 】 Windows7, Access2016
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 否
【 検索キーワード 】 テーブル、クエリ、違いetc
初学者です。
テーブルは基本的な情報、クエリはwhere句やjoinなどなんらかデータを加工したものという認識ですが
クエリ→デザイン→テーブルの作成の意味が良くわかりません。
テーブルから抽出したデータをクリエと呼ばずテーブルに定義するのはなんかおかしいと感じるのですが
どう考えたらいいのでしょうか? 抽出データをごにょごにょして実体データを作りたいことないの? >>164
Access諦めてFileMaker使えよ Access使うならテーブルとクエリーの違い分かって無いと何とも
クエリー使いこなすのがAccessのキモだからな
VBAはどうしてもクエリーで対処出来ない場合やマクロで対処出来ない場合のみ使う
何でもかんでもVBAとかで対処したがるVBプログラマーの作ったAccessなんか仕様変更した場合メンテナンス出来ずに死ぬ >>164
その認識で正しいし、ACCESS内でもクエリーはクエリーで
テーブルと呼ぶことはありませんが。
クエリーを擬似テーブルとして、違うクエリーで再利用することはできます。
もしくは「テーブル作成クエリー」のことですか。
あれは、クエリーの結果をテーブルに書き出すもので、
SQLで表現すると「SELECT * INTO ナンチャラ FROM ナンチャラ WHERE ナンチャラ」です。
違うことが聞きたいのであれば、少し表現を変えてみてください。 >>168
下段のほうです。アクションクリエのテーブル作成クリエって言うのがいまいち使いどころというか存在意義が良くわからなくて。
でも、>>166さんの書き込みも踏まえて考えると別のデータベースに移すとき実体データを整えるのに使うのかなと思ったり。
よくわかりませんが。 × >>166
○ >>165
引用間違えましたすみません。 >>テーブル作成クエリー
中間テーブル作成
クエリーにクエリーを使うより確実だから中間テーブルを作ったりする
データ抽出結果も確認出来る 中間テーブル・・・はじめて聞く言葉ですがなんとなく解ってきました。
ビューみたいなものととらえれば大丈夫ですか?
違ってたらすみません。 >>172
いやmdb内部に作る作業テーブル
最終的な帳票なり、画面の元になるテーブルを作る前の途中経過のテーブル >>172
ビュー=(普通の)クエリーです。
中間テーブルは、SQLSERVERでいうところの一時テーブル(#TABLE)
です。ただし、ACCESSではライフタイムがないので、そのまま残ります。
一時テーブルの使い道は色々あります。レポートの呼び出しの時に
先に対象レコードを1個だけに絞っておきたいときとか、
前後のクエリーがくどい記述になる時とか、
VPN経由で回線が細い場合にレコード1個分だけ引っ張って
ワークテーブルとして利用するなど。 中間テーブルとクエリーをどう活用するか
がAccessのキモ
FileMakerにはAccessのクエリーに相当するモノが無い
SELECT文をスクリプトとして実行するか、テーブルオカレンスを使う
帳票ツールとして見た場合、Accessの方が安くて応用が効く
FileMakerはデータ保持容量の大きさとクエリー、VBAを使いこなせ無い人向けのDB(WebやiOSデバイスとの連携もメリット有るが)
何にせよFileMakerのライセンス料金の高さは中小企業には厳しいレベル 中小企業でFileMaker使ってる所は今後厳しいだろうね
ランニングコスト考えたらMariaDBやPostgreSQLとAccessの組み合わせの方に分が有る
OpenOffice BASEも有るし
iOSデバイス使ってないならFileMaker使うアドバンスは無い >>169
SELECT * INTO [EXCEL(バージョン) ;Database= (ファイルパス) 〜
とかで、1ブック内に複数の新規別シートで出力する時にも使えるよ。 いろいろレスありがとうございます
ビュー=クリエは目からうろこでした
レスを元にいろいろ調べながら考えてみましたが中間テーブルを作るということはクエリと違ってSQL文を実行する手間が省けるわけでデータが大きくなるのに比例して演算時間の短縮効果が大きくなるのかなと思いました。 >>183
まだSharpポケコンPC-1480Uが現役なので、次はシグマリオンに機種変更します。 昔はレプリケーションとかWebコンポーネントとかpdfのコントロールとかあったのに滅びたの代替できるのないの 質問です。
AccessでUnicode文字を扱うにはどうしたらよいのでしょうか?
立方メートルの記号である㎥など、Unicode文字を扱いたいのですが、イミディエイトウインドウでもメッセージボックスでも ? になってしまいます。
イミディエイトウインドウで ?MsgBox(ChrW(&H33A5)) とやっても同様です。
何か方法があるのでしょうか? >>186 の環境は Access 2013 です。 【 システム環境 】 Windows10, Access2010
お願いします。
データは入ってなくてもテーブルでフィールドを用意するだけでサイズは大きくなってしまうのか、
という疑問を持っています。
たとえば、家族テーブルというのを作るとして、
1レコードに、世帯主、家族1、家族2〜家族6までのフィールド構成にする場合と、
1レコードに、家庭id、家族内番号、名前、というフィールド構成にする場合、
どちらがPCに負担がないのか、ということです。
夫婦だけとか一人暮しの人も多いので、前者の構成だと空白だらけになります。ほとんどのレコードでは
データを入れる機会がないのにフィールドだけ6人分も用意するのはもったいない気もします。
しかし、後者だと、一人1レコードなのでレコード数が多くなるし、家庭idで複数レコードを
引っ張ってきて家族内番号で並び替えたりする処理なんかだと、かえってPCに負担かな、と
思ったりとか。。
一般論ですが、こういうの、どんなもんでしょうか? Docmd.applyfilterで急にエラーが出始めた。
strFilter="Replace([col1],'hoge','fuga')…のところがエラーになるようになった。
昔はreplace関数でエラーになったが、ある日実験していたら、なぜか急に使えるようになったので、そのまま使い続けていたら、急にエラーが出るようになった。
なんで突然挙動が変わるのでしょうかね? >>186
Access と VBA は Unicode に対応していますが
開発環境(VBE)とメッセージボックスは Unicode に対応していません
・Unicode 対応版のメッセージボックス(API)で表示
・メッセージ用のフォームを作成して表示
こういった方法になります >>188
1テーブルもアリです。10くらい作っておけば十分でしょう。
家族の名前を検索することもないでしょうし。
せいぜい法定福利関係のレポートに印刷するのに使うくらいでしょ。
もし、年齢が扶養家族に適合するか、みたいな属性もたせるのであれば分けた方がいいかもしれません。 >>188
家族の情報が、1人あたり大量にあったり、フリーテキストでもあるなら各1レコード持つべきだと思います
名前ぐらい、または続柄・生年・性別ぐらいまでの場合
自分だったら1つのフィールドを可変長文字列とし","で区切って入れて利用します。
家族無しならデータ長0のみになる
田中 トメ,田中 花子,田中 乱出威 妻,子,子。 yyyy/mm/dd,yyyy/mm/dd,yyyy/mm/dd, F,F,M など 最近はkintoneなどリレーショナルではないSaaSが台頭してきていて、
そのうち在宅ワーク(ないし出張先)可能とするニーズが出てくると思うんですね。
そうなるとAccess使いにはちょっと心地悪いんだけど、なるべく1テーブルに収める設計にシフトすることになるかもしれません。 >>191
そうだったのですね。
ありがとうございました。 MSがAccessやめてシェアポイント使えって言い出して長いからな
そのうちpythonで開発するように 昔自分で作ったけど、もう古いし欠陥も多いツール
もうおススメしない言ってるのに、
周りは慣れてるし実用に耐えるし便利だと言い使い続けて
たまに問い合わせしてくる
とか、クリエイターは嬉しいような困ったような >>196
>>シェアポイント
ユーザー増えないのは、問題有るからと過去の資産が有るからね >>196
Visual Studio LightSwitchの事もたまには思い出して 小さいオフィスで自分ひとりでACCESSつかってて
大して作業規模はかわらないけど別の営業所ができた場合(そこでもなんらかの入力をする)
一般的にはどのようにしているのですか?
リアルタイムでデータがいるわけではない場合、
別個にファイルを用意して、都度統合させる感じでしょうか? >>200
テーブル部分をNASに置いてvpnやってみたけど、けっこうきつい。回線品質は悪いときで3Mbps。
しかたないのでDBサーバー立ててadoでチビチビひっぱるリビルドでだいぶよくなったけど、
コードをトータル1000行くらいは書いたんじゃないかな。
必要な工数が格段に増える。
おっしゃるようなやり方は矛盾生じるのであまり良い設計ではないかもしれない。
スマホのアプリ、特に5ちゃんねるブラウザはSQLITEでキャッシュすることが多いので、そういう方法論が参考になるかと。 >>203
別拠点はむずかしいんですね
一般的な零細はどうやってるんですか?
営業所ごとにスタンドアロンなんですかね? FAXかな
ま、戯言はともかく、ルール作りが肝心
各拠点は何を必要とするか 本部はどの頻度でデータが欲しいか 次第
双方がリアルタイムで生の情報を必要とするなら相当工数も費用も必要となるし
終業時に一回送信すればいい とかなら該当データをメール添付で送受信するだけでいい
その場合はデータのインポート・エクスポート工夫するだけで済む
調子こいて大手の真似してVPN とか、できる。ってだけで実用に耐えない
便利を求めて本末転倒のアリ地獄
そういや出来立ての頃のFAXって、ハガキサイズ送信に5分ぐらい掛かったな
受信はその2〜3倍掛かってたような >>205
基本的には出勤簿とか売上データくらいだから
まあメールのインポートで大丈夫そうですね
双方で同期するようにしなくちゃいけないから大変そうですけどね
どちらもファイルを別ファイルにしてクラウドにおいておいて、一日のはじめのACCESS起動時に相互にインポートするようにしたらいいのかな >>206
それ、簡単そうに見えて結構大変よ。
多拠点のすべてのテーブルの追加 修正 削除の履歴を集め、
どの修正が優先されるのか検討しなきゃならんから。
A拠点がレコードID10を追加しました。
B拠点がレコードID10を追加しました。
A拠点がレコードID3を修正しました。
B拠点がレコードID3を修正しました。
A拠点がマスター系レコード1を削除しました。
B拠点がマスター系レコード1を参照する実績系レコード1を作成しました。
→翌朝に同期
シス管がいない程度の会社であれば、両拠点でヤマハのルータ(2万円の中古でもよい)を買えば、無料でvpnサービスを使えます。
まずは共有フォルダー上にテーブル用ファイルを置き、
単純なリンクテーブルでいけるか試してみては? >>200
自分ならPHPとかで作り直しますね。
どうしてもAccessじゃなきゃダメなら別ですが、色々考えるとWebに出した方が結局ラク。 ちなみに15年くらい前にAccessを使って拠点間のデータ同期をした際は、Web上にアップロードとダウンロードのスクリプト置いてAccessにHTTPを喋らせるというのもやったことあるけど、少ないデータ量なら結構アリでした。 DBをAzureに変換するだけで済むのがAccessの強み >>212
Azure SQL Databaseのことですか?
フロントエンドをACCESSってこと?
大体、いくらかかるもんでしょうか データ型の互換が今ひとつだよな
メモ型とかいうの何なの 他のスレにも書いたけど、嵌まって困ってる人がいるかもしれないので
「Access2010に対する KB4461522 を適用すると、和暦や曜日のコントロールにカーソルを合わせると落ちる」
https://answers.microsoft.com/ja-jp/msoffice/forum/all/access2010%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B/acdb2dc6-969e-43b5-9e3e-3c554f135785
KB4461522をアンインストールすることで解消とのことだったので、やってみたら解消された >>215
相変わらずマイクロソフトはパッチ当てが糞 新元号対応の何らかの施策をこそっと仕込もうとして失敗したかんじ PythonよりPHPとかPerlとかの方がAccessには妥当の様に思える 今からPythonといっても・・・
Access自体が終焉なのに 回避策は色々あるとはいえ、2GBの壁がある限り基幹業務には使わんわね
基幹サーバから抽出してもらったデータを自分なりに加工するとか、
基幹システムへの入力のためのフロントエンドぐらいか
中小企業の「あったら便利かも」なスタンドアローンシステム作りには良く使ってるけど とは言っても Access が無くなったら多くの企業は困るでしょうね そりゃ帳票ツールとしたら、これほど使えるモノは無い
DBツールと考えるから無理が有る FileMakerは下記の様に使いたい要望も有る様だが
帳票ツールとしてはFileMakerは融通効かんと思うし
495 名無しさん@そうだ選挙にいこう [sage] 2018/12/01(土) 18:57:58.64 ID:
唐突にすみません
pythonやjavaから接続してRDBのように使えるのでしょうか
検索しても3年前くらいの古い情報ばかりで・・・
ファイルメーカー自体がバージョンアップしてなくて古い情報のままと言うなら大丈夫なのですが Accessで電子カルテもあるぞ。無くなったら困るだろうな。 データ出力するために帳票出力するためのツール買う必要ないという点では優秀
底辺BIとかも不要になる、かもしれない
ローカルDBとしても使える 【 システム環境 】 Windows10, Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 否
3.3GBくらいのCSVにリンクしようとしたところ
「ファイル 'ファイル名' にデータが含まれていません。または、ファイルのサイズが大きすぎます。」
というメッセージが出ました。
リンクなら2GB超えていても大丈夫ですよね?
CSVをダブルクリックしてExcelで開こうとすると何も出てこない(画面がグレー)ので
そもそもCSVが壊れてるんでしょうか? >>229
容量も原因になる可能性有るから何とも
csvデリミタ終端が上手く出来てるかチェック office365のAccess2016が重いんだけど、office2016のAccess2016だと少しはサクサクになるかな?
あんまりとろくさいのでWindows10にAccess2003をインスコしたら余りのサクサクぶりに感動してしまったわ。 Access2003に戻したら、Atl+Tabでのアプリケーションの切り替えでAccessに復帰した際にポップアップフォームがフォーカスを失う現象に遭遇。Access2016だと大丈夫。
http://www.accessforums.net/showthread.php?t=51873を見ると他のバージョンでも同じ症状が出ている。
解決策をご存じの方いらっしゃいますか?とろくさいAccess2016は極力使いたくないので。 Accessってバージョンアップ必要なくね?
存在自体がレガシーで、特に時代に追いつくアップデートもなし 新しいイベントが追加されたり、不審な挙動がなくなるなど、利点もあるが、大幅なスピード低下とリボンの糞UIによる生産性低下の影響が桁違いに大きくて総合的に大幅なマイナスになるんだよなあ。
フロントエンドのmdbを他のアプリケーションに移植できたら高速になるかな?Access2003は結構サクサクだからjetが遅いとわけではなさそうだし。 2016 にしたら遅くなった事ですか?
自分のところでは聞いたことがないですね
Excel ではグラボのドライバによって描画関連に問題が発生する事があります
Access でも同様にハードウェア描画の項目があります
一度、有効/無効を変えてみてはいかがでしょう >>236
試してみました。「ハードウェアグラフィックアクセラレータを無効にする」にチェックを入れてみました。
Application.Echo False
雑多なコードコード…
DoCmd.GoToRecord , , acNext
Application.Echo True
が遅すぎて、キーを連打するスピードに描画が追いつかず、目的のレコードを通り過ぎてしまいます。
2003だとキー連打とレコード移動が同時という感じなので気持ちよく移動出来ます。 二つのクエリがあって
各カラムを比較してデータが合致してるかどうか判断し
一つのカラムでも合致してないレコードだけ表示させたいんだけど、どうしたらいい? テキストボックスに入力する都度、リストボックスをリクエリしたい。
テキストボックスの変更時イベントにリクエリを書いたんだけど更新出来ない。
どうすれば良いか教えてください。 >>239 更新後イベントに入れてみた?
あれの発生タイミングって、ググれば出てくるけど
かなり難解だから。フォームの「読み込み時」と「開くとき」の
なんで2つがあるんだ、とかレポートの「フォーマット時」と
「印刷時」の違いとか。 ありがと。更新時は動くのですが文字を入力すると絞り込まれていくような動作をさせたいので変更時イベントでなんとかしたいのです。
"A"と入力すれば100件くらい該当して、"AE"まで入力すると8件くらいに、"AED"で1件だけ、そんな感じにリストボックスの内容を変えていきたいのです。
もうちょい頑張って色々やってみます。 流行らなくなったのは、VisualStudioが登場したからなのかね >>241
リアルタイムで反映させるのわかったわ。me!txt1.text
me!txt1.valueじゃなくてtextプロパティなんだって。
出典はいつもお世話になってるT's ware様
https://tsware.jp/study/vol5/event_06.htm >>238
用途をもう少し詳しく。2つのテーブルは原則、ミラーの関係にあり
「完全一致するのが当然である、しかし何らかの矛盾が生じている」
の検証ですか。
だとしたら、
せれくとうんちゃら FROM T1
UNION ALL
せれくと うんちゃら(おなじフィールド順で)FROM T2
をQーUNIONとする。
(セレクトを英語で書くとなぜか投稿できないのでひらがなにした)
次に、クエリーウィザードを使って
QーUNIONを対象とした重複クエリーをまず作り
デザインに戻ると、「カウント」>1
1個より多いものをリストしなさいと命令していることが読み取れる。
これを逆に利用してカウント =1と指定すると、
矛盾データだけが表示される。 >>244
ははー
勉強になりました。
ユニオンで重複ですね >>243
ありがと。解決しました。
データ増えたときにレスポンスが心配ですが今のところ理想的な動作をしています。Value じゃなくてText 、色々応用できそうです。 >>244
これunion allじゃなくunion のが重複とれるしいいよね >>249 ただのunionって自動で完全重複は束ねてくれるんじゃなかったっけ? 【 システム環境 】 Windows7, Access2010
【 VBAが使えるか 】 はいい
【 VBAでの回答 】 可
レポートの両面印刷はVBAで設定したいです。お願いいたします。 accessってレコード同士を計算させることってできないですよね。
一つ目のレコードと四つ目のレコードをかけるとか 何でそんなことしたいのかが興味深い
4件目のレコードに1件目のIDとかあれば自分自身をリンクして掛け算するクエリが出来そうです >>255
やってみます。なんとかなりそうです。
ありがとうございます。 accessのDB共有はやっぱ怖いな
ファイルサイズがでかくなればなるほどリスク上がる >>257
分割してデータ側を共有するやり方だとトラブったこと無いけど
アプリ側とデータ分割しない状態で共有すると直ぐ壊れるね うちはもちろんデーターとフロントエンドを分割しているが、フロントエンドの壊れること壊れることw
コントロールの位置をほんの少し変えて破損、Captionを変更して破損という感じ。
どんなに些細なことでも、デザインビューでなにかをやるときは必ずバックアップを作成するようになった。 >>258
リンクテーブルで繋ぐという意味ですか? そうです
100人接続しても大丈夫
そこまで使うならSQL Express お勧めだけど >>262
私のはそれでもたまに壊れてしまうのですが、
随時バックエンドに更新かけず、クライアント側に一時テーブルを設けたりしてるんですか? 昔納めた販売管理システムになりますが
・システムと DB に別けて作成
・DB は Windows Server の共有フォルダーに配置
・DB へはリンクテーブルで接続
・常時4〜5人接続、フルタイムで週6日(土曜だけ1〜2人)
・売上伝票は月に約8000件
10年間運用して破損は一度も無し、でした
参考になりますでしょうか >>264
なんか、すっごい。普通はトラブルが起きそうなもんだが
生業としての意地にかけたね。
私なんざ片手間ビルドで自信がないので、
「このシステムは私が死んだら一緒に死ぬ仕組みです。
ある程度使ってみて、便利だと思ったら開発会社に正式版を作ってもらってください」と常々伝えてる。
要件定義のためのパイロット版としては
わりと優れたソフトウェア。
運用してから「ええっ?その業務、 そんな謎ルールでやってたの?」てのが
ボロボロ出てくる。 >>263
ローカルにもワークDB作りますが共有DB もどんどん更新して問題なかったです >>263
うちはガチのリアルタイムな書き込み競合で3人越えるともうダメですね。
どうやらキー列のオートナンバーが大人数に弱いみたい。
キー列にオートナンバーを使わず、
maxIdなどというテーブル、maxidという1つのフィールドしかもたないものを使って、
フォームのボタンで+1したものをまずmaxidテーブルに書き込んでから、その値をフォーム上のキー列フィールドに埋める方法を取りました。 >>267
作り方きっとうまいんでしょうね
>>268
参考になります
閉じるたびに最適化してますが、結構こわれます 最適化が終了しなくて壊れることもあるよね。
最適化の前にバックアップをとらないといけない。
なにをやろうとも、ひたすら壊れ続けるんだよな。 2007、2010、2013 バグが多すぎる。
2003に戻りたい。 最適化って仕組みはブラックボックスだと思いますが、
空のファイルにコピーするような動きしてますよね データベースのくせにサーバー側でウエイト入れたバッチ更新しないと壊れるのか
リアルタイムで使えないとか >>273
サーバー側に待機時間、なんか奥義の話ですか?
よろしければやり方教えてください。 >>272
デスクトップで最適化すると正にそんな動きしますね 現実問題
MySQL(MariaDB,PostgreSQL)+Access(OpenOffice)で十分でしょ
FileMaker一つでやるにもライセンスで死ぬ OpenOfficeってBase?
あれまともに使えるの? 主キーが重複したことあった(重複するはずないのに)
その.mdbファイルをデータベース最適化したら
重複した主キーのテーブルからインデックスの設定が消えたわ >>278
この時フロントエンドをaccessする必要性って
excelでよくね? Excelってユーザー認証とかどうやって実装すんの? >>283
外部リンク?接続のプロパティ文字列見れ。 EXCEL はデータベースに直結出来るの?知らなかった
ODBC で出来るならやりかた教えていただけますか ググったのですがMS QueryでDBからEXCELにデータを…みたいなんばっかり
EXCEL に入力するとDBに反映ACCESS イラネ、な情報にたどり着かんのです DATABASE ⇔ ACCESS はリンクで当たり前
DATABASE ⇒ EXCEL これも標準機能
DATABASE ⇔ EXCEL これが知りたい excelからアクションなしに即時反映したいってこと? >>289
あぶないからやめときなさい。
一人でやってる仕事ならまだしも
複数の人数が関わるとろくなことにならないから。
「ちょっと上の行にメモ書き入れとこう」とか、
「見づらいから一行おきに書くべきだよね、上のデータ邪魔だから消しちゃえ」とか。
上の行=大事な1レコード そもそも出来るかどうかが知りたい
EXCEL をデータベースのフロントエンドにって >>282 さんの書き込みが可能かどうか知りたいのです >>290
そうです
フロントエンドと言うからにはそう言うことが出来るのかなと
長年Office 触ってきてそんなことが出来るのも知らなかったのかと excel側からはDB更新できないのでは
ADOとかで書くしかないよね
MS Queryなら更新かけられるのか? ExcelをAccessのフロントエンドにするって、、
DBとして不十分なAccessに表計算ソフトでしか無いExcel組み合わせるって危険極まり無い
FileMaker+Excelなら有り得るかも知れんが
でもExcelからDB更新ってVBAでADO使ってゴリゴリやるしか無理でしょ
まだFileMaker+Access(フロントエンド)の方がマシじゃね Excelフロントエンドにする、って話だからExcelからDB更新するんだろ?
ExcelをVBアプリとかの代わりさせるんだろ? >>298
そこじゃねーよハゲ
「Accessのフロントエンドにする」なんて話はしてないって言ってんの CSVをVBSでAccessに書き込めるんだからExcelもできるんじゃないの? VBA使えるんだからできるのはわかるだろ
機能の話なのでは ExcelとAccessじゃAccess使える人ならAccess選ぶでしょ
Excel選ぶのはソフトウェア買うの面倒な人やAccess使った事無い人ぐらいじゃね >>292
軽く外部接続を見直した結果から言いますと、
現excelではMS queryもしくはpower queryを
必ず通っている、つまりselect * from tblの結果を返しているので
セキュアにリストが表示されます。
私の記憶では以前のバージョンでは接続文字列にreadwriteを指定し
excel上でデータ変更するとデータベース本体に反映される
仕組みだったように思いますが、廃止されたかもしれません。
あとは、VBAでADO操作をすれば、入力作業ができるかもしれませんが
ACCESSで無償配布を許可しているランタイム版があるので
わざわざEXCELをフロントエンドにする必要性は薄いかと。
(EXCELを上記方法でリストにしたり、ピボットかける
結果利用のためのツールとしてはよく使いますよ) ありがとうございます。
現在は抽出したデータを加工する使い方で、シートを編集するとテーブルに反映するような接続の仕方は出来ないのがわかって良かったです。 Excelなんて表示ツールだろ
更新に使うモノで無い 結局>>282がアホって事がわかって良かったです。 シートの更新イベントにDB更新させる処理を入れといたら良いだけじゃないの
たぶん色々と失敗すると思うけど >>303
一般ユーザーならexcelだろ
馴染みあるソフトにしてやるのが普通 Runtimeを2010から2016にしたら
acDesignと用紙サイズとバーコードで正月つぶれた >>313
何が原因なんでしょうね
うちのaccdbはたまたま2007でも2016でも同じ動作なので助かってます
ツリーコントロールとカレンダーコントロールが心配な今日この頃です >>314
レポートで古いプリンタ使ってるのないですか?
うちの場合ドットインパクトのVP-F2000で用紙サイズ「連続紙 12x3 1/2inch」の設定が
2016で開くと「ユーザー定義」に変更されます
2016で変更すると設定が維持されますが2010で開くと「ユーザー定義」になってます 用紙の設定はPrinterObjectを使ってRuntime実行環境でも設定可能にしてます
2002から2007に移行したときやはりレポートのプリンタ設定で困って実装しました
先日VP1850からVP1900に更新しましたがRuntime環境でプリンタと用紙の選択をしなおすだけでした
お勧めです >>313
バーコードコントロールはですね、ランタイムのパッケージに
バーコードActiveXに必要なファイルが欠落してるのですよ。
MSBCODE9.OCX
MSBARCODE.DLL
MSBCODE9.DEP
この3つのうちどれかが欠落してます。
どうすればいいかは、空気で察してください。 思てたんと違う!
?Eval("'熟女アリーシャ' Like '*熟シャ*'") 新元号発表は4月1日
マイクロソフトの修正前に行う
今年の春は色々と起こるかも >>316-318
アドバイスありがとうございます
いまはSpreadsheetTypeの引数を省略してたら2016がフリーズです
色々やってたらExcelが起動しなくなってヒリヒリしてます >>316
よく見たらうちもvp1900ではまったわ。
連続紙15inchと1/2 用紙登録番号が
pcによって変わるらしいので
来週は用紙名から番号をシークしてレポートに埋め直すプロシージャを追加する予定。
そのくらい自分でページ設定でやってくれよ、と思うのだが
やり方を何回教えても覚えてくれない泣 2019は元号変更、消費税変更でてんてこ舞い
システム変更とか安易に考えてると大事故になる windows updateでexcelの新元号対応を仕込んだらしいが、
案の定バグってexcel起動不可にしてやんの
accessも注意が必要だな >>327
KB4461614
今日のアプデこいつあてると
カレンダーコントロール日付自動判定で落ちるぞ
これの元号対応の2018年11月にあったのと同じ現象 会社で1台だけexcel2010で置いてけぼりのがあって、何やってもダメ。
ググったら早速ブログにあげてくれた人のおかげで救われたわ。
日米で深刻な経済戦争になったら
アメリカはその気になれば日本の多くのpcを壊すことができるんだなあ、と思った。 Windowsに頼り過ぎるからだろ
Linux+OpenOfficeなら無関係 先月まで順調に動いていたプロシジャーが「OSが対応していません」とかエラーを吐くようになった。
MSのせいかもな。自動アップデートは本当に止めて欲しいわ。 LibreOfficeみたいなもの?
俺もインスコしてあるけど、このスレで語る話ではないよな >>332
そのメッセージ、初めて聞いた。
参考までに何で引っかかってるのか分かったら教えてください
windowsAPIを関数渡しするやつですか >>336
>>実行時エラー'-2147467259(80004005)':
>>選択されたCollatingSequenceはOSでサポートされていません
です。CSVを読み込んで、mdbのテーブルに書き込むという作業で発生しています。
検索すると多少ヒットして、その中の解決策を試みているうちに、
当方ではファイル→オプション→なにも設定を変更しないでOKボタン押下
で解決します。設定が読み込まれていないので手動で読み込ませているような挙動です。 >>337
検索したら結構前から出ているエラーのようですね。
mdbを維持するのはそろそろ無理があるかも。(といっても、vb6でビルドしたソフトウェアの
ローカルDBファイルとして使われてるケースが意外と多いようですが) >>338
毎月お金を支払っている業務用ソフトで毎年バージョンアップされていますので、どうにもなりません。
うちの環境で突然出現したのは例によってofficeのアップデートをしてからです。
これからは自動アップデートはoffにします。じつはその業務ソフトの開発元も自動アップデートはoffにするように推奨しています。
MSにはいつもながら頭に来ますね。リボンは今でも腹が立ちます。 >>338
VB6+MDBか
VB6+フリーのDB(MariaDBやPostgreSQL)に移行すべきだな >>339
それ、毎月お金を支払う価値がないのでは
MSに腹が立つのもわかるけどその開発元もアレですな >>343
SQL ServerとフロントエンドのAccessの組み合わせがいいのでしょうかね? >>344
Access使ってたらOfficeのアップデート云々の話が解決しないんじゃない? >>345
仰るとおりですね。AccessがあまりにとろいのでVBSで書き込んでいるので、VBSでいいですかねw >>344
MariaDB or PostgreSQL
とAccessにしとけ >>347
どうしてですか?
同じMSどうしの方が安定しそうですが… >>349
SQL Serverはクライアントアクセスライセンスが必要
経費、と言うモノを考えろ >>350
ああ、うちは小規模なので無料の奴で足りるんですよ。 >>351
あ、言っちゃだめw
expressの正しいライセンスは自分のpcにいれて自分のためだけに使うためのものです。 >>352
そうですかw 以後、気をつけます。
ところでvbsで書き込みしているんですけど、遅くて困っています。
jscriptとかPowerShellとかC言語やらC++の方が速いんですかね? >>353
遅いってのはどれくらいのコトかな。
数秒/件とか1000件書き込みに何秒とか表現可能でしょうか? >>354
すみません
測っていません
体感で遅いなあと感じだけです.
一般論としてはC++が最速なんでしょうか?
どっかのサイトではjscriptはvbsより20倍速いというのを読んだことがありますが… SQL ServerのExpressでは通常業務では使えない Access の置き換えならお釣りが来るくらい過剰スペックです >>356
異常な日常業務に使っているのでOK ですか? >>358
ここは基本的に技術交流の場ですので
かまってちゃんは遠慮してください。
通常業務とは、それが結果的に利益を生むということです。
expressは基本的に開発テスト環境用途、あるいはAndroidで実装されてるSqliteのような一時保管DB用途を想定しています。
有償版と比べて機能的ロックを殆どかけていませんが、
本来はwindow server代と合わせて5calで50万円くらいの
製品のお試し版、という認識は持ってください。 >>359
Developer Editionと勘違いしてない? >>359
それは LocalDB ね
Express は小規模向けのエディション
ここ Access スレだよね 申し訳ございません。私の勉強不足でした。
商用利用は規約違反になりません。
ソフトウェアとの抱き合わせで配布することも可能です。
windows homeやproでサービスとして公開(共有)することは禁止らしい。
なので、WindowsServerでcalも買って
expressを入れるというコスパ良いんだか悪いんだかわからない使い方なら
規約違反にならないっぽいです。
MSAccessデータベースの共有が認められてるのは、「ファイルの共有」だかららしい。 SQL Serverって今はLinux版もあるんだぜ >>363
でもSQL Server部分だけはライセンス発生しまっせ >>347
maria dbって最近のよく聞くが何がいいの? >>366
ポスグレのがいいじゃんそれだと。枯れてるし MariaDBの良い所はMySQLの技術蓄積がそのまま使えるのよ
普及度はMySQL>>PostgreSQLなので
特に日本では >>368
どちらのほうが永続的に使えそうですか? >>370
確実なのはPostgreSQL
全くのフリー(BSDライセンス)
MariaDBはGPL2ライセンスゆえ著作権違反で訴える権利をMariaDB側が持ってる
ライセンス基準が違う なおMariaDBの元のMySQLはオラクルが著作権持ってるのでオラクルがその気になれば何時でも裁判起こせる SQL ServerはODBCドライバーがWindowsに標準で入っているからいいんだけど
他のDB使ってる人は各クライアントのドライバーのインストールどうやってるの? >>371
みんなポスグレ使おうよ、ノウハウ共有して貯めよ
でも、広まり過ぎると仕事なくなるしな リレーションとexcelのvlookupって結果は似てても
技術的にはどう違うものなの?アルゴリズムとか >>376-377
それを担当者がインストールしてまわるのか
または各ユーザーに自分でインストールしてもらうのか
それとももっといい方法があるのかな
アップデートも面倒みなきゃならんよね ユーザーごとの権限管理ってどうやるの?
VBAで実装すればできるんだろうけど、標準機能だとどうなのか
そもそもmdbやaccdb自体にセキュリティとかあるのか知らないけど >>382
ファイルなんだからふぁいるの権限設定じゃだめなの? Access2013 vbaで作業しています。
フォームに、
・A,B,C,...といった入力項目
・cmd1, cmd2, cmd3,...といったボタン
があります。
cmd1, cmd2, cmd3,...が押された時に、A,B,C,...に値が入力されているかチェックするために、
(Aは4桁の数値、Bはまた別の条件...)
Private Sub cmd1_Click()
If IsNull(Me.A) = True Or Len(Me.A) <> 4 Then
MsgBox ("Aを入力してください")
Me.A.SetFocus
Me.A.Dropdown
Exit Sub
End If
'Bについてもチェック
End Sub
のようにしていましたが、cmd1, cmd2, ...でコードの重複を避けるためにどのように書くのが良いでしょうか?
チェックする組み合わせはAとBだったりAとCだったりします。 とりあえず、いまは、
Private Function check_A() As Boolean
check_A = True
If IsNull(Me.A) = True Or Len(Me.A) <> 4 Then
MsgBox ("Aを入力してください")
Me.A.SetFocus
Me.A.Dropdown
check_A = False
End If
End Function
Private Sub cmd1_Click()
If Not check_A Then
Exit Sub
End If
'Bも同様にチェック
End Sub
のように関数の戻り値を使って対処しています。 その3つ(以上)のボタンの仕事は、入力内容をチェックしてエラーだったらMsgBoxを出す、それだけなんですか?
それぞれのボタンで、チェックする入力項目(TextBoxなど)が異なると? >>386
例として簡略化しているだけで、
cmd1: A,Bの値を使った処理1
cmd2: Bの値を使った処理2
cmd3: AとCの値を使った処理3
のようにメインの処理はそれぞれ別にあります。値チェック部はAかBかCか...以外は共通しており、
値チェックが通らなかった場合、メインの処理に入る前にexitする点も共通です。
理想としては、
Private Sub cmd1_Click()
check_A
check_B
AとBを使った処理
End Sub
だけで、ダメな値の場合にcmd1_Clickをexitしてくれればいいんですけど。 cmd1--3どれ押しても関連チェックさせるんだろ? >>387
そこまでできてるならあと一息なのでは?
私だったら、各不備はcheck functionの中にmsgbox仕込んで
あとはclick procedureのほうで
checkA+checkB<>-2 ならやめる、と書くけど。
booleanといってもしょせん、true値-1、false値0の
数値なので。 >>383
ログイン機能つけて、ユーザー毎に項目オンオフとかは?
アプリの中の話 フォーム上に配置した複数選択コンボボックスにおいて、ドロップダウンリスト内の並びは
「値集合ソース」にてSQL記述で任意のキーに応じた並びにできているのですが、
複数選択して閉じてリストが消えた後のコンボボックス内の選択データが
テーブルの並び(データ作成順)になってしまいます。
これも任意の並びにするにはどうすればいいでしょうか? >>392
どうすれば良いかはわかりません
コンボボックスで複数選択可能は知りませんでした
明日やってみてヒントにでもなるようなことがわかればレスします Accessからの乗り換えでオススメはありますか? >>395
まだアップサイジングウィザードとかいうのあるんですかね?
SQLServer+Accessに乗り換えがオススメなのですか? そうですか
今時Accessだと開発効率が悪いのでOSSDBと高速開発ツールかなと思ってました え?そういうことを考えられる人がする質問とは思えませんが…
どうぞ、自己解決して下さいな。 >>398
高速開発ツールずっと探してます
何かおすすめがありますか? >>392ですが、ここでは回答を得られないので質問を閉じます >>400
Access+SQLServerがおすすめですよ RestAPIやらリアルタイムJava使えるし何よりWebだからモバイルでも使えるし
間違えてもPowerAppsとか行かないように >>404
PowerAppsに移行するものだと思ってました
情報ないので手がついてませんが
Access365?でWebアプリ作成が作成出来なくなってるみたいですしOffice 365環境の社内アプリ的なものはやはりPowerAppsなのでは? PowerAppsって何ができるの?
EDIと繋げて受注システムとかできんの? >>524
マイクロソフト製品で揃える意味は分かるがライセンス料がかさむからって話 ありがとー
数年で社内システムを移行出来る気はしないが、こうすれば移行出来るよって残していけそうです ブラウザアプリを1から作るのって、頭禿げるよ。
ボタン一つ、テキストボックス一つ置くのも全部手打ちだし、
CSSで体裁整えなきゃならんし、
データベースのサーバードメインとウェブページの置場が
異なるときにcors制限をどう克服するか、というのもあるし。 Access初心者です。教えてください。
下記のようなテーブルがあります。
【地域テーブル】
地域コード、地域
【都道府県テーブル】
都道府県コード、都道府県名、地域コード
【市区町村テーブル】
市区町村コード、市区町村名、市区町村カナ、都道府県コード
【地区テーブル】
郵便番号、地区名、地区名カナ、市区町村コード
【顧客テーブル】
顧客ID、顧客名、地域名、都道府県名、市区町村名、地区名
フォーム顧客登録(分割フォーム)で顧客ID、顧客名を手入力。
地域名、都道府県名、市区町村名、地区名はコンボボックスで絞り込み選択するまではネットを参考に出来ました。
分割フォームのコンボボックスで地域や都道府県名などを選択すると先に入力したレコード(コンボックスで選択されたもの)が消えます。
顧客テーブルを確認するとコンボボックスで選択したものは各IDが入力されています。
分割フォームと顧客テーブルで地域名などを表示するにはどうしたら良いのでしょうか? 【コンボボックス:地域名】
列数 2
列幅 0cm;8cm
コントロールソース 地域名
値集合ソース 地域テーブル
値集合タイプ テーブル/クリエ
連結列 1
更新後処理 Private Sub 地域名_AfterUpdate()
Me!都道府県名.Requery
End Sub
【コンボボックス:都道府県名】
列数 2
列幅 0cm;8cm
コントロールソース 都道府県名
値集合ソース SELECT 都道府県テーブル.都道府県コード, 都道府県テーブル.都道府県名, 都道府県テーブル.地域コード FROM 都道府県テーブル WHERE (((都道府県テーブル.地域コード)=[Forms]![F_顧客登録]![地域名]));
値集合タイプ テーブル/クリエ
連結列 1
更新後処理 Private Sub 都道府県名_AfterUpdate()
Me!市区町村名.Requery
End Sub
【コンボボックス:市区町村名】
列数 2
列幅 0cm;8cm
コントロールソース 市区町村名
値集合ソース SELECT 市区町村テーブル.市区町村コード, 市区町村テーブル.市区町村名, 市区町村テーブル.市区町村カナ, 市区町村テーブル.都道府県コード FROM 市区町村テーブル WHERE (((市区町村テーブル.都道府県コード)=[Forms]![F_顧客登録]![都道府県名]));
値集合タイプ テーブル/クリエ
連結列 1
更新後処理 Private Sub 市区町村名_AfterUpdate()
Me!地区名.Requery
End Sub
【コンボボックス:地区名】
列数 2
列幅 0cm;8cm
コントロールソース 地区名
値集合ソース SELECT 地区テーブル.郵便番号, 地区テーブル.地区名, 地区テーブル.地区名カナ, 地区テーブル.市区町村コード FROM 地区テーブル WHERE (((地区テーブル.市区町村コード)=[Forms]![F_顧客登録]![市区町村名]));
値集合タイプ テーブル/クリエ
連結列 1 丁寧な質問の仕方ですな。
ぱっと見ですけど、顧客テーブルに格納するのは、
「コード」なのか「名」なのかの錯綜を感じます。
段階的絞り込みのコードは問題なし。
一般的には、「地域名」のスナップショット的な
保存性を重視しないのであれば
顧客テーブルは、顧客ID、地域ID、都道府県コード 以下 類似。
これをクエリー作成画面で各マスターとのリレーションを張って、
地域名なども表示するクエリーを作成、
フォームのデータソースにこのクエリーを指定する。
フォームは、やや冗長的でも「コード」のフィールドと、
連動する「名」のフィールドを配置する。
逆に「地域”名”」だけ保存出ればいいのであれば、連結列2にします。
値集合ソースのSQLは、
WHERE 都道府県テーブル.地域名=[Me]![地域名]
としても、今時のPCで動作が重いということはないでしょう。 >>414さん
ご返答ありがとうございます。
>ぱっと見ですけど、顧客テーブルに格納するのは、「コード」なのか「名」なのかの錯綜を感じます。
ご指摘通り初めてのAccess、初めてのDBで戸惑っておりイマイチ頭の中が整理できていないかもしれません。
クエリーまだ理解しておりませんので勉強してご教授頂いた通りやってみます。
ありがとうございます。 Accessはいかにクエリーを使いこなすか、になる
VBプログラマがAccess使う案件に関わるとクエリーが存在しないのでおかしいなと思ったら全てVBAでデータ加工されててAccess自体がVB EXE状態になってて解析するだけで一苦労だった思い出
仕様書にVBAの仕様ぐらい付けとけ、と言いたくなった思い出 それってVBA内にSQLそのものを記述してた ってことだろ?
そっちのが判り易くね?
標準モジュールで Public Function RunSQLcommand( とか宣言しといて
それぞれのフォームやレポート内のVBAで Call RunSQLcommand( って呼び出す奴
その直下にSQL書くだけだもの 行ったり来たりしない分余程楽じゃね?
テーブルとそのVBAをまるごと出力するだけで、移行先の連中にしてみてもそっちのが解析が百倍は楽 >>416
Access はクエリやレポートなどのオブジェクト数に上限があります
オブジェクト数が多いと accdb が重くなったり accde が作れなくなる事があります
だからコード上に直接クエリ(SQL)を書く開発者は多いです
逆にクエリで保存するメリットはクエリがコンパイル済みになり実行速度が上がります
このあたりを考慮しながら使い分けると良いですよ レガシーコードをリファクタリングしたとき、VBA外での使用箇所探すのに苦労したから、
クエリはプロトタイプ限定でしか使わず、accessで納品の場合はVBAのみにしてる。 >>418
>>実行速度
これに関して速度遅いと文句言われる場合、クエリーにせざるを得ない
Windows2000+Office2000とかで開発してた時は文句言われぱなしだった
今はハードが速くなってVBAでも大きな問題無くなってるけど VBA使わずにACCESSの機能使いまくりの素人システムなんて移植しようとは思わんな 素人が素人の範囲で完結するならVBA無しでもOKでしょ
All or NothingでVBA有りきで作ったならVBAの仕様も書類上載せて作れば良い
仕様書上にないVBA使われてる場合が困る 見易い・理解し易い仕様書にお目に掛ったことは無いけど
自分で解析した方が早くね?
仕様書がお粗末だって嘆いてる時間がムダ それでも仕様書なんてものにお目にかかれるだけ幸せってもんだ ネガティブ・シンキングw 物事前向きに考えられないのかな
水戸黄門のテーマソング歌ってあげようか?w そりゃ、規模からいえば零細でしょ(失礼、今は小規模企業というのか) 中小の規模すら満たさない
けれども、そんな零細(小規模企業)が世の中支えてるのも現実
零細(小規模企業)がいなくなったら中小も大手も立ち行かなくなる、生き永らえない
だけど、零細(小規模企業)は中小から有ること無いこと押し付けられて特殊な集計とか
しなきゃならない 畢竟市販のアプリじゃ対応できない
そおゆうトコにAccessの出番を見出すんじゃ?
単価が合えばSler辺りに任せられるけど、とてもとても って規模が対象でしょ
裾野、広いよー 件数で稼ぐのがAccess って棲み分けだと思うんだが 君たちパッタリ書き込みなくなったり急にスレ伸びたり、おもしろいな。
sqlの特に条件句に動的要素があればadoでいくつかの手順組んでおいて
>>417
みたいに実行するほうが、ラクな時もあるね。
あと、フィールドが30以上あるやつの転記も。
2要素程度のパラメータークエリーだったら、クエリー保存して
queryオブジェクト使ってパラメーター埋めるけど。 ちょっと何言ってるか分からない w
ado でいくつかの手順組む?
2要素程度の・・だったらクエリー・・(ry ?
無理してカキコしなくともロムってりゃいいのに
君たち じゃなくて、あんたがおもしろいわ UNITBASEの売り込みが有りました。
ACCESS を移行出来るらしいので話をうかがってみようかと 今はAccess選ぶかFileMaker選ぶか、だろ
Accessはデータベースと言うより帳票ツールが主な用途だし、零細企業のDBならFileMakerで良い(ライセンス料金ボッタくりだが) まあDB部分だけならPostgreSQLかMariaDB(MySQL)かSQLServer Expressにする方が妥当 431です
後継者問題がなければ現状のSQL Server Express + ACCESS なんですけどね
んーどうしたものか 今時零細企業でAccessの社内システムさわるような間抜けにAccess は使いこなせない、というジレンマ >>438
まあ、それは言える
VBA出来るくらいならVisual Studio ExpressでVB.NETでアプリ作るわな 両者の開発経験者なら比べるまでもなく分かると思うが
Access と同じ事を .NET でやろうとすると何倍も工数がかかる
業務アプリの生産性に関しては Access の方がはるかに上 >>439
VB.NET 詳しい?
フォームで、例えば納品書を想像してもらえればいいんだけど
明細部分をサブフォーム使ってるとするじゃん
その、品名、摘要、数量、単位、単価、金額、備考とかの部分を
Excelの列拡げるみたいにドラッグで拡げたり縮めたりできる?
Accessでもデータシートビューでなら可能だけど、一行を二段にしたりってケースもままあるから
どうしても設計しなきゃなんないんだよなあ
そこがVB.NETならできる ってなら、すぐさま乗り換えるんだけど
モニターサイズもFHDとHDが混在してる環境だと縛りがキツかったりするし
いまだにスクェアSXGAで頑張ってる人もいるし、ノートに依ってはHDですら無かったりもあったり・・
解像度で自在に変化してくれるフォーム 欲っしいなー >>440
あぁ、そうなんですか 439さん、やっぱいいです 読み流してくださいw 社内システムをちょいちょいってのはAccess が簡単ってことでうっかり25年も使ってしまって
そのまま後継者に悩む老人になるとは想像もしてなかったなあ レポートがなきゃVBでもC#でも何でもいいんだけど、工数考えたらAccessになっちゃうよね
趣味のツールやフォーム1個でいけるアプリなんかはC#でチャチャっと片付けるけどデータベースでレポートもってなるとね VB.NETでWebアプリ作るとフォームはAccessの様には行かんけど、そこは諦める VB.NETでレコード(クエリー)とリンクしたフォームを作ろうとパソコンに向かったけど、俺には無理だったな。結局Accessは優秀という結論になった。 >>446
そりゃSQL投げて取って来た内容編集して張り付けする必要有るからな runtimeとmysqlのドライバをまとめてインストールするインストーラとか作れない? C++で何でも出来ますAccess 遅くて使い物にならないでしょうとか言う新人が他部署にいたな
COBOL 出身の俺なんか出番無くなるかもと思ってたけど10年経っても何も起こらない C++やC#でAccessと同じアプリ作るのにどれくらいかかるか
VB6でも大概 昨日発見したんだが、日付のテキストボックスで0000/00/00を設定してある場合に、日付を修正するときに特定の桁の数字が消えない現象が発生。
1年くらい前の日付は大丈夫だったけど、2019/03/03は全部消去しようとしても____/_3/_3になってしまう。左から7文字目と10文字目が削除できない。なんだこりゃ? これまで安定に稼働していたんだよねえ。
どうせ元号がらみのアップデートが原因なんじゃないかと思ってるんだけど。 質問です。よろしくお願いいたします。
たくさんのテーブルだけで構成されているアクセスファイルがあります。
これを、別のアクセスファイルやエクセルファイルが接続して、テーブル内のデータを読み書きする
ようになっています。LAN上の複数のPCから同時にアクセスして、レコードセットを取得してどうとかって仕組です。
(前任者が作ったシステムで、よくわかりませんが、とにかく、データはそのアクセスファイルに集中していて、
そのデータの変更や利用は、LANにつながったそれぞれのPCにある別のアクセスファイル、エクセルファイル
の各マクロがいろいろやってます)
私も、エクセルのマクロを勉強しており、このたび、私も独自マクロ(VBA)で自分の仕事の分を楽にする
仕組を作りました。そのアクセスファイルから必要分だけデータを抽出して集計を作るプログラムです。
万が一のことを考えて、私がエクセルVBAを実行するときに、「接続対象のアクセスファイルのコピー
(バックアップ)を念のために、同フォルダに(バックアップ_元ファイル名)として作ってから実行する」と
いうVBA命令を書きました。
質問なのですが、これ、かえって迷惑でしょうか?
他のPCからも接続されいるかもしれない状態で、万が一のためのバックアップをとろうとしたら、逆に不具合
が起きる可能性が高くなるでしょうか?
メインPCの、データアクセスファイルのあるフォルダを見ていると、***.accdbというファイルがありますが、
別のPCが接続して利用している瞬間は、***.laccdbというファイルができています。
この臨時ファイルができているときに本体をコピーしようとするのはまずいですか?
付け焼刃知識の私は、最適化をしようとしているわけではていからいいんじゃないの?という気もするのですが。
どうでしょう? 日付を入れる窓があり
その下に複数のフィールドがある
日付が入力されたときに既にそれと関連したレコードがあるなら
それを表示させる
なければそのまま入力をつづけていく
というのはどうやるのがいいですか? >>454
他の人が使用中のaccdbをコピーして不具合があったことはないですね
どこにもバックアップが無いならむしろ毎日定期的に実行しましょう
壊れたらすまん文責負わず ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows10, Access2010
【 VBAが使えるか 】 ・いいえ
【 VBAでの回答 】 ・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード Accsess IF関数
IIF関数で金額によって受入勘定をフォームに表示させる方法がわかりません。参考にしたのはこちら。
https://www.feedsoft.net/access/guide-query/guideq75.html
よろしくお願いします。 >>459
金額によるレコードの抽出だったらクエリの選択条件に指定するのがおすすめ >>460
こんな感じでしょうか?
https://www.feedsoft.net/access/guide-query/guideq75.html
これだとパラメータの入力を求められます。
抽出条件に入れると抽出条件でデータ型が一致しません。となります。 >>461
別の理由じゃね? 金額を見て何か記号っぽいものを見せたいってこと?
テーブルの金額欄が「文字列型」格納になってるとかさ。
>=“10000” みたいに文字列を明示した条件式を作ってみて、
エラー吐かないならそういうこと。
リファレンスサイトの内容におかしな点はないと思われる。 「IIF関数で」「金額によって」「受入勘定を」「フォームに表示させる方法」
なにかひとつ足りない気がする俺が変なのか? 何か分からんが足りない気がする 気がするだけ?
抽出ってことなら >>460 で正解だし、パラメータの設定が間違ってるなら >>462 で再チェックすれば済むけど
>>459 が求めてるものは違う気がしてならない 気がするだけだけど
あ、もしかして、特定の金額入れたら「勘定名」を表示したいってこと? いや、まさかな >>463
おっしゃるとおりです。何故この表示が必要なのかわかりませんが。
事の始まりは省略しますが、社内制作物が国税局から資産との指摘を受けて、作成年月日と購入部品の合計金額などと詳細見積りをエクセルファイルにしてました。ただ入力ミスなどが多々あるのでAccessのタブコントロールで解決を試みました。 おまw ちゃんと会計ソフト使え 偽装の手伝いなんかしねーよw
つーか、ExcelならExcelの中で解決しろ
なんで環境拡げてミスを増やそうとする?w
そんなレベルでミスが多々あるならべき乗でミス増えるだけだw つって、Excelスレ辺りに迷惑掛かるといけないからヒントだけやるけど
シナリオ とか ゴールシーク とかいう関数名だったと、うろ覚えだが
目的の数値に成るように途中の値をいぢる いぢれる関数だったわ、たしか >>465
もっともです。コンプライアンスが息をしてませんので。一時期流行ったんですよ。イレクターパイプで作業台を作るの。私もこの仕事はしたくはないです。
>>466
ゴールシーク。ありがとうございます。 >>466-467
そ、そういう話だったの?w
納得しちゃってるし。
帳簿でゴールシーク使う理由って一つしかないじゃん。 それにしても「国税局から指摘受けた」とか、大きく出たな
そんな大企業が経理をシコシコExcelで微調整してんのか
それとも「資料調査課」に入られたか?
「資料調査課」という部署では、税務署では扱えない悪質・非協力的な会社の調査をしたりします。
国税局と税務署の違い でググったら ↑ の一文が出てきたんだが だから偽装に手は貸さない って書いた
なんだよイレクターパイプ ってw そんなことココには何の関係も無いだろ ひとっカケラも意味無いわ
そこへきて コンプライアンス だってやんの 推して知るべし レベルの相手しちまったわ
関数名教えて手助けしちまったけどw ▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows7, Access10
【 VBAが使えるか 】 はい(Excelなら)
【 VBAでの回答 】 可
【 検索キーワード 】 アクセス サブクエリ リレーション
[テーブル1]
ID
日付
氏名
残業時間
[テーブル2]
ID
氏名
日付(月初の日付) <- 一月ごとに個人の残業予測の値があるという感じ
残業予測
という状態で、
111 2019/03/05 名無しさん 5h 45h
111 2019/03/06 名無しさん 4h 45h
111 2019/04/02 名無しさん 0h 60h
のようにデータが表示されるクエリを作成したいです。
無知な私は、一度このようなクエリを作成して
[クエリ1]
* [テーブル1] 月初 :[日付] - day([日付]) - 1
[クエリ1]の[ID]と[月初]を、[テーブル2]の[ID]と[日付]にリレーションして、
以下のクエリで完成させます。
[クエリ2]
* [クエリ1](月初は表示しない) [テーブル1]![残業予想]
表示するといった二度手間な方法しか知りません。何かいい方法があったら教えていただけると助かります >>471
[クエリ1]
* [テーブル1] 月初 :[日付] - day([日付]) + 1
でした 目的が判然としないが 毎日残業予測値を表示しても無駄では?
月初からの累計と比較するならまだしも、当日の残業時間と月の累計予測値を並べても意味無い気がする
質問に答えろとお叱りを戴きそうだが、やりたいことが明確なら「他のやり方がある」と回答する方が無駄が無いとも言えるし
判り易い例で例えるなら、こづかい帳 月初からの支出を日々累計して、月の小遣い限度額との差を毎日見る ような
どうなんでしょう >>473
省略していましたが、その月のその人の累計残業時間も[テーブル1]に保存されるようになっています。
上からの要望で詳細・目的は聞いていないのですが、おそらく、個人にその月の残業予測をさせて、それ以上は残業したらお叱りみたいなことしそうな感じが。最近予算に余裕ないみたいで。
毎日出力してお上に報告するシートに、個々人のその日の残業時間、当月残業時間累計、当月残業時間予想が載る感じです 呆れちゃうね 上から言われたからやった おれはまちがってない
なんか最近そおゆうのばっか
途中で誰かが気付いて間違いを正すとかって気は起きないもんかね
そんなものを要求するお上とやらも、どうなんだ?ってハナシで
ヒント出したでしょ なんなら現金出納帳と読み替えてググってみ? 山盛り出てくるから サンプルまで ソースまで 残業予想ですが、
外部結合とSQLについて検索してみたら解決策が浮かびました
サブクエリ内で、left join on でリレーション試してみます
「もう一度学ぶMS-ACCESS」で基礎を学ぶ、これ結構重要っすね 普通に学んでいれば、累積データをテーブルに入れる必要も、月初をクエリで計算する必要もないことわかるんだけどね。
手抜きすぎるよ。 全てのcommandbuttonオブジェクトのCaptionを変えようとしているけど、面倒だね。
いちいちControlのTypeを判別しないといけないのが非常にダサいよなあ。
一括でcommandbuttonオブジェクトを参照できるようにすべきだよな。設計がしょぼいよなあ。 いままでやったことの無い業務を依頼される
どうするか、プロトタイプのつもりでExcelで簡単なレイアウトや
それに伴って計算式など組んでみる 試す できる
あれ? わざわざAccessでやらずともこれでいいんじゃね? とかなる あるある
ボリューム次第だろうけど、上の勤務時間明細なんか、Excel案件だろ 裏がDBならフロントは何でも良いのでは
後はセキュリティと保守性との兼ね合いというか Accessでやるべき案件を、
上司が理解できないからExcelでってのはよくある。 クライアントが、コンサルにだまされて機能満載のデータベースをExcelに置き換えってのはあったわ
excelとあまりかわらないwebベースのデータベースもどきも困る
kintoneとかは、excel業務の代替であってRDBの代替じゃないのに >>481
転職して最初に「データベースの世界」を見せるために
(うち、こういうレベルなんです(泣))
excelでaccess風にマクロ組んだときはしんどかったなあ。
その後、すんなりaccess買ってくれたけど。
excelのオブジェクトセットの理解が中々しんどくて、rangeとかcellsとか
1行ずつ下っていくとか
accessとは微妙に異なる知識が必要になる。
何回も自動記録走らせてコード確認してみたり。 >>483
わ、データベース初心者なのでそれどんな内容か知りたいなぁ 483じゃないが、ExcelでもSQLは使えるので、読み書きは苦労しない。
シート名や列名を変えられないように保護するとか、
壊されないためのしょーもない処理が大半。 昔に比べたらExcelのテーブル機能は良くなったね Access でそこそこ動くの作ると増殖して取り返しがつかないことに
私はそうなっちゃいました accessでクエリ実行すると「フィールドが多すぎます」のエラーが出ました。
たしかにフィールドは255超えるのでaccessの処理は無理と思います。
そこでフロントにaccessバックに他のDBを考えていますがフィールド数が255超えてもクエリが実行できるようなDBにはどのようなものがあるでしょうか? あんまし考えずに答えるけど、カラムが255超えてるなら
バックエンドにどんなDB持ってきても、Accessじゃエラー吐くような
Accessで255超えるケースでの工夫をしてみたかどうかが判らないが
SQLの受け皿が無いんだからエラーは一緒 なハズ
MySQL とか Oracle とかいっぱいあるだろうし、なんならExcel2013以降でも >>255超え
KEY+カラム(分割)してテーブル分散
クエリーで結合して帳票、フォーム向けに使う クエリの結果が255超えてるなら、結合時にエラー吐くような
結果レポートにしろフォームにしろ255以内のソースを並列で使うしか無いような
どうしてもそのテーブル使わなきゃならないのか知らんけど、設計ベースでなんか JEITA のEDIフォーマットが255項目超えてて困った事があったな
結局分割して取り込み、必要な項目だけで15項目くらいのクエリにして変換した思い出 >>492
そうだったw
サブフォーム、サブレポートで連結するしか無いか JEITAは組織名で、いろんな規格をまとめるところ
EDIはその規格のひとつで、電子商取引のElectronic Data Interchangeの頭文字てだけ
Web-EDI用にいろんなシステム開発されてるけど、東芝だ富士通だ大興電子だがベースを担ってる
だいたいが資材調達用途とかで、メーカーと納入企業(下請け)とで同一システム上で受発注の簡略化を図って
導入されるものだけど、複数メーカーと取引してるとこは、それぞれで別個の画面でログインしなきゃ
ならないから、自社用に管理するならそれらをどっか別のテーブルに納めないとならなくて逆に煩雑になる
オンリーさんで、一社だけとの取引ならフォーマットも整えやすいんだろうけど
そうは言っても連中もExcel辺りへのExport機能は備えてるから、Excelでまとめた方が却って楽 じゃね?
製造工程にそのデータを取り込むなら既存のAccessシステムへ流し込む必要も出てくるかも知らんが
往々にしてそのまんま使うと社内の流動性が阻害されたりして、中間で人間が調整しなきゃならなくなったりで
生データとしての有効性は、あんまし無かったり。。。 いや個人の感想やけど
で、納入時にはEDI専用の納入書と画面上での納入通知で、どのみち人の手使うんだし
いや、単に一部を見聞きしてるだけで、全国でそうかどうかはしらんけど 以上レポートでした >>494
その、サブフォームを連結するってワザで、
メイン&サブにしてしまってはマズイ状況で、やむを得ずサブフォーム二つ並べて、
それを格納するためだけのカラのメインフォームという形で作らざるを得ない状況に成ったとき。
以前ここでもT's Wareさんの名を目にしたけど、そういう実務のワザを持ってるのは
hatenaさんだと、すがる気持ちでサイトを覗いたら呆気なくサンプル載ってたことは有った。
あの人はすごい。 壁にぶつかるとhatenaさんを頼るけど、何歩も先を進んでるわ、あのひと。
上の例は、片方のサブフォームでスクロールさせるともう一方がそれに追随して自動でスクロールする。 って仕様。
当時は上下のみだったけど、もしかしたら・・ 改良して、左右にも・・・ いや、それは要らんか。 今はExcelをデータベースにしてフロントをPowerAppでとかいう人もいるからな
Accessの開発スピードは素晴らしいけど、MSがもうやる気無いし
Windowsでしか使えないものは消えていくんだろうな Accessはクライアントに存在すれば良い
DBサーバーはWindowsでもUNIXでもLinuxでも困らない
ExcelをDBってクラッシュした時の事考えて無い様に見える
(Accessにも言えるが)
相応のDBは中小企業でも必要だと思う MSがAccessをやる気ないのは、20年前から変わってないような
トラブル起きると、個人利用前提のソフトだといって逃げるし
正規化とか考えないといけないデータになるとExcelじゃ厳しいし、
dbサーバ管理契約を渋る中小企業も多いし、移行先提案は悩ましい DBクラッシュ て、たびたび話題に出るけど、ン十年100ン十社やってきて
一度たりとも経験無いが 自慢していいのか?
どこが有効なのか第三者の視点で意見もらった事も無いから、自慢はしないけど。
ACCESSに限らず、中途半端に齧ったレベルの連中はすぐ「バグ」だの「クラッシュ」だの
言いたがるけど、ホントか?っていつも思う。 自ら省みる点は無いのか?って。
で、ACCESSの代替が、しょっちゅう喧しく登場してくるけど、尻すぼみで消えてく。 そこが問題。
対比されても堂々と受けて立つアプリが、なかなか見当たらない。已む無く継続する。悪循環。
枯れてるし環境依存だし、昨今の風潮にはそぐわないかも知れないけど、クローズドな事務所系
のネットワーク内に限り、という条件なら十二分に威力を発揮する。機能満載。
じゃあACCESSって中小企業の要望を満たす案件には適任なんじゃないか? と成ってしまう。
いっときFile Makerを一所懸命研究したけど、なんだったか忘れたけど足りない点が有って、
ヒラヒラとデスクの上から舞い落ちていったブツのひとつに成り果てた記憶はある。 今は知らない。
いいじゃないか、少ない経費で必要な業務を構築できて効率化に繋げるための支えに成れれば。
そうやって会社の規模を大きくして、大きくなったら次のシステムを使って増強していけば。 なんて思う >>500
たまたまでしょ
Access97の頃までは良く壊れてた
今はPCのDISK容量がかつてのWindowsNT Server並みに有るから >>500
DB、と言う機能だけで言えばFileMakerで済む
FileMakerがダメなのはレポート機能とフォーム機能部分
ここがAccessより劣る >>500
十分、自慢していいですよ。
親子関係結んだ2つのテーブル持って
2名で同時アップデートかかると
わりと壊れやすい。
あえてオートナンバーを使わない、とか
明示的にトークン持たせる設計にするなどの
勘所はわかってきた。 オートナンバーをプログラム実装するのってどうなのよ >>505
そうきたか。ACCESSなんて非IT従事者が便利ツールとして
片手間にビルドする便利ツールよ。
私みたいな素人にプロの常識語られても、なんで標準実装している
機能を使っちゃいけないの、と思う。
SQLServerのIdentity設定も、プロは使わないのかな? いや、ACCESS1.1aの頃から、、、
Excelも同じだけど、FDが十数枚分厚い封筒に包まれてた頃から、、、 そうか、オートナンバーか それが原因か それは単なる符号でしか使ったこと無いわ
だから壊れた経験無いのか 今さら教えられたわ
そういや、当時の解説本にもそれを使うやり方多かったな
プロトタイプと本稼働用で辻褄合わなくなるから使わなかっただけだけど オートナンバー使ってようがなかろうが壊れるときはあるよ
平均で10年に1度くらい
Accessの修復でなおらないひどい壊れ方したことはないけど
バックアップさえとってあれば、クライアント作業でも10分以内に
業務再開できるし、あまり問題にならないかな FileMakerの方が壊れにくいらしいけどね
ライセンス料金高いが どういうサンプリングか判らないけれど、10年使い続けたら
さすがにフロントエンドも世代交代してくんじゃないの?
それに伴ってどこかのタイミングでバックエンドも交替させるじゃん?
サーバー本体だって代替しなきゃ・・の時期迎えると思うんだけど
平均で っていうことは二十年以上使い続けてる? まさかね
ちょびちょびアップグレードすることで、ちまちま稼ぐ って図式もあるでしょ
提供する側だって、時代に合わせて設備更新必要だし
MSOfficeなんか特にアップデートに直結して影響受けるものだし EDIと言えば、
列方向に、1項目あたり31日分の枠を確保してある、あの仕様何なの?
schema.iniで255列分しか定義できないってのに、300列とかふざけてんの? ユリシーズ31とAccessは、何か関係がありますか?
私は無いと思います。 >>512
今月の総発注数と日々の納品スケジュールって事だったけどそんな使い方するお客さん居なかったな
電線とか樹脂原料みたいな部材はそんな注文方法なのかと想像してた
結局Excel とかPDF (泣)をメール添付っていうのが大多数になりあの頃の苦労は何だったのかと懐かしい 初歩的な質問かつ情報不足で申し訳ないですが教えてください
access(確か2013)のリボンにメニュー以外の項目がどうしても出てきません。
リボンとツールバーのオプションを開いても、コマンドの選択・リボンのユーザー設定のプルダウンメニューに何も表示されません
これは私の探し方がおかしいのか、そもそもシステム設計者の方でシステムを弄れないようにする設定などされている可能性があるのでしょうか? >>516
それっぽいですね・・・・・・
ランタイムじゃexcelデータの差し込みってできないですよね? メニューのプログラムの中にMicrosoftAccessが存在するかどうか
存在したらそのまま起動したら素のAccessが起動するかどうか
プログラムを見てMicrosoftAccessがインストール済みかどうか >>517
これ無理ですか?
差し込みじゃなくてもいいんですが、excelでいうオートフィルみたいな機能で楽に作ったデータをaccessのレコードとして登録したいんです どのTableに差し込みたい のかに依るんじゃないの?
それが既存のテーブルで、他に支障が出るならダメだし テーブルの設計者に相談しろとしか
フォームやレポートで見えるフィールドだけが設計時のカラムとは限らないのがテーブルだし
或いは新規テーブルでいいとしても、その受け皿作ってもらわないと
ExcelからADO使ってAccessファイル作れるのかな? 無理じゃないかな
http://eprostation.jpn.org/code/vba/vba0006.html
とか思ったら ↑ でやってるか 自己責任で 既存壊さないように
しかもこれはmdbだからaccdbでもできるかどうかは・・
Jet.OLEDB.4.0 とか書いてるから、現状のRuntimeで使ってるファイルでは
対応できない可能性のが高いか・・
Runtimeの判別もできないレベルじゃ敷居高過ぎるか 全然勧めないよ、おれは
無理じゃ無さそうだけど、やめとけ と忠告しとく
結局テーブル作れても、読み書きExcelでやるなら、全部Excelでやる方が効率はいいんじゃ? 助けてください。
VBAで、適切なSQL文を書かなくてはならず、前任者のものに手を入れているうちにわからなくなりました。
tblBasic(顧客の基本データ)、tblDaicho(請求データ)、tblIn(入金データ)という3つのテーブルがあります。
ここから、今までの入金すべてから支払処理済のものを引いた金額を預かり金額として算出したいのです。
SELECT tblBasic.顧客番号,tblBasic.氏名, iif(isnull(入金額計),0,入金額計)-iif(isnull(支払済金額計),0,支払済金額計) AS 預かり金額
FROM ((tblBasic LEFT JOIN (SELECT 顧客番号, Sum(請求額) AS 支払済金額計 FROM tblDaicho WHERE 支払済 = True
GROUP BY 顧客番号) AS Q支払済金額計 ON tblBasic.顧客番号 = Q支払済金額計.顧客番号)
LEFT JOIN (SELECT 顧客番号, Sum(入金額) AS 入金額計 FROM tblIn GROUP BY 顧客番号) AS Q入金額計
ON tblBasic.顧客番号 = Q入金額計.顧客番号
WHERE (IIf(IsNull(入金額計), 0, 入金額計) - IIf(IsNull(支払済金額計), 0, 支払済金額計)) > 0
ORDER BY tblBasic.顧客番号"
SQL文なんて知らないくせに適当にコピペしていてこうなりました。本文では改行はしていません。
「JOIN操作の構文エラーです」というエラーが出ます。
何がだめなのか、指摘してください。お願いします。 ↑
自己解決しました。
お騒がせしました。ごめんなさい。 クエリーデザイナーなら大したことないんだろうけど、平文にするとエグいな。
なんでnz使わないんだ、とか。
私はアレしてコレして、が3段階くらいになるときや結合テーブルが3つ、4つととっちらかるときは
中間のクエリーを2、3個噛ませるわ。 エラー文でググって理解したと予想
>改行はしていません
と書いてるが、むしろ改行して把握し易くした方がいい ( ) の数が一致してない
辺りか 最後が " で終わってるのはご愛嬌としても 365 のaccessの閉じるボタンがいつのまにか、ウィンドウタブに移動して探しまくるの巻。 >>526
そうそう、何が起こったか解らんかった。マウス壊れたのかと思った。 よろしくお願いいたします。
ACCESSで作った業務システムを使っています。
データベースとクライアントで別々のファイルにしてあり、
ひとつのデータベース部分のファイルを、社内LANで共有して、
各人のPCにあるクライアント部分のファイルからそれぞれの社員が接続して使っています。
教えていただきたいのは、この、クライアント側のフォーム上に、データベースファイルを最適化する
ボタンを設置していいのかどうか、ということです。
何らかのかたちで最適化をしないとデータベースファイルが破損する可能性が高くなると聞いたのですが、
だからといって、他の人も接続しているかもしれない状態で、最適化やバックアップを実行するのは危険でしょうか?
とはいえ、そういうボタンでも設置しないと、誰も最適化をしないままになると思われます。
結局、各クライアントにそういうボタンを設置し、手が空いた人が、
「みなさーん、今から最適化するから、少しの時間だけ手を止めていて!」と室内で叫んでからそのボタンで
最適化をやってもらう、というスタイルしかないんじゃないかと思うのですが、いかがでしょうか?
もっとスマートで標準的な方法ってありますか? 標準装備の「最適化」だけど、あくまでもスタンドアロンでの利用を想定してるんで
バックアップや、コピーとかは、サーバー側で対応するべき どのくらいの頻度でやります?
電気代気にしないならコマンドラインをタスク化して夜中に走らせることもできるかもしれない。
https://qiita.com/Q11Q/items/42577c1952536d8a4e1a
顔が見える範囲なら、声掛けるのもまた、立派な「運用」ですよ。
何せ手間かからないし。
やったことはないけど、入力途中で最適化走らせるのは不具合出るかもしれませんね。 データベース使用中は最適化してもエラーで終わるだけだから的外れ accessを主要な業務に使ってるところってどれくらいあるんだろう?
簡単な備品管理とかバイト出勤簿とかじゃなく、
本当に会社にとって大事な、もしそのmdbなりaccdbが
壊れたら大損害くらうレベルの業務で使っているところ。
俺は、2000年頃に、バイト先の物流会社で見たことはある。
外部業者に100万近く払って作ってもらったという業務管理システム。 ほとんどの日本人が知っている会社で数万人規模での利用が一番大きいかな。
バックエンドはOracleで夜間に全国の拠点間でバッチ処理で同期してたわ。
業者に100万程度なら、Excelでもできるくらいのものじゃないかな。
個人委託だとさらに安くなるだろうし。
RDBの構造になっていなければ、no codingでデータベースもどきが
作れるといってるサービスへの移行も楽。
そうでないと、データ数が1万程度でも遅すぎて使えないから移行できないけど。 >>533
自分も片手間にビルドしてる時間合わせたら100万まではいかなくても50万くらいにはなるから、
そんなにぼったくりではない。
フリーでAccessシステム請負人やっている人が時々居るけど、綺麗な自動動作してるなあ、と感心したこともある。
ガチの基幹はお高いやつを入れたほうが安心だけど、在庫にしても生産管理にしても日本の企業ってそれなりにオペレーションに癖があるので
吊しのErpをカスタマイズしまくるより
作った方が良いこともある。 >>529
その環境での最適化はかなり危険だと思います
逆に最適化を実行する事で破損する可能性が大きいです
ちなみに最適化の主な目的は削除スペースのパージです
肥大化が10%前後なら必要性は低いと思います
なので最適化をしないから破損しやすいという事はないです
ただ破損している DB を使い続けると破損がどんどん悪化します
それを UI 上から修復するのが「最適化と修復」です
なので「最適化したら破損しにくくなる」と思われても不思議ではないです
実際は最適化と修復はそれぞれ別処理です >>529
一つ覚えで聞き飽きてるでしょうが
SQL Server Express に移行がオススメです 最初に
・サーバ(Express含む)運用なら、継続サポート契約必須
でやってるから、accdbからexpressへの移行は基本的に断ってるわ。
社内で最低限の知識を持った人員を育てる気すらないのに
サポート契約結ぼうとしないところとは関わりたくない。 個人や零細なんてそんなとこしかないのに何言ってんだ
まぁ今すぐ来いコールには閉口するから気持ちはわかるけど ACCESSって食えるの?
社員として社内で重宝されるということじゃなく、ACCESSシステム開発の技術者として
外注を受ける形で食っていけてる人って、他の言語に比べたら少ないでしょ。
検索したら専門を謳ってる会社はあるみたいだけどね。
なんというか、
ACCESS技術者とホームページ作成技術者というのは、90年代末のバブリー肩書きというイメージがある。 アクセスに限らず、サポート契約という概念すらないクライアントなんていくらでもあるよ。
「おまえが作ったんだから何十年でもずっと面倒みろよ、常識だろ?」
「パソコン買い換えたら動かなくなったぞ。こっちきて元通りにしろよ」
とか普通に言ってくる人のほうが世間の多数派。 >>541
Accessだけだと厳しいんじゃないのかな。
うちは、基本的に他で作るけど、プロトタイプをAccessで作るのと、
サポートなしの意向の場合にAccessを提案するくらい。
最初からAccess前提で話持ってくるところは、相手にするだけ無駄。 ACCESS2010で教えてください。
フォームの詳細(section)の描画時イベントで、条件によって背景色を変えているのですが、
ボタンを押したら、描画時イベントを中止する、もしくは、すべてのレコードの背景色を
白に変更したいです。
ボタンにどのような記述をすればよいでしょうか。
よろしくお願いします。 Me.詳細.BackColor = RGB(255.255.255)
または
Me.詳細.BackColor = vbWhite >>545
回答ありがとうございます。
描画時イベントで付けている色がクリアされないのですが
どうすればクリアされますか? >>541
.NETとAccessで食ってます。
指定が無い時は.NETで提案していますがAccessを指定してくるお客さんが多いです。
うちの場合だと3:7くらいでAccessです。
単純に工数(というより費用)を抑えたいのだと思います。
小規模案件でもかなり金額が変わりますから。
あとはこっち系に詳しいお客さんだとAccessを指定してきます。
いじれる人にしてみたら自由度が高いですからね。 仕様書もない、予算もないが大多数の中小ユーザー。それに腕前を調べるって意図もあるだろうし、様々な業務に精通しているかも知りたいだろうし、発注する側もいろいろ考えますよ。 >>546
じゃあ、背景色白の条件式を増やすとかで
描画時イベントってForm開いてる間ずっと発生してるんじゃ?
Open時とかじゃダメなのかな
ボタン押したときに隠しテキストボックスとかへ値を入れて、その値で判断するとか
Formの背景丸ごと色付けするなんて仕様をやめる案も
タイトルをチカチカさせるとか、カラフルなやつは前世期末に流行った方式かな
Win10仕様でモノクロ平べったい方が受けはいい気がするけど さすがに今日び手書きで電卓 なあんて事務所は無いだろうし
だけど、運用してるアプリの「ここがダメ」「ここを増やして」「これの計算はこうで」
という要望をカタチにしてくのが手っ取り早いやりかただろうから
「仕様書ありますか?」なんて素人相手に聞いてるようじゃ、「仕事できません」って
宣言してるようなもので、ウラ返せば「仕様書に書かれたものしかしません」とも取れるわけで
注文住宅受発注時に施主に「設計図ありますか?」って聞かねだろ とか悪態突いてみる 今のOfficeパックにはAccessは含まれてないんだな
単体で買わなきゃならないの? Office 365Business に移行して下さいではないのか
??14,526でamazon に売ってた office365とかだと、サードパーティーのアプリをインスコするときにMS ACCESSがありませんと怒られることがあるんだよね。
チャットで問い合わせると、パッケージ版がインストールされてないとダメと怒られることがある。なんでだろうね? >>552
あるよ
>>554
インストーラの判定条件が雑なだけ 365って頻繁に変更されるから、それをきらってるんじゃね しょうがないからoffice2003を引っ張り出してインスコしたのはいい思い出。 >>547
VB(.NET)からAccess起動して帳票とかね
結構良く有るパターン >>558
それやるとどんなメリットあるの?
クリスタルレポートいらないとかそんなん? laccdbが消えない
メモ帳で上書き、拡張子変えても削除できません。
ファイルサーバにあるので再起動もできません。
どうやったらロックが外れますでしょうか? >>561
ファイルサーバーの再起動待ちしか無いかも
Windows Server では経験無いけど古いNASでたまにそんなことあったな 【 システム環境 】 Windows10, Access2019
【 VBAが使えるか 】 はい
【 VBAでの回答 】 可
【 検索キーワード 】 テーブル集計行 小数点
テーブル一番下段の集計行で平均を表示しているんですが、どうしても小数点第12位まで表示されて、幅を狭めると##########となって読み取れません。これを小数点第2位ぐらいで表示したいのですがどこで設定出来ますか?それとも出来ませんか?
宜しくお願いします。 プロパティで書式を標準にする事で解決できました。
有り難うございます。 ファイルを管理させようとする場合、バイナリ埋め込みはまずやらないと思うのですが、
セキュリティを考えるとディレクトリパスもみせたくない
こんな時どうしたら良いですか?
ランダムなダウンロードURLみたいなものを都度生成できますか? >>566
ランダムなダウンロードURLとかディレクトリをテーブルで定義して持てば良い
で、テーブルに権限なりパスワードかければ良い >>566
デスクトップにコピーしてから開く
というのはどう? ファイルなあ。ネットアプリだとblobで保存するんだろうが、accessだと
肥大化するのが嫌だからアドレス格納にしてるわ。 教えてください。
フロントエンドとデータで、別々のファイルに分けています。
データのファイルはLAN上にあるのですが、フロントエンドのVBAで最適化できない
ときがあります。
フロントエンドは、ExcelやAccessのファイルです。VBAで、
dim dbFile1 as string , dbFile2 as string
dbFile1 = "\\abc\共有フォルダ\mydata.accdb"
dbFile2 = "\\abc\共有フォルダ\最適化後mydata.accdb"
DBEngine.compactdatabase dbFile1, dbFile2
このように書いても、うまく行くものとエラーが出るものがあります。
何かおかしなところがあるでしょうか? >>572
単にユーザー権限が無いだけでは
Access最適化なんてどんなユーザーでも出来たら不味いでしょ accessに管理者ロック的なものがかかっているっぽい(リボンが表示できない等)ような場合だと、excelとの連携とかは厳しいですよね?なんか手段ありますか? RUNTIMEと呼ばれる、実行環境だけなのでしょう
Accessはお値段ちょっとお高めなので、そういった手段で無料で実行環境を作れるように成っています
Excelが最新なら、Excel側からデータを引っ張ることは可能かも知れません(データ接続に制限が無い場合) >>576
一応製品版入ってたんですよね・・
なんでわざわざ不便にするのかわかりませんが・・ じゃあリボン折りたたまれてるだけじゃないの?
普通にアプリ起動する方法でAccessだけ起動できる?
もし出来たらそこからShift + Enterで当該ファイル起動すれば
開発状態でファイルが開けるハズだけど
まあ、Shift + Enter すら拒否するやり方もあるけどさ >>575
アプリ作った人にリボン出して貰うか、エクスポートのボタン作って貰う。
私も余計なとこ触られたくないときは
ナビゲーションを非表示にすることがある。 >>578
>>579
シフトエンターでも無理だったので開発者の意図っぽいですね
なんとかして上と掛け合ってみようと思います・・ エクスポート機能がついてないのは
会社としては,そのデータは取り出し禁止ってことかもね
まずそのデータの取り扱い要項を確かめた方がいいのでは 具体的には既存のaccessテーブルにexcelで入力したデータを追加したいんです
要はaccessのシステムが入力に不便な形なのです それこそ管理してる人にしっかり確認しなければいけない案件だよ。
素のaccessテーブルならexcelから貼り付けもできるけど、
table側でのデータチェックはゆるくて、form側でデータチェックを
厳し目にしているなら、意図しないデータの保存につながるし。 >>583
そもそもエクセルとかからデータ追加出来ない様にしてるんでしょ Access最高
Access最高
Access最高 業務用ソフトのコードを眺めていたら、sql文用のstring型の変数とrecordset用のobject型の変数のペアを延々と何度も再利用しているコードがあった。
読んでる途中でどのレコードセットなのか即座にわからなくて笑ったわ。
その後、ちょっとした入門者用の本を読んでいたら、"Don’t Use One Variable for More Than One Job"という章があってまた笑った。
Accessのプログラムってやっちゃいけないことが満載だったりするんだよなあ。
毎月金払っているソフトのコードが予想以上に貧相でガッカリするんだよなあ。
俺はプログラマーじゃないから他の言語はわからないけど、PG業界って大体こんなものなの? 毎月? それはちゃんとクレーム付けた方がいい
こんな貧相でやっちゃいけないことだらけのアプリに
毎月○○○万円も払えません! とっとと修正するか
入門書ですら笑い飛ばしてるような仕様を恥じて
撤収してください!と そこは厳しく問い詰めた方がいい
上にもそれらを上申して取引を即刻辞めるよう薦めるべきだ >>591
ところが、競合製品は沢山あるんだけど、Accessみたいなカスタマイズの簡単さを実現しているものはないんだよね。競合品は入力時にフォームの使用を強制されたりして使いづらいんだよね。 ? 褒めてんだか貶してんだか 要は他の選択肢無いてこと? じゃあ、減らず口叩くだけ徒労じゃん
まぁ、言いたいお年頃って奴はあるんだろうけれど それなら気の済むまで罵倒して行きなされ
気が済んだらじぶんの仕事に専念しなされ じぶんがでかく稼ぎ出して、会社のシステムを
自分の納得のいくSIerに任せられるようなお立場に成りなされ それが出来てこそ甲斐が在るというもの
いまのところ野次馬のヤジでしか無い >>593
俺が選定の権利者なんだけどね。というか最高責任者w
カスタマイズを始めてみてコードを覗いてみたわけよ。そして、オリジナルコードの余りの酷さに絶句しているのよ。
教科書に書いてある常識的なことくらい守ろうよ、と思うわけ。 >>595
心配してくれてありがとう。今年で15年目だけど、30年目指して頑張るよ。
そんなことはどうでもいいけど、Accessのプログラマはまともな勉強もしないで、現場の経験則だけで知識の更新をしているような気がする。
AccessやVBAのまともな和書が殆どないのが原因だろうね。小学校でプログラム教育やるよりも英語教育をちゃんとしないとヤバい気がする。 >>596
きれいなコードで記述された役に立つプログラム、だけの世の中になると良いですね >>597
綺麗さは求めていないけど、わかりやすさは欲しいですね。リーダブルコードが言ってることと同じかw
メチャクチャなコードを見ていると、大変な現場なんだろうなと、同情はするけど、明らかに勉強不足と思われるコードも散見されるからなあ。 定期的にこの手のコードがなってないマンが出てくるね それは出会って無いだけ 世の中広い いくらでも高機能なAccessアプリは存在してる
どこだっけな 北陸方面だったと思うけど あぁ、有限会社ビットさんだ
フォーム上で生産計画立てるのにドラッグ&ドロップでの操作を可能にしちまってる これはすごいと思う
ともあれ、月額保守まで取られてるなら言い分は対応している会社に言うべき
共に育てる気が無いなら同じ穴のムジナ さもなくば、広く世間に問うべき ウチのシステム請け負ってくれと
君にはこの言葉を贈呈しよう 「井の中の蛙、大海を知らず」 代表なら代表らしく、下を貶めることなく上を見続けろ
ところで、その愚鈍なシステムでなんらの問題無く現在必要な業務は賄えてるんだろ? >>600
え?綺麗なコードも見たことあるよ。もちろん、別のソフトだけどね。
ちなみに、件のアプリも全く見違えるくらい綺麗なコードがあったりして、PGの能力差が大きいのを実感できる。
綺麗なコードは簡潔で行数も少なくて、最初は驚いたね。すぐにCallしていいのかと疑問に思ったね。
その後、リファクタリングやら構造化プログラミングという言葉をしって納得したんだけどねw
そういえば、最初に自分で書いたコードは変数名がX1とかA1とかだったけど、いろいろ勉強しながら直していったなあ。
当時はその方が格好がいいと思っていたなあ。 赤面ものですねw
例の愚鈍なシステムはいろいろと問題がありながらもちゃんと業務はまかなえてますよ。もちろん、効率が悪いからカスタマイズやら勝手にバグFIXをしていますが。
それにしても、プロシジャー内で稼働しているコードの何倍もの長さのコードがコメントアウトしてあったりして、べからず集としては実に良く出来ていますわw 何を今更。
しかし良く出来たAccessアプリケーションに劣る業務ソフトが沢山あるのも事実 わたしのVBA コードもコメントアウトだらけですね
お客様の受発注仕様や製造工程の変更、新商品の追加などに追従出来るのもACCESS の手軽さがあればこそ
他の人から見たら悪夢のようなコードだろうな コンパイルされる言語でのコメントの量なんてどうでもいい 最初はきれいなコードでもそれに追加させられてたらだんだん汚い物になって行くんだよなあ 私のは、自分専用の手料理ツールであることをいいことに、
引数がどんどん追加されていくw >>596
そのまんま俺だわw
30までは全く違う職種で、転職してアクセス触りだした
素人まがいでもクエリー多用でなんとか作れるから務まっているがコードは正直よく分からん >>608
別にVBA出来なくても作れるからな
それがダメだと言われたら、VBAに該当するモノが無いFileMaker何か使うユーザーはプログラマでも何でも無い、となる 自動更新を不可にしてoffice365使っています。有料のアドインがAccess2016限定なんだけど、さっき、Windowsのアップデートを気の迷いで行ったら、なぜかAccess2019にされてしまって有料のアドインが使用不可になってしまった。
https://answers.microsoft.com/ja-jp/msoffice/forum/all/office/67665e18-c4c7-4c1c-b5d1-3ff6e6cd8334 を見ながらバージョンダウン出来たんだけど、どのバージョンからAccess2019なのかわかれば、寸止めできるんだけど、誰かわかりますか?
Access2016のままで最新のを使いたいもので… >>611
アドインの作者さんに問い合わせるか最新版に対応して貰えばどうですか >>612
2019対応版は発売されていまして、suiteなんで1000ドル近いんですよね。バラで買うと、何かと不便だし。
別に2019の機能はいらないし。とりあえず、office365にAccessが導入された頃のをインスコしましたが、
どの更新チャンネルが2016の最終版か、知りたくて…
いろいろ経験してみて、office365よりもパッケージの方が便利ということを学びました。 >>613
マイクロソフトは間に合わない宣言してたな OSのカレンダーに追加で和暦カレンダー出そうとしたら中国の旧暦しかない
AccessのIMEモードも日本語とハングルが一括り
MS本社からしたら東アジアの日中韓は一括りなんでしょうね、全然違うのに 連休明けにアップデートだけやれば勝手に和暦の対応は済むことを
社畜は知るだろう
そこを一ひねりして年内だけは「元年」表示させる工夫をしたのをお届け
たかだか八ヶ月のためだけに でもちょちょいとできるのはメリット
各Verのチェックは確実じゃないけど2000でもできた?Excel2010もふつうに変わった めでたしめでたし Acces2013 ランタイム版は新元号対応なし? access2010です
テキストインポートウィザードで保存した定義を使った場合と
”保存したテキストインポート操作”を用いた場合で動作が違うのですが
両者の動作の違いが知りたいです。 Androidでは提供されていませんが
入力端末として使うときにおすすめのアプリはありますか?
最終的にACCESSに取り込めればいいです
今、従業員(高齢者なのでPC操作を教えることはほぼ不可能)に時間やチェック項目を記録をとってもらっていますが
手書きなのでPCに登録するのが面倒です
フォーム形式で1件ごとに規定欄を埋めたりチェックするかたちで
任意の項目を配置して手軽にスマホでタップするだけ、余計なところはいじれないというものがいいです
またよく入力する名前などはマスタからプルダウンで
選べると助かります 用途、必要台数、使用環境とかで変わってくるだろうけれど
https://www.koujishashin.com/pad/?from=ad_sc&gclid=EAIaIQobChMIp435qdq14gIVBKqWCh11ZgWvEAQYBSABEgJmLvD_BwE
実現してるのは ↑ こんなのもある ここの開発部隊に聞いてみるのも手
おじいちゃんだらけだと、モニタ小さいと「見えない」と必ず言われる じゃあ10インチレベルが必要 費用は? とかがネックに成ったり
モニタ小さくてもいい ケースだと、入力項目の件数次第では画面遷移を頻繁にしなければならなく成ったり
で、入れ間違えて(戻る)や取り消し頻発で誤操作とか、データ重複の大量発生とかに悩まされ兼ねない
Androidと言えども頻繁にバージョンアップが有り、時にシステム作り変えないと旧バージョンは連携出来なくなったり の危うさも
十年一日毎度同じことを入れ続ける とかなら古いバージョンでも構わないだろうけれども
WindowsとAndroid、双方の開発が苦にならない状況ならいいだろうが
今日日Windows Tabletも安くなってきた Windows同士での構築の方が、後々メンテナンス・イージーだったり開発が容易だったり
何より端末が古くなってもなんとか成りそう Androidは3年経つと端末がゴミにしか成らない 資力があればいいんだが
あ、なんだ、Android端末での入力アプリの相談だったか お呼びで無かった、すまん
https://www.i3design.jp/in-pocket/3032 こうか? >>621
ひとりかふたりでしか使いません
入庫などの管理なので主に時間の入力がメインです
CSVにフォームがついた程度で
一部プルダウンで選択して入力できればいい程度です
手書きのリストをみて入力するのが手間なので
Androidもたせおき、それで入力してもらえば
インポートするだけでいいので楽かな、と
EXCELでやると、帳票のように1データごとの入力画面にできないし
余計な部分が多く、誤操作をしたときに困ります >>620
こんなこと俺もやってみたい
Powerapps とかforms でできそうかな 開発依頼するほどのものでもないし
悩みどころですね
EXCELなどでやると関係ないセルいじったり(わからずに)
帳票になってないから一行一データでの入力もできなさそうだし
スクロールしてとかもむずかしそうです Powerapps 企業のメールアカウントで無いと入れもしない
個人でも無料で使えるとは何なんだ
ぜひトライしていただきたい。
https://www.atmarkit.co.jp/ait/articles/1708/28/news021.html
へえ、GoogleDriveとGoogle Sheetsとでフォームを使って連携ねえ・・ 二年も前の記事だけど
時間が有ったらお言葉通りトライしてみるか 報告はあるのか?無いかも
可能ならオフラインもテストしてみr こんな感じで作り込めてcsvなりに書き出せればいいんですけどねえ
画像はiOSのFileMakerGOです
ipadは高いので不要になったAndroid端末でできたらいいんですが
https://i.imgur.com/mvPXgNT.jpg エクセルとかでロックや入力制限機能を使えばいいのでは JavaとSQLite使えれるなら自分で作れると思うけど
あとopen officeのデータベース使うのが手取り早いのかなあ >>628
シート単位なので帳票表示のようなことができませんよね
ページを進んだり戻ったりして入力といったことが
たとえば今日やって明日やるとき
その下にセルに入力することになるので
たぶんうまく操作できないかと
スクロールとかの概念すらあやしい世代ですから
なんどかPCを教えましたが無理みたいでした >>626
>>Google Apps Script
JavaScriptみたいなモノか
>>630
>>JavaとSQLite
VBAでも厳しい人にJavaでSQLiteいじらせるのか?
素直にAndroidにOffice入れれば? Androidでやること質問してたものですが
MEMENTO DATABASEというアプリでできそうです
スマホで手軽に入力しておきACCESSにインポートすればうまくいきそうです
他にも聞いていた人がいたので一応報告しておきます
課金する必要もないし特に広告もでていません
https://i.imgur.com/zVpGYd1.jpg メメントデータベース、見てみます。
紹介ありがとー。 テーブルには必ずしも主キーは無くてもいいのですか? >>635
主キーは有った方が良いですね
データやアプリの設計にもよりますが、どこかで整合性を保てなくなる可能性があります >>620
一通り議論が深まったようだけど、
基本的にはもはやACCESSは関係ない案件になる。
オフライン、手書きライクな簡易報告、爺さん、主に入庫完了
普通なら、それはハンディターミナルの仕事。
https://www.denso-wave.com/ja/adcd/product/handy_terminal/
本体30万+年サポ10%程度は見ておく必要がある。
手書きライク報告書では621さんのアプリのほかは
iOS用限定で
・富士ゼロックスのdocuworks+penconnect
・conmas i-reporter
これらも安くはない。
経営者に投資意欲がないなら、現状維持の方が幸せだぞ。
プチプチ、リライト入力して1時間程度の残業代もらってる方が
あなたも潤うでしょう。
ACCESSなんて使ってる時点で、IT予算なんてごたいそうなもの
がないのは明らかなんだし。 >>630
Android studioは、普段、VBAべったりだとかなりキツイ。
私は諦めた。言語選択はkotlinの方が平易だったが
それでもハードル高い。
テキストボックスもACCESSのフォーム作るのと違って
コード記述の方が確実だし、オブジェクト配置をrelativeでつなげて
いくというのも、CSSかじってないと難しい。
質問者さんが仮に零細企業の「経理部」だとしたら、業務時間に
黒バックの画面で、何やら呪文めいたもの書いてたら
「何サボってるんだ」と思うわ、普通。 >>638
質問したものですが私が経営者なのでなんともいえませんね
とりあえず>>633で十分なのでこれでいこうとおもいます
大したことやってないんでACCESS以上は不要ですね
なんならEXCELでも事足ります
月に請求書を10枚程度作ってたりするくらいですからね
月に600万程度の下請けサービス業の零細なんで ちなみに経理とか雇ってなくてPC使う業務は私しかやらないのでACCESSでそれなりに作ったので問題ないです
一応もし何かあったときのために身内が使える程度には作り込んでいるので
要するに、自分でやるから手書きを入力するのが面倒なんです
だからはじめからデジタルでほしいな、と そんな、正直にお披露目しなくともw
すごくいい選択肢だと思うよ 試しにサンプルでテストしてみたけど充分じゃないかな
無料 オフラインでも使える テキストは面倒かも知らんけど慣れればなんとか
データをまとめて送信できる(一般的なのは都度メール送信) ネットでスクリプト拾ってカスタマイズ可
先にドロップダウンでリストから選択とかも書いてたけど、件数次第じゃ画像で選択できたり
普及してる理由は持ってる
スマホだけじゃなくて5〜6年前の遺物のようなSonyの9インチタブレットAndroid4.0でも動いた
Google Spreadsheetsとも親和性高い ダウンロード先が選べる えtc
これで入力簡単、安価で導入可能、PCへのデータ投入も容易 なんだから、使わない理由は無い
確かにここの話題じゃ無いかも知らんけど、Accessをもっと活用する道具としてはかなり有意義な気がする Win7 64bit&Access2010の環境からWin10(1809) 64bit&Access2016の環境にしたら
VBEPlusがインストールできなくなった…
あれ凄く重宝してたのにどうにか使える方法もしくは同等品ないかなぁ 多数のPCでAccessの.mdbファイルを共有したとき
オートナンバー型を主キーにしたテーブルで頻繁にエラー3022が出る
オートナンバー型を主キーにするべきではなかったのかな? 主キーをオートナンバーにしても問題ないと思うけど
エラー番号通り、インデックス、主キー、またはリレーションシップで重複する値が生成される処理をどこかでしたからでは? 俺用メモ 多重税率の対応
税率マスターを作る
アイテムマスターに税率の識別IDと税率を入れる
記録系にも識別IDと税率を入れる
識別IDをもとに8パーの集計と10パーの集計を算出させる >>648
消費税率アップの対応の話か?
商品毎に軽減税率有るから商品毎に税率(日付毎に)必要だし、イートインとそうで無い場合でも違うから購入理由でも税率違う エクスポートするとき、エクスポート先にログインユーザーとは別のユーザーで出力できる?
ログインユーザーではアクセス権がないため 【システム環境】Windows10、ACCESS2016
弊社はsalesforce で顧客データを扱っているのですが
ACCESSのテーブルにエクスポートしたいと考えています。
(IDを入れると顧客名、シリアル、電話番号などが表示されるようなものを作りたい)
「salesforce access export」などで検索するとどうやらoffice365が必要のようなのですが、access 2016でどうにかすることは出来ないのでしょうか。 >>651
補足。
VBA、マクロは使用可能。
SQLサーバーはあまり使い慣れてないけど、ググりながらなんとかなるレベルです。 >>651
ACCESSのキーワードが余計で、
この手の出入力はCSVが基本だと思う。
https://dackdive.hateblo.jp/entry/2015/03/26/121838
こちらのサイトを見ると、「レポートのエクスポート(CSV)」が
多分手っ取り早い。
あと、やる気があるなら、Jsctiptアドオンを有効にして
REST APIをコールし、JSONトランスレーターを記述する
(これもググれば出てくる)という方法もある。 検索語句から Access を除いてググったレベルだけど
エクスポートはcsvファイルに成って、それを表示はできそうな雰囲気
で、そのデータローダと呼ばれるファイルの中身をエクスポートするには
[外部プログラムで開く]とすれば良さそう ここではExcelを例にしてるようだけど
一発でCSV出力してくれない? できない仕様なのかね?見たことないから知らんけど
つまり、ヘルプ読む限りでは二段階で出力すれば、外部プログラムはメモ帳だろうと
ExcelだろうとAcce・・ なんでもいいんじゃね
https://help.salesforce.com/articleView?id=exporting_data.htm&type=5
https://help.salesforce.com/articleView?id=reviewing_output_files.htm&type=5 CSVファイルが作成できれば、VBSでADO使えば、出来きるはず。
そのワンクッションが面倒なのかな?なら、salesforceの問題だとおもうけどなあ。 Accessの昔の本やネット情報を読んでるとローカルでワークテーブルを使ってサーバーに送る話がよく出てくる
でも両方の辻褄を合わせないといけないから面倒くさいだけじゃないのかなぁ?
普通にサーバーのテーブルに直接書き込む方が楽でいいと思う Access---バッチ処理
DB----------リアルタイム処理 >>656
ACCESSの内部挙動はよく知らないけど、10万レコードとして
直リンでフォーム起動する時に、フォームビューでも
10万レコード全部引っ張ってくるんじゃないかな。
回線の帯域が持たない、とか、
途中で回線途切れたらトラブルになりやすい、といった理由だと思う。
部屋内のPCにexpressでも入れて、3人くらいで
使う分には、直リンでやってもあまり問題なく、むしろ高速性が
上がる。(ライセンス規約はよくわからないので割愛) >>657
トランザクションは直接サーバーに送信する場合でも別に問題なく動くよ
>>658
確かに明細と付随情報を一括してサーバー送信したいような場合にはワークテーブルが必要なんだろうね
>>659
リンクテーブルを使うと全件読み込むんだろうね
でもワークテーブルを利用しなくてもSQLを利用して必要な分だけ読み込むこともできるからなぁ >>661
直リンク使わない時は、自分はワークテーブル噛ませるかな。
理由は、フォームにコントロール配置してサーバー呼び出しした時に
全ての対象カラムからコントールに埋め込みをする手続きの
記述が面倒臭いので。(web系の非同期処理だと当たり前なんだけど)
me!A=RS!A みたいなのを100個書くとかしんどい。
コントロール名とカラム名をぴったり合わせて
me.controls(name).value=RS(i).fields(name).value
をぶん回すって方法もあるけど。
バージョン2000で提唱してたadp形式が、こういう書き方だったっけ。 リンクテーブルアクセス時点で全件舐めるでしょ
WHERE句使って条件指定して抽出してAccess内部に抽出した一時テーブルを作成する
そこからクエリー駆使しつつフォームとレポートを作る
これだとオーバーヘッドかからんよ
Access2.0や97でペンティアム200の頃とかそうしないとAccessが一晩動いてたよ
徹夜仕事だったわw
今はマシンが速くて天国だわw >>663
クエリー部分は今はVBAで十分問題無いがペンティアム200の頃はVBAすら終わるのに時間がかかり過ぎてた
だから当時はほとんどクエリー駆使してたな
今だとメンテナンス考えてVBA使えってなるのかも知れないが そうそう、クエリの方が速いんだよなあ
tips集に良く書いてあるよね クエリのほうが遅かったら、データベースである必要ないわな たしかになあ。でも、メンテナンスが面倒くさいよなあ。 バカが自分でもできると思って触るしな
VBAだと将来の移植性もあがるやろ
それにしても平均年齢高そうなスレだな
パソコン通信とかやってたろお前ら >>668
いや一応Windows95以降の世代
Accessは2.0から知ってるからまあ古参だわなw
今の20代30代にAccess使ってくれて言えば拒否されるべw
彼らの世代からすれば使えるツールでは無い様だw
Excelさえ嫌がられるw 当時逆の立場で「これでやってくれ」とか言われてたら、たぶん拒否ってたんだろ
なんだか知らんけどワクワクするソフトみたいだぞ で、一所懸命じぶんで努力して
知識や技術を蓄積してったから今があるんだと思う
じゃあ今の若い人たちがじぶんでワクワクするアプリを見付けてじぶんで覚えてく途を
拓いてやったほうが百倍いいハズ
当時だってオフコンからのダウンサイジングや、普及し出した事務所に一台のPCから
徐々に一人一台の伸び盛りの時代が追い風だったアドバンテージもあったんだし Windows10
office365
Access初めてですので0から手順教えて欲しいです
画像のような10万行くらいある糞みたいなExcelの元データをAccessにまとめて便利に集計したいです
生産ロットだけindexとmdtchで右のリストから持ってきています
製品名、状態、担当、確定度は右のリストから入力規則です
検索条件は左の元データの2行目全てです
andかorを選んで検索したいです
ロットNOに対しての製品は1製品のみです
入荷日検索は1900/01/02〜2011/3/11のように手入力して検索したい
出荷日検索も2000/4/1〜2019/6/23のように手入力して検索したい
出荷日、担当は空白の場合有りで、
・出荷日決まってるけど担当は決まってない
・担当決まってるけど出荷日は決まってない
・出荷日も担当も決まってない
チェックボックスみたいなのを作って
・確定度が空白を検索したい場合はチェック有り
・確定度が空白以外を検索したい場合はチェック無し
で検索
検索結果の条件非表示も欲しいです
備考も空白の場合がありますが適当に
http://imgur.com/R1KPFbF.png
どうでしょうか?
教えていただけますか?
ダメすか? >>671ですが検索フォームを
検索条件 □AND ☑OR
ロットNO 4〜10
製品名 AAA or BBB or EEE(リストから5製品名くらい選択)
シリアル 1122AABBCE〜1122AABBD5(16進数ではありませんが、数字とアルファベットの組み合わせで名前順に並んでます)
状態 作ってる1 or作ってる2(リストから5種類くらい選択)
入荷日○〜△
出荷日□〜☓
確定度チェックボックス ☑
確定度 3(リストから1種類選択)
担当 あああorいいい(リストから3種類くらい選択)
備考 ぱんつ(ワイルドカード有りでも検索したい)
みたいなイメージで検索したいです >>671ですがVBAは使えません
マクロの記録→終了程度です 落ち着け笑
これはDBの得意分野だが生産管理は販売管理より高度だ。0からというなら、ここでは語りきれん。
マスターテーブル、実績テーブル、リレーション(実際に張らなくてもいいけど概念として)
excelで集計だか、生データだか混沌としたものを、淡々とした行列だけの生データに直すところからだ。 >>674
行列だけにはなってると思うんだ
ピボットで出来るっちゃ出来るんだけどピボット使えない人しかいないからDBにしたいなと思って そんじゃ
例示したリストだけ作りたい、
あとは検索機能が欲しいだけ、と言うことであれば
非常に簡単。
横の「定型入力用」のリストがマスターである。
製品マスター 製品名
(ロットは製品属性なら製品マスターに含める 違うならロットマスター)
状態マスター 状態名
担当マスター 担当名
確定度は、コンボボックスのソースを「値リスト」にして
直接「1,2,3,4,5,6」と書いてもよかろう。
あとは「生産計画」とでもしたテーブルを見本通り作る。
参照にしたいものは
テーブルのデザインの下の方で「ルックアップ」タブにして
テキストボックスから「コンボボックス」に変更
それぞれのマスターを埋める。
ここからはそのままテーブルを開いて、素人にはとっつきにくい
「フォームフィルター」で >=#2000/1/1# AND <=#2010/1/1#
と記述して絞り込んでもいいし、
「生産計画」をデータシートビューのフォームにして
検索機能を配置した画面を親フォーム、「生産計画」をサブフォーム
として埋める、といった2通りの方法が考えられる。
後者の作り方はググればいくらでも出てくる。 >>677
なるほど
サッパリわからんけどありがとうございます
まずAccessをひらいてどうすれば良いのでしょうか
ロットは製品名属性です 流石にそこまで分からんレベルじゃ本買って1から読み直せ 製品コード&製品名
担当コード&担当名
状態コード&状態名
生産ロットコード&生産ロット
これぐらいはテーブル必要だろうね
で、画像の左側のトランザクションは基本的に日付とコード類だけ保持でトランザクションテーブルとして作成出来る
フォーム作って条件入力(日付など)させてトランザクション検索結果表示するフォームを作る
こういう感じかね >>678
まあ、あれだ。起動してすぐに大きい画面に出てくるテンプレート「プロジェクト管理」とか「north wind」といった見本をダウンロードして、眺めたり入力したり、左のナビゲーションに表示されるテーブルなどを開いてみることだ。
一通り眺めたら、次に各部品を開いた後でデザインビュー(左上の三角定規マーク)で「どういう作りなのか」を眺める。
>>680
Accessのおすすめでは冗長性排除の「正規化」なんだけど
選択クエリーにした一覧を使って素人に入力分担させると、
必ず「製品A(私専用 納期絶対!)」と書き込む
アホんだらが出てくる。
すると製品マスターに反映される事態になる。
回避方法として、
冗長化のうえ、フォームで各コード(ID)の更新後処理にcolumn(1)とか使って転記させる方法が考えられるが、
質問主には難易度高いので名前を直接選択させたほうが、良かろう。 >>671です
皆様ありがとう
正直Excelでsumproductとかindexmatchとかでも出来るんですがExcelの初歩すら出来ない糞野郎しかいないのです
=SUM(A1-B1)とかやるんです
何度注意しても
私も人の事言えるレベルでは無いですがAccess覚えたら社内のDB作ってから転職して後は知らねーよみたいな感じにしてやろうかなとか思ってます
無理だわ Excel でピボットが簡単そうだけどな
俺んとこは70超えてる人もピボット使えてるから、短気起こさないで教えてあげれば出来るんじゃね 法人番号を顧客DBとマッチングさせたいです。
法人番号側の顧客名とDB側の顧客名をマッチさせれば良いと思うのですが、マッチング精度を高めたいです。
VBA、Access共に半年程触っている程度ですので初心者レベルの質問で申し訳ないですがアイデアをいただけたらと思います。
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows**, Access**
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 いいえ
【 検索キーワード 】 法人番号全件 顧客とマッチング 名称でマッチングよりはコードの方が良い
名称しか無いなら全角半角とかスペースとかで上手くやるにはVBAで文字操作して行く必要有るからVBA以外では無理だよ >>684
すでに法人番号DBは存在する状態かな?
国税庁の検索サイトでやってみると、全国規模では結構、名前が重複する会社が存在するので。
難しい案件かも。
名前をひっかける時も、(株)滑博ョ会社(有限会社も同じ)の記述ルールが定まってないと、処理に一工夫必要。
昨今のweb登録フォームで
「株式会社、有限会社、合資会社」 前、後ろ、社名(商号抜きで)
と分けて書かせるのがあるが、あれは検索性という点で
よく考えられてる。 >>684
顧客DB側に法人番号のカラムを追加するのが妥当なところだと思う。 久しぶりにAccess使おうと思ったら、最新バージョンでもコンボボックスをつかったクエリーの絞り込みがウィザード化されてないんだな
マニュアルでつくるのめんどいから期待してたのに >>688
その機能あったら、便利そうだね。
アイコンが変わったな、くらいの変化しかわからん。
windows10やOffceの、明確な切れ目なくアップデートするのは
本当にあれでいいのか、という気もする。 サードパーティー製のソフトが急に動かなくなるからウンザリ。仕方が無いからパッケージを買わないといけない。 クエリデザインの画面でテーブルの項目をダブルクリックしてもフィールドが追加されない
ACCESS 365だけの現象? Access全くの初心者で1時間でわかるAccessとか読んでもぽかーん状態な者です。Accessに限らずDBを理解する書籍はありますか?あと、Accessを学習するオススメのスクールはどこでしょうか? >>692
今はAccess専門に教えてくれる所って少ないよ
データ扱うぐらいならExcelで済ます場合多いから
(それが問題なんだが) DBに関する話を知りたいならまだFileMakerのカンファレンスに参加する方が参考になる話を聞けるよ 実務で多少なりとも触った後に講習受けるとすんなり入ってくるんだけどいきなりだとポカーンとなるのわかる >>692
グラス片手にデータベース設計シリーズ かな。
あなたの会社内スキル、何を作りたいかにもよる。
学生なら無理しなくてもよろし。
まず、本を買う前に公式サンプルのnorthwindをぼおっと眺める。入力してみる。
左のナビゲーションからひとつずつ開いて、デザインビューで眺めてみる。 692です。
みなさんありがとうございます。正直回答も難しく感じるくらいの素人です。
Excelを少しわかるくらいのアラホーです。経理をしてるのですがスキルアップと危機感からAccessを学びたいと思ってます。がんばります。 Accessと桐を5年交代くらいで使ってて、またAccessに戻ってきた、とくに理由もなく暇になった序に入れ替えてる(笑)
ドゾヨロシク
2019入れたんだけど、2010と殆ど変わってないな CreateObject使ってるとランタイムで動かないのな 制限ガチガチのランタイム前提だと実装範囲限られるべ VBA で出力したExcel をSharepoint Online に書き込みたいが、わからん。実現してる人がいたらアドバイス下さい。 ユーザーではないので、すまんが
sharepointのポータル機能を使っていて、
ドキュメント管理を設置してるのであれば、APIを使ってプッシュする
しかないんじゃないかな。
シス管が別にいるのであれば、よく相談してから取り掛かってください。
https://docs.microsoft.com/ja-jp/sharepoint/dev/sp-add-ins/upload-a-file-by-using-the-rest-api-and-jquery >>703
調べてくれたの?ありがとう
ちょっと私には難易度高い様ですが諦めず試してみます Access2019
フォームを開くときイベントマクロで、一時変数の設定が出来なくなった?
2010の時に作ったフォームは動作するんだけど 【 システム環境 】 Windows10, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 「access where 反映されない」
UPDATEクエリのWHERE句の変更がうまく反映してくれず困っています
WHERE句で一語付け加えただけの簡単な修正なので
記述が間違っていないとは思うのですが・・・
クエリのSQLモードから直接編集したのですが、変更が反映されるまで遅延があるとかそういうことはないですよね?
ダメ元での質問です・・・ >>707
where で引っ掛けられないだけじゃない?
すでに運用フェーズに入っているデータベースにいきなり
update実行するとヤヴァイ時は、私は急いでる時は
一旦SELECT文で抽出状況を確認するけど。
あとは注意する点としては、文字列型の引っ掛け方かな。
部分一致なら A=“ナンチャラ”
ではなくA like “*ナンチャラ*” と書く。 >>708
ありがとうございます!
ACCESS側の問題ではないようですし、一度SELECTで出力なりして
今一度WHEREの追加部分を再確認してみます Access初心者です。FOMっていうテキストを買って勉強を始めました。よろしくお願いします。 >>712
ありがとうございます。先は長そうですが頑張ります。 売上を入力して末締め処理で請求書をつくっています
資金繰り表を作りたいのですが
税金や様々な支払いなども同じACCESSのファイルに組み込んでやるものでしょうか?
別々に作成しておき、コピペや手動計算でEXCELのテンプレートに貼り付けながらやるものでしょうか? そうゆうのに定石は無いと思いますよ
その会社次第、作る人次第
ですかね >>715
普通ならどちらのほうが良いと思いますか? >>718
棒銀は将棋
将棋では石が使われないから定跡と書く 普通なら全部一緒の方が良いに決まってるじゃん
でも普通じゃない場合が多い
現状、何かの理由があって別にやってるんだろう >>719
囲碁の定石は、局地戦の必勝法的なやつ
将棋の定跡は、全体的に有利に進めるための方法みたいなので、盤面全体の動きを含む
同じようで、結構意味合いが違ったり 資金繰り表は、過去と現状と将来のデータを要求するものがほとんどだな
その語句でググって出てきたサンプルファイルとか、どれひとつ同じものは無い有様
税理士のサイトでサービスでExcelファイルとかDLできたりするけど
イマイチじぶんトコの状況にそぐわないモノが多い
いちばん良さげなのを自分なりに改良して使う ならExcelで充分
あくまでも予想・予測をメインとした帳票だから、記録・保存する意味もあんまし無いし
融資用に金融機関への提出を主眼とするなら尚更、その銀行がどういうデータを
欲しがってるかを見極めて、それに則したサンプルを探すだけだと思う 個人の感想やけど 提出帳票作るのにAccessは有効だが
単にデータ提供ならEXCELにデータ連携させてグラフ化とかさせる方が良いかもね
提出先の要求にもよる >>722
月々の利益などを把握するのはなんていう表になるんでしょうか? ん? 損益計算書系のハナシ? 会計の範疇だ
貸借対照表とかキャッシュフロー計算書などと、財務三表と呼ばれてるうちのひとつか
その語句でググれば判り易く説明してるサイトはゴロゴロ出てくる アドレス貼ったら蹴られたから書かない
>>714 の最初の二行に惑わされたな 資金繰り表は、たいていの経営者ならざっくりとじぶんの
頭の中で把握してるものだが、それを一覧表で提出しなさい という人のために作るもの 個人の意見やけど 資金繰りなあ。仕入れと売上の両方のビルド必要でしょ。
個人的には会社の金勘定に関することはあまり自作しない。
スモールビジネスなら作るかもしれんけど。 >>714
そういう事は会計ソフトに任せたほうがよい。実も蓋もない答えだけど。
Acsessでやれるのは、見積もり・売上・入金・請求等、いわゆる販売管理まで。
請求事務の延長で回収予定表までは作ってもいいと思うけど、仕入れ管理は
してないでしょう。手形、現金、預貯金、借入金管理して、プラス残高試算表作
成しないと、資金繰り表は出来ないよ。素直に弥生とかを使おう。 >>727
「弥生会計」ですか?
決算書をつくったり簿記的なことをするわけではなくても会計ソフトでやるのが一番やりやすいんですか?
サービス業なので仕入れはほぼない、というか
社用車の整備くらいです > 資金繰り表を作りたいのですが
> 税金や様々な支払いなども
現金出納帳とか、小遣い帳とか どのメーカーも数万円代で高品質ですからね
買った方が、早くて安全です
財務会計が絡まないなら開発もアリですが おすすめはどのあたりのソフトになるんでしょうか?
現在、自社に合わせてEXCELやACCESSでやってる販売管理とは別にやるということになりますよね?
販売管理というかサービス業なのでいつどの仕事をどの従業員にやらせた
とかそういったデータです 書くことがコロコロ変わるなw 自分は何がしたいのかを書け
請求書を作ったのまでは判った 税金や支払関連をそれに繋げて将来の収支で
欠損出さずにうまく運営していくにはどういった方式が一般的か? を聞きたいのか?
先ず、デカイ紙に一年分毎月の枠を作って、売り上げと支払を過去〜将来まで
分かってる範囲で書き出せ 毎月掛かる経費、人件費、税金は支払月(一括でも分割でも
期日はあるだろ、その月にその額を埋めとけ) それと収入を上下にでも左右にでも分けて
書き込め それをプラスマイナスしたのがその月の粗利だ
なにもキッチリ一円単位までちゃんと書く必要なんざ無い (千円) として、千円以下は丸めて構わない
それを何ヶ月か続けたら、じぶんが何を必要としてるか見えてくるだろ
その基本のキが無いまま、言われるがままにアチコチ手を出しても迷路に迷い込むだけだ
売上がキチンキチンと毎月必要額立つ商売ならそこそこ左団扇だろうけど、不安定で高収入だったり
低収入だったりの波が大きい場合は、上の紙情報がほんとに役に立つ
商売はモニターの中にあるんじゃない 現場で、生身の人間が汗と知恵を振り絞ってそうやって成り立つんだ 個人の感想やけど >>733
やりたいことは利益はでてるにはでてるが
結局いくら儲けてるのか曖昧ということです
売掛と買掛、税金の支払いやなんだかんだでよくわからなくなるので…… 掛けや税金の差し引きしなきゃいけない(よくわからなくなる)のに簿記的は事はしないって矛盾しないの 各会社のビジネスロジックはその会社独自
当然、こういう部分はAccessとかで作り込みが有効
でも会計業務は法律で規定されてるから会計ソフト使って定型作業するのが妥当
つまり会計関連業務はパッケージソフトを使う
それ以外の販売管理等はAccessで作り込む
その2つの連携で中小企業内部の事務作業はPC業務として効率化出来る、と言う話 >>736
法的に必要な書類は税理士に委託してます
すべての領収書や請求書などを渡して
決算書をつくってもらっています
税理士に頼まないとすると
ACCESSのデータを会計ソフトにインポートする感じですか?
ACCESSのデータを売掛金、などでまとめる処理が必要でしょうけど 逆に考えましょう。windows3.1ないし95が登場する前は事業所は
どういうふうに収入支出を記録し、
税務署への申告や決算書を作っていたか。ソフトはその原則と変わりません。
税理士あるいは会計士にすべて業務委託している場合は、その人が使っているソフトを使ってデータ交換することで、相手の作業量が減るので料金交渉が可能になります。
たぶんtkcの会計ソフトを使っていることが多いかな。
あなたのニーズの経営状態把握は
厳密性があまり必要ないので
売上管理、買掛管理、あるいは両方のデータを入れる会計ソフトから
一旦、汎用データ出力(csvやエクセルなど)して
Accessや表計算ソフトで加工するのが良いでしょう。
このレベルであれば表計算ソフトの式だけでも用は足りると思います 税理士に委託してる(自分でやりたくない)んなら税理士に必要な数字もらえばいいじゃん
税理士に委託したくないんなら自分で会計ソフトで管理するだけじゃん
面倒なことはやりたくないしお金もかけたくないけど必要な数字や処理は欲しいってわがままね accessで記帳して税理士にデータ渡すと、税理士が会計ソフトにデータを入れて、料金に記帳代行料が取られている件
どうせ金取られてるんだから、全部税理士に入力させろよ(笑) 普通はチェックだけしてもらうもの?
記帳して決算書をつくってお墨付きとらうだけ? 法令で7年間保存が定められた帳票類を作成してもらう 個人なのか法人なのか、個人なら白色なのか、青色なのか。
いろいろわからんが、Accessで経理は止めた方がよい。
いずれにしても、例え記帳代行してもらうにしても、最低限の経理の知識は
身に着けておいた方がよい。
もはや経営相談だなw >>743
でかい会社でもない限り委託してる会計とは別に自分でわかるような感じやればいい
大した仕事量でもないだろうし だから自分で分かるような感じでやれるならやりゃいいだけなのに、
ACCESSでやるのか会計ソフトでやるのかどっちがいいの自分で分からないレベルだし、
会計ソフトが簡単ではという話に対しては税理士に委託してるからゴニョゴニョって
もうどうしたいんだよって話でしょ
ACCESSでもEXCELでも自分でゴリゴリできる人間ならこんな質問しないでしょ 法的知識無い人間が会計を自分でやる、なんて言っちゃダメだな
何の資格も無い社員がやれるのはデータ(金額)インプットまで
それから先は会計士に任せるか、会計ソフトに任せる以外に方法無い
つまりデータ整理加工部分だけをAccessでやるなら問題無いが、会計部分までAccessでやるなんて実務知らん素人の戯れ言でしか無い 実態任せてるのが実情だけどね
会計ソフト使うのが常導手段 >>746
資格は持っていなくても税金の申告は出来ます。
法人ならば会計責任者の申告として社員が申告書を作成するし、
個人事業主なら、本人の申告として納税する。
どっちにしても税務署はいつでも相談に乗ってはくれる。 >>749
公認会計士が税理士業務を行うには、税理士会に入会して税理士登録をしなければならない。
ま、税理士の嫌がらせだな。 2019.8月のWindows UPDATEでVBS,VBSが動かなくなってる 9 名前:デフォルトの名無しさん[sage] 投稿日:2019/08/17(土) 00:54:25.40 ID:lGsYaY1B
マイクロソフトのScotBrenさんによると
昨日リリースされた更新プログラムには、
特定のセキュリティの悪用を軽減する oleaut32.dll の変更が含まれていました。
残念ながら、この緩和策により、
空の ParamArray を渡していたすべての VBA および VB6 アプリが、
内部関数呼び出しからの返りとして
E_INVALIDARG を取得し始めるという予期せず発生しました。
とのこと
tps://answers.microsoft.com/en-us/msoffice/forum/all/windows-update-2019-08-cumulative-update-has/baeea089-9bba-4a2a-9660-0a220f1656e9 リンク先のスレでは、中の人が直すっていってる
ダミーでいいからParamArrayにパラメータ渡せば回避できるし
うちではやらないコーディングなので問題なかった
devsによる半年前からのレビューは今回も役に立ってないんだな しょぼい質問ですいませんが、ウインドウズ上でうごいてるDBMSってなんなのでしょうか?
オラクルとかSQL?
アクセスというのは、単なるアプリケーションでDBMSではないの? >>758
SQLSERVER の mdf も、オラクルの dbf も、ただのファイルですね >>759
それらは管理サービスが動いてますよね?? >>760
Access は JET が動いてますよ Accesは ACEデータベースエンジンに、連結フォームと連結レポートとマクロとVBAが付属しています たとえば商品マスターテーブルに100件以上ある場合
明細フォーム入力時にコンボボックスから商品コードを選んで入力するのに探すのが大変
Excelのフィルタだと検索ボックスが用意されてるけどAccessにはないですよね?
みんなどうやって解決してるんでしょうか? 商品マスタを階層構造にして
コンボボックスにクエリかますの。 階層構造とは大ジャンル−小ジャンルのように分けるということですか? >>764
コンボボックスに、最近使用した順で表示する そんなの創意工夫やで
コンボ2個構成でもいいし、マスターの構造上面倒くさけりゃ
検索ボックスとコンボならべて検索ボックスに入力された文字列と一致するのをコンボに表示するでもよし
運用上面倒くさけりゃもっと考えて(続きを読むには月額購読) そこまでやるならVBAではなくC#で、とも思うのですが
つい最近のアップデートでVBAは動作しなくなりましたし C#がAccess VBAより高等なことが出来るということは全くないぞ
SQL Server使うならライセンス料などコストも余計にかかる Access97あたりから入門したけど(今は使っていない)、
当時の入門書では、割と必須項目だったような。
参照される既存の商品マスタを
別途、Excelで予め階層構造に作り直しておいて、
大・中・小項目から順次クエリで絞り込むコンボボックスって、
VBA使わなくても、クエリのウィザードで作ってた。
商品マスタに新レコードを階層的に追加することも出来た。 >>772
記憶があやふやだけど、コンボボックスのレコードソースを変更するのにVBAが必要じゃなかったけ? 実現するのにVBAを1〜2行書くだけで済むが
それが嫌なら別の手段を取るのも自由だ
好きにしたまえ
この話はそれで終了だろ >>773
大項目のコンボボックスの選択内容が変更されたときに、
中項目のコンボボックス用クエリを更新する
というようなことは、VBAを使わなくてもウィザードで出来たかと。 コンボ2の値ソースに
SELECT 大項目,小項目 FROM 商品マスタ WHERE (((大項目)="コンボ1"));
とすればいけるが、コンボ1を変えたときにリクエリしないといけないんでそこはVBAでやるしかない 再クエリはマクロで出来るんだけど
accessは、かつては超貧弱でマクロも変数も無かったので、それぞれVBAのを使ってた
今は、マクロも変数も有るでよ 分類が作れなくてフリガナの頭文字を別フィールドに入れてそれを項目にしてた事ある Access is NOT dead, (neither is VBA)
Catch my latest podcast on why Access is not dead! https://accessusergroups.org/microsoft-access-podcast/ [...] >>770
C#でデータベースサーバ繋げてバリバリとビルド、コンパイル、パッケージできるなら
それでいいじゃん。
うちら、本業が事務とか、売り物の製造とか、販売営業で
ビルドはサボりと同義で、
コソコソやってるんだから。
ところで私は、コード検索はモーダルウィンドウにして、例えば
商品名をキーにして
google検索ライクにキーワードをスペース区切りで打たせて、
リストを見せ、
okボタンでコードを埋め込むのを
どの管理ツールにも使い回してる。
この形式だと、一般従業員があまり迷わない。 >>764がやりたいのは多段コンボボックスとかじゃなくてこれじゃろ
入力するデータを選択する検索フォームの作成
http://gyoumuka.work/?p=528 教えてください。
エクセルの表をアクセスのテーブルにインストールしたところ、
「すべてのデータをテーブルに追加できませんでした」と出てきますが、その下に
「キー違反のため、0件のレコードが失われ、0件のレコードがが削除されました」とあります。
中をみたら、とくに問題なくインポートできているようです。
これ、気にする必要あるでしょうか? >>782
たぶん欠落は生じてない。
エラーで除外したデータがあるときは別に自動でテーブルを生成する仕様だったと思うので、
それが存在するかチェック。 > これ、気にする必要あるでしょうか?
気になっちゃうだろ
レコード数を比較すれば安心できるだろ 気にする必要があるか?への答えなら、気にするべきだと思うわ
自分の作業中にそんなんでたら、たとえデータ数があっていても、
そのメッセージがなくなるまでデータをチェックして、原因を特定する
100万件のデータでも分割していけば20回で少なくとも1つの
原因データを特定できるんだし 「キー違反…」って主キーにインポートしたとき出るような気がする
気がするってだけ キー違反は主キーに同じ値があるときにでる
主キーはインポートしないで自動作成が基本かと 良く有る話
そもそもExcelで二重データのチェックなんてVBAでチェックルーチン作っておかないと、こういう間違いが発生する
ゆえにExcelをデータベースの代わりに使うって間違いって事 テーブルに通貨型でフィールド作って「単価×数量×1.08」で結果を帳票出力してる
この場合、書式を「通貨」にしとけば四捨五入されてるみたいだけどこれって偶数丸めなのかな?
そもそも消費税の計算で偶数丸めってありなの? >>790
> この場合、書式を「通貨」にしとけば四捨五入されてるみたい
おい! >>790
消費税の1円未満の端数は、
税法で切り上げか切り捨てか選択出来たような?
ほとんどの事業者は切り捨てみたいだけど。 どうでもいいことだけど、四捨五入にJISの規格があるって知った? >>773
レコードソースをイジるのメンテナンス性おちるからやらない
それよりフィルタで絞り込むクエリをソースにする >>787
主キーはオートナンバー一択
そう考えていた時期が俺にもありました 主キー(main key)っていうのは、文字列フィールドでも、複数のフィールドの組み合わせでも構わないと
知ったときの驚き
初心者がやらかすのはテーブル同士の関連を示すリレーションシップを設定し忘れること
これやらないと想定したとおりのデータベース構造が出来なくなって詰まる >>798
用途にもよる。大手ベンダーが作ったERPのsqlserver覗いてみたら
リレーションマップは一つも作ってなかった。
伝票は商品名も含めて、わざと冗長的な記録をするので
参照整合性はむしろ邪魔になるのかもしれない。 >>782
Excelの表は正規化されてたのか?
正規化されてない表をテーブルに入れるとそういうエラーを出すことがあるな。
セル結合してるとか、表の題名をセルに入れているとか、同じフィールド名が複数あるとか いつもマスタに書かれてる商品名通りにはならんからな、伝票って 参照整合性ないとリレーショナルデータベースにならないよ
エクセルみたいなフラットベースの2次元データで良ければ、エクセルで良いじゃん
データの3次元構造を支えるのが参照整合性 >>799
>伝票は商品名も含めて、わざと冗長的な記録をするので
データファイルが無駄に大きくなりそうな気がする。
機能拡張やメンテナンスを含めて考えると、参照整合性を設定しておくべきかと
各テーブルに主キーを設定して、
各主キーに対応するフィールドにもつテーブルを用意してリレーションシップしとけば
後々面倒ないやん。 >>801
商品名がマスターに無いものでも扱うって状況が意味不明 1対多対応のリレーションシップでは
多になる方のが運用でレコードが追加されていくテーブルで、そこには1になる方の主キーだけが記録される。
だからレコード数が増えてもデータファイルの大きさは必要最小限になる。
商品コードと商品名では商品コードの方がデータ量は少ない
それがコード化の意義の一つなんだがなあ。
これ基礎だと思ってたんだが、そこからなのか? >>806
だから用途による、と言ってるでしょう。
商品番号1 商品名A
で、リレーショナルデータベースの基本通りに
明細テーブルに 商品番号1、20個 だけ保管して
あとはマスターから引っ張り
商品番号1、商品マスタ.商品名”A”、20個、
商品マスタ.単価¥100、 金額=商品マスタ.単価×20個
なんて作ってごらんなさい。
単価は永久ですか? 全オペレーターが商品番号1の
内容・商品名をBに変えないと言い切れますか。
税法上も取引履歴の長期保管は義務なのに
参照表示により、記録が変わってしまっては役に立ちません。
伝票系で私が参照整合張るのは、
ヘッダー項目と明細項目で伝票番号をキーに親子関係を
結ぶときくらいですね。 >>807
単価は商品テーブルじゃなくて単価テーブルに置くやろ
んで単価テーブルには単価と有効期限を設定しとく
処理日と有効期限を比較して単価を特定 リレーションシップはテーブルだけじゃなくて
選択クエリとテーブル、選択クエリ同士でも可能 >>808
企業間取引だと得意先別単価、
見積単価は存在するので、そうですね、
別個テーブルが必要です。このテーブルとマスターの参照整合は必要でしょう。
ただ、実績系には売上額の直接埋め込みも必要です。
企業間取引だと、条件値引きが頻繁に発生するので
履歴を見るたびに複雑なクエリーやvbaを回すのは処理のリソースを食うからです。 Accessの主キー項目を文字列で指定出来るのはアレとして
*得意先マスター
*商品マスター
*納入単価は得意先、商品毎に違うので納入価マスター
ぐらいは必要でしょうな
で、売上トランザクションは得意先、商品、納入日、納入伝票番号毎に発生と
こんな感じ 単価テーブルを商品マスターに含める設計は難しいので商品コードと日付をキーに単価保持
条件等で値引きした結果はトランザクションとして売上計上されて実納入価は納入価マスターも作られる
値引き条件等はまた別のマスターとして値引きマスター、とかで保持する 文書管理とか、やってる人いますか?
バイナリファイルをDBに入れるのってどうなの? 文書は文書として別に保存してそのファイルをリンクしてアドレスを管理していくのが基本では >>813 リンクしか使わない。
本物のデータベースサーバーなら
blob格納でもいいけど
Accessファイルに入れると異様にファイルサイズでかくなるので。
Accessってファイルサイズに制限あったっけ? >>815
確か2GB
大きくなったらMySQLとかにデータ移して
access はフロントエンドだけにするのが妥当
複数のaccdbにテーブル分けて保管してリンクでまとめたりunionしたりで当座しのぐのも有りか? 知子の情報っていう最適な文書DBがありましてね
かなり歴史のあるソフトです 2次元配列型の入力フォームを作成しようとしていますが困ってます。
作りたいフォーム
項目 4月 5月 … 3月 ←ヘッダー
あれ 10 8 … 9
それ 15 12 … 7
…
…
テーブルへの格納結果
項目 月 数字
あれ 4月 10
あれ 5月 8
あれ … …
あれ 3月 9
それ 4月 15
それ 5月 12
それ … …
それ 3月 7
わかる方いらっしゃいましたら教えて下さい。よろしくお願いします。。 主キーを2つにしましたが、伝票型やリスト型の入力方式しか出てこなくて…
4月とかの月情報は、入力フォーム上に先に出しといて、項目と数字だけを入力させたいんですが、なかなか… >>818
excel漬けの人が陥りやすい罠なんだよね。
書いてくれた通り、格納するテーブルの形式がデータベースの正しい在り方で
入力フォームを作ろうとしている形式は本来、ピボットとかtransformと言われる結果の「見せ方」なんですね。
テーブルの形式でそのまま打たせるのが正しい。
フォームの見本通り、
どーしてもどーしても作りたいですか?
月には年は関係ないのですか?
それ次第で答えを考えるか決める。たぶんvba使うことになります。 文書管理に向いてるDBあったぞ
モンゴDBだっけ? >>821
ドヤ顔で語ってるけど、
こいつの作るフォームってユーザーから総スカン食らいそう >>818
Excelのピボットテーブル・ウィザードだと変換は簡単なんだけど。
ここにVBAも書いてあるけど、Accessでのヒントになるかな?
https://www.shegolab.jp/entry/excel-macro-flatten-matrix やりたいことはわかったけど、格納結果のまま素直に入力したほうが
入力者にとってラクだと思う 私は経理担当で、予算を人に入力させたいんですが、「あれ」「それ」みたいな項目が100近くあるので、100だと12ヶ月で1200行近くになります。
エクセルの2次元→1次元化は実際運用しているんですが、壊れやすいからアクセスで試すとのことでして。 >>825
ありがとうございます。
これと同じことはEXCELでやってまして。今回はアクセスのフォーム→DB格納で、同様の結果を求めたいのです。 >>821
ありがとうございます。
年は関係ありません。
VBAありきでもぜんぜん構いません。
こういった経験を過去されていれば、お知恵を借りたかったもので。 >>827
予算ならExcelで運用する方がいいと思うよ
一通り入力してからあれこれ操作するだろうから、DBよりも表計算の方が向いてるよ >>830
管理工学研究所というところのソフトですね?アクセスで、という縛りがあるので…。 >>833
エクセルでずっとやってきてて、データテーブル=入力フォームみたいな形にしていました。
でもしょっちゅう壊されるので、フォームとテーブル切り分けてフォームを作るか、と。
→エクセルのフォームくそダサいからアクセスのほうがよくね?と。 ちなみにデータを全て集めると数万行になるので、エクセルよりもアクセスのほうがデータベース格納がまだマシだろうと。 >>836
毎年何万行のデータをゼロスタートで入力してるのか、大部分が前年と同じで部分的に手を加えるのかで変わってくる
部分的に手を加えるだけなら、前年度データ(確定)+差分データ(毎年入力)で集計するような形でDBで運用できると思う >>818
一旦、項目、4月、5月...3月というフィールドのテーブル作って入力させて
そのテーブルから目的のテーブルに追記するコードをVBAで
組めば出来なくもない
いきなりは無理
月の並びが縦方向なら
項目名を入力させた後で
それと4月から3月までの12レコードを追加クエリで生成して、それを帳票フォームで開いて数日後を入力させる方法で目的の格納結果は得られる
ヒント
Accessの追加クエリでは値を指定しないフィールドにはnull が入る >>837
売上予測とか経費予測とかですね。
手入力してもらってます。
>>838
前年予算はほぼ使わないですかね。どちらかというと実績を参考に作りますが、実績との差分を取ることもデータ粒度の問題があったり政策的な問題も出るので、今年は計画してません。 >>841
あちこちの部署に入力フォームをばらまいて、各自で入力してもらうって感じ? >>839
ありがとうございます。
入力サイドには、直感的にというか慣れ親しんだインターフェイスで提供したいんです。
皆様ありがとうございます。
リアクションを拝見して、フォームUIが残念なのは諦めて、エクセルVBAとSQLサーバで対応したほうが現実的な気がしてきました。 >>818
追加クエリは素直に12個作って
項目テキストボックスのイベントでマクロのクエリの実行で連続して動かせば良いかと >>845
844で言っちゃってるけど、サーバー建てる方がいいと思うよ
SQLサーバーでもいいし、postgresql+PHPでも実現できるはず
あと、長期的に見ればHTMLのフォームに慣れてもらっておく方がいいと思う >>844
どうしてもいきなり目的のテーブルに追記したいというなら
レコードソースを指定しないで
非連結のテキストボックスを横に並べた単票フォーム >>848の続き
を作って各月のテキストボックスのイベントで追加クエリを実行するという方法もある
ただこの方法は入力した数字の修正が面倒になるよ >>832 これから分けてベタベタ貼ります。
テーブル設計編
1.「なんたら」のマスターテーブル(テーブル名 M)
なんたらID(UniqueKey),なんたら項目
2.ワークテーブル(W)
自動ID,なんたらID,1月,....12月
3.実際に欲しいテーブル(J)
月,なんたらID,Data
4.ワーク用のダミーテーブル(Dummy)
月,なんたらID,Data
-->作ったら、月にだけ、1月から12月まで書き込む 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)) フォーム設計編
[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 '1月から12月までの更新後処理イベント
Private Sub Ctl1月_AfterUpdate()
Call UpdateJ(Me.ActiveControl)
End Sub
(自動で作ると、1月のイベントプロシージャ項目名が
Ctl1月になったけど、nameとしては特に問題なく”1月”として動いてた)
これを12月まで貼る '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 >>851
入力用の記述変だった
1.入力用(WorkQuery)
セレクト M.なんたらID,M.なんたら項目,W.[1月], W.[2月],
....,W.[12月],W.なんたらID
FROM M LEFT JOIN W ON M.なんたらID=W.なんたらID >>836
複数部署の予実算集計かな?
そのレベルになるともうERPかも? >>856
それかもね
月テーブルと項目テーブルをあらかじめ持ったmdbを起動するとフォームが現れて、項目月毎に数字を打ち込み
↓
項目月テーブル作成
↓
それを統括DB(My SQLやPostgreSQL)に部署コード付きで追加して部署項目月毎テーブル作成
mdbは打ち込みExcelの代わりにmdbに変更しました、と言う感じ
mdbで全て管理出来んでしょ、万単位のレコード有るならね >>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月まで繰り返し 1-12月、全てVBAで書き込むのか?
テーブルで用意しときゃ良いだろ vbaで書き込むのは古い手法じゃないの
Accessにマクロも変数も無い時代は、vbaで代用してました
今はデータマクロがあるで VBAはクソ うんうん分かる
VBAを使わない具体的な方法をサクッと教えてあげてとっとと終了してくれる? >>860
だって、4月から3月まで横並べで入力させたいと
>>818が言うんだもん
こんな設計はどうなんだよと俺も思うけどね
だから横並びにしたテーブルから
縦並びにしたテーブルまで転機するしかないやん >>818が言うにはexcelだとエラー起こすからってことだけど
そもそも設計が悪いからだと思われ こういうのって入力する側が自分の使い勝手を最重視させるからな どうせ今一所懸命作っても、寿命十年がせいぜい と思えば
120ヶ月のフィールドで済む という諦観も大事
十年以内にはもっと優秀な奴がこれに係るだろ
2008年4月1日〜2020年3月31日の日付がテーブルに成ってるブツを見たことある
それ以前はその業務無かったし、期日が満タンに成ったら追加すりゃいい
と、開き直ってたけど、あながち発想は間違って無い 気がする 気がするだけだけど >>872
こういう奴が2000年問題を引き起こしたんだよな 12ケ月のテーブルと項目テーブルを作る
その2つのテーブルから項目月毎のテーブルを作る(クエリーでOK)
FORM作って項目月毎の実績値の入力をさせる
それを格納するMDBを各部署に配布する(部署毎に配布するMDBごとに部署コードが違う)
結果を回収して部署コードごと違う実績値をテーブルに作成する(MySQLやPostgreSQLなどに)
これで終わりだと思うが FileMakerユーザーの嘆き
これゆえAccess需要は無くならない
656 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2019/08/28(水) 17:27:49.49
値段上げることばっか考えないでユーザー増やす努力してくれればいいのに
潜在的な需要はあるのに高くて諦めてるパターン多いだろ
うちもそうだけど accessでEXCELのIndirectのようなことはできませんか? >>877
https://www.forguncy.com/blog/20170905_indirect_sheet
テーブルの作り方次第だが
この例で言えば事業所テーブルに有る値に紐付く各事業所の月別商品数量を実績テーブルからクエリーで作れば良い
Excelシート名称をAccessテーブル名称と考えるとテーブルの中身の値に一致したテーブル(名称で引っ張る)のは簡単には無理だな
VBAでグリグリやるしか無い >>878
ありがとうございました。やはりExcelは使い勝手がいいなあ。ドロップダウンの連動も簡単だったし。 >>877
indirect、初めて聞いて使い方を今知ったわ。
シート名引っ張ってくる使い方なんて思いもよらなかった。
この関数が古くからあるのかわからんけど、excelって地味に関数拡充してるよね。
ググった先の用例でいくと、「大島さん」シートのデータは何々を
indirectで呼び出すらしいのだが
データベースの世界では
基本的には
大島さん、なんとか、データ
のように列で格納するんだわ。
毎回「大島さん」を打たなくていい仕組みについては割愛するけど。 エクセルは列番号をフィールド名って考えると可変だけどデータベースって基本的には固定だから必要ないかなあ 後accessでは同じことやろうと思ったらリレーションシップ使ったクリエ作るんじゃないかなあ Accessの勉強法で質問です。全くの素人で試行錯誤をしながら操作をしています。
具体的にはFOM出版のよくわかるAccess2019基礎を使って勉強しています。操作方法はとてもわかりやすく順に操作を出来るのですが、正直中身の用語の意味などが分からず宙に浮いている状態です。
独学で習得された方でうまい方法がありましたら教えてください。よろしくお願いします。 分からん、の内容によるとしか。具体的に、「説明されてない用語」でどんなものがわからなかったのでしょう?
説明内でつかわれた用語も含みます。
できるとかよくわかるシリーズなんて、とりあえず誰でも読めるように書かれてるわけで、用語がわからなく
なることはないと思うんだけど。
最近の本は全く知らないけど、その基礎と応用で最終的に作る総合問題のデータベース
見る限り、応用まで読み終わってもあまり役に立たないと思う。
大きな書店にいって、その本で作る最終的なデータベースに興味を持てる、かつ、
最終的な目標が複雑そうなものを選ぶのがいいと思う。
写真が多いのは実際の情報量を少ないので避けたほうがいいです。 MOS試験対策の参考書を一通りこなして満点で受かったのに正直チンプンカンプンだった
その後業務で必要なこんなもんも作りたいってビジョンを持って本を読んだら理解が深まった 自分で作ったものを使いながらこんな機能ほしいと思った物を追加して行くのが一番じゃないかなあ
acceessの本じゃなくて運用関係の入門書を読んで行くのもいいよ アクセス特有の用語なんてそんなにないから。
最初の言葉はテーブルとクエリーとフォームとレポートとリレーションシップ
だけ覚えておけばいい。
そのあとは、ベースとなってるSQLの機能をわかりすく言い換えた各種のアクションクエリーの名前と組み立て方を覚えるくらいで
ざっくりとしたシステムは作れる。 返事をくれた皆さんありがとうございます。
今はクエリ、リレーションシップ、フォームなどの言葉が全く繋がっていない状態です。しばらくは今の使っているテキストをしばらく使って、用語の繋がりが見えて来たら応用に移りたいと思います。
挙げてもらった書籍は探してみたいと思います。 オンメモリDBでリアルタイムデータ
を表示し続けるIoT監視ツール作れますか?
定期的にリクエリかけまくるフォーム作るしかないですか?
C#だと非同期マルチスレッドでtimerとかやればできてた気がします >>890
access限定であれば、フォームにタイマーイベントがあるので
それでリアルタイム表示してください。
記録しないならたぶんデータベース(テーブル)すらつかいません。
ただ、IoTがrestAPIとか実装してなくて、昔ながらの
RS232Cとかだたと、もはやこのスレの範疇を越えた記述が必要になるので、
ちょっと大変ですよ。 VBA(VB6レベル)で面倒な事するにはWindowsAPI使う事になるが
Windows10でもAPI使えれば、何とかなるとは思うけどね 演算のタイミングを教えて下さい
税込価格から税抜価格で集計を行います
フィルタなどが間に入るのですが、この場合は最初に税抜価格を出した方が良いのでしょうか?
それとも最後の方が良いでしょうか 日本語変でした、すいません
税込価格での販売リストからフィルタして税抜価格で集計になります >>894
丸め誤差を最小にするには割り算は1回で済ます。
というのが原則
ちなみに、税込価格を求める際に1円未満の端数を切り捨て、切り上げ、四捨五入
のいずれかでもやってると
税抜価格<>本体価格
になる。
つまりこの時点で丸め誤差が発生している。
なので、それでも構わないというならOKかと
本体価格で集計したいなら、本体価格で記録すべき
税込価格は、それを購入・販売した時点での税率を本体価格に掛ければ求められるので
記録する必要は無い。 >>896
ありがとうございます
最初に計算してしまいます
>税抜価格<>本体価格
はい、こちらは問題ありません
主に成績を見るための資料作成なので、少々の端数は良いみたいです
>本体価格で集計したいなら、本体価格で記録すべき
本体価格もデータ上はあるのですが、
業者間の場合に価格が交渉で決まるため、この方法が出来なくなってしまいました
以前は業者間取引が少なかったので気にせずに全て本体価格にしていたのですが、
今は取引が大きくなってきたので計算方法に困った、という次第です フィルタしてから割り算した方が計算量少ないからそっちの方がいいんじゃないの?
個人的には生に近いデータはできるだけ保持したい。最初に触ると後で面倒になる 計算結果の列に対して、データ型を指定することは出来ますか?
売上税抜: [売上金額]/1.08
の結果を全て整数にしたいのです
int()などを使うしかないでしょうか?
売上税抜: Int([売上金額]/1.08) >>894
ID、品目、単価、単価有効期限
という品目テーブル(IDは主キー)
税率、有効期限
という税率テーブル
品目ID、個数、販売日(購入日)
という販売(あるいは購入)テーブル
を用意しておいて
品目テーブルと販売テーブルの品目_IDと品目IDを1:多のリレーションシップして、必要なクエリも作って集計 今、買掛台帳の軽減税率対応の
修繕やってるけど
結局、明細単位(1品目単位)の課税対象計算にするしかなかったな。
実際に請求書届いたときに数円程度のズレが生じるのは
会計士も税務署も特に指摘しないようだし。 税務署も消費税の端数に関してはなにも言わない
個々に消費税切り捨てても大丈夫
この辺はDB・経理間に温度差があるかなとは思う 客毎の売上明細毎に計算した消費税を積み上げるのと、日次ないしは月次の売上合計から消費税計算するのでは誤差が出る
もちろん日次に計算した消費税を積み上げて月次売上から計算した消費税も誤差が出る
さらに月次で出した消費税を積み上げて年間合計出したのと年次売上合計から(ry
税務署的にはどっちでもいいみたいだけど、敵は身内や客 消費税は掛締日の合計ごと・伝票一枚ごと・商品一行ごと とか相手によって変わるから困る レポートで複数のクエリ結果をまとめて出力しようと思っています
高さを自動的に変更することは出来ますか? >>905
もう少し詳しく。
ただすべての行を広げるなら左の灰色の下境のところで
excelと同じ要領で広げるだけ。 >>898
統計学的に言うと
自由度を下げない処理ということだね 【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access 一部だけ分岐・・・など
以下のような、営業部ごとの売上データがあります
営業部,性別,売上
1,0,100
1,0,80
1,1,150
1,1,70
2,0,10
2,0,30
2,0,10
2,1,70
3,1,70
これを営業1部のみ、性別ごとに分けたいのですが良い方法はありますか?
2,3部での性別の表記は何でも良いです(とりあえずハイフンとしています)
営業部
1,男,売上合計
1,女,売上合計
2,-,売上合計
3,-,売上合計
1部以外に分けてunionで合体させる方法は思いついたのですが、
なんとなく手間な気がしています
他に方法はありますか? dsumってand,orや範囲で条件づけの集計できるからif文と組み合わせれば結構いろんなパターンで集計できるよ >>905
ちなみに印刷時拡張では罫線まで拡張されなかったかも
印刷時のイベントでlineメソッドで引いて代用してた >>910
選択クエリで営業部と性別のフィールド値を条件とした新たなフィールドを追加して
それを元に集計 >>910
売上データテーブルの全フィールドを選択したクエリを作り
性別_:Iif([営業部]<>1,”-“,iif([性別]=0,”男”,“女”)
というフィールドを追加
(フィールド名はなんでいいけど)
このクエリを元に集計
でいいんじゃね >>913
印刷時じゃなくてページフォーマット時だったかも >>910
男女雇用機会均等法に思いっきり抵触しそうやなw
別の区分を言い換えてるだけかもしれんけど。
私は>>915に一票。 >>910です、ありがとうございます!
>>915
さんの方法で行ってみます >>910です。仕様変更になりました。
【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access 一部だけ分岐・・・など
以下のような、営業部ごとの売上データがあります
営業部,性別,年齢,カテゴリ,売上
営業部1は性別ごとに集計
営業部2は年齢30未満、30以上で集計
営業部3はカテゴリ(A・B・C)で集計
完成形は
営業部,属性,売上
営業部1 男 100
営業部1 女 100
営業部1 合計 200
営業部2 ~29 10
営業部2 30~ 10
営業部2 合計 20
営業部3 A 1
営業部3 B 1
営業部3 C 1
営業部3 合計 3
総合計 - 223
こういうレポートを作成する場合、みなさんならどう作成しますか?Excelでマクロでも組んだ方が楽でしょうか・・・ そもそも、属性フィールドにいろんなのをまとめるのがまちがいでは?
性別、年齢(層)、カテゴリの3つのフィールドに分ければ簡単になるのに
すでに属性フィールドにひとまとめに入力されているのであれば、新たに3つフィールド作って、更新クエリかければいい >>921
いえ、データ自体は
営業部,性別,年齢,カテゴリ,売上
この形です
営業部ごとの特性をみたいようで、属性を1カラムにして用意してほしいとのことです >>922
>属性を1カラム
となると営業部毎に選択クエリ作って
それぞれの属性のフィールドを追加して
(フィールド名は“属性”とかで統一)
それらをSQL文にして
Unionクエリにまとめて
営業部と属性でグループ化して集計 >>922
統計情報で軸が違うのを一つにまとめるのは
やや心地悪い。レポートにするなら3つのサブフォームを張り付けるか
915の技を応用すれば良いのではないかと。
あるいはデータベースの基本ルールは1列に格納するものは同じ属性の情報、であるので
accessのテーブルからexcelにリンクしてピボットテーブルで軸を変えればいいのではないかと。
また、人属性情報は改変性低いのでマスターテーブル化してリレーションシップ作れるよね。
それはもうやってる? >>921
属性:Switch([営業部]=1,iif([性別]=0,”男”,”女”),[営業部]=2,iif([年齢]<30,”-29”,”30-“),[営業部]=3,[カテゴリ])
でもええか
ただ、もっと複数になると営業部毎に属性設定してunionクエリでまとめる方が楽かと思われ >>924
気持ち悪いといえば、年齢
年齢はテーブルに記録しない
生年月日を記録して演算で出す
まあ、そこら辺は説明で省略してるのだろうけどね >>922
>営業部ごとの特性をみたい
のなら様々な属性でグループ化して集計
更にグラフ化すべきかと
あと年齢は生年月日と販売日のDateDiffで求めてるよね? 【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access 一部だけ分岐・・・など
顧客のユニークIDの数を調べたいと思っています
グループ化してすぐにカウント、のような事は出来ますか?
クエリテーブルを二重にすれば出来ますが、なんか間違ってる気がします すいません、返答を送信していませんでした
>>923
了解です!uniion使っていきます
>>924
試してみましたが、サブフォームだと高さがに困ってしまいました
vbaを使えれば可変の高さ調整ができそうな感じはしているのですが、なかなかそっちまで勉強している時間が無いです・・・
>>925
恐らく複雑になると思います。昨今の流れで、性別とか増えそうで戦々恐々としています
>>926>>927
入っているのは生年月日です
販売した時の年齢ではなく、現時点での年齢になりますが、そこは問題ないとします。
>>927さんの指摘には僕も上司も気づいていませんが、気づかないフリをします。 >>928
少なくとも昔は、AccessのSQL規格が古くて、他のデータベースで
SELECT COUNT(DISTINCT customer_id) FROM order_table
と書けるものも、
SELECT COUNT(customer_id) FROM (SELECT DISTINCT custoemr_id FROM order_table)
とサブクエリみたいにして呼ぶ必要があった。
いまも変わってないなら、二重にするのは変じゃないです。現状は未確認ですが。 >>930
あれ、そうなんですね
ありがとうございます、素直に二重にしておきます 【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access プロンプト 初期値 など
プロンプトの初期値は設定できないでしょうか
Between [開始日を入力してください:] And [終了日を入力してください:]
としているのですが、
予め前月を入れたいのです
具体的には
#2019/8/1#
と
#2019/8/31#
が最初から入るようにしたいのですが、vbaじゃないと無理ですか?
他にも楽に入力できそうな方法があれば教えて下さい >>932
それはプロンプトじゃなくて既定値では?
既定値なら
テーブルのフィールドやフォームのテキストボックス等のコントロールで既定値を設定することができるので
そこに入れる。
なお、先月1日は
=DateSerial(year(Date),Month(Date)-1,1)
Dateとはシステムの日付を取得する関数で()付けても付けなくても同じ
DateAdd関数使わなくてもきちんと年またぎ出来るよ。
また先月末日は
=DateSerial(Year(Date), Month(Date), 1)-1
今月1日の前日ということ >>933
入力の時ではなく、selectクエリで抽出する時の範囲を自動で決めたいのです >>934
クエリでも>>933の式を入れるだけやろ
抽出条件に
>=DateSerial(year(Date),Month(Date)-1,1) AND <=DateSerial(Year(Date), Month(Date), 1)-1
とな
それにしても、既定値のことでないとすると、プロンプトとは何だろなと
通常、プロンプトってCUIで入力可の状態を示すサインやろ
それ以外に解釈できんのだが?
DBMS用語ではないし >>934
抽出条件は
Between DateSerial(year(Date),Month(Date)-1,1) And DateSerial(Year(Date), Month(Date), 1)-1
でも可
また
Like Format(DateAdd("m", -1, Date),"yyyy/mm") & "*"
でも可 >>936
>>通常、プロンプトってCUIで入力可の状態を示すサインやろ
CUI限定じゃなくて、GUIでウィンドウを開いて入力を促す文字もプロンプトでいいと思う
VBAのInputBox関数の引数名もPromptだし
ただ、この質問での話だと既定値の間違いだと思う DBサーバー立てたくない時、
mdbまたはsqliteかなと思うけど、
みなさんならどうしますか
さらにいえばVBA古臭いし冗長なのでC#で+mdbが最適解なのかなと 周りが使いやすい奴が良い
確実に自分だけしか使わない+ちょっとしたものでいいならmdbかな Access採用の理由は利用ユーザーのPCにインストール済みだからって事が多いと思うな >>941
ランタイム入れればインストールしてなくても
Accde動かせるけどね sqliteもdll拾ってくればドライバいらないけど、
どうも動きが怪しい気がする >>939
sqliteという選択肢を持ってくるのは、単にAndroidアプリの開発手法に似せたいから?
それであれば、環境設定も含めたインストールパッケージを作成する必要があるから
無理にAccessで作る必要はないとおもうけど。 >>944
VBAは要らない、Pythonで組むということではないかと
VBA抜いてもAccessはクエリの組み易さ,フォームやレポートの作り易さの利点があるから
それも活かしたいんだろうな
でもいっそDelphi上で全部設計した方が見通し良くなると思われ 【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access フォーム テキスト 取得 クエリ など
フォームに配置したテキストボックスの情報をクエリに含めたいのですが、どのように記述すれば良いでしょうか?
抽出条件に
[フォーム1].[テキスト4]
や
[フォーム1]![テキスト4]
としてみましたが、駄目でした
※パラメータの入力 [フォーム1]![テキスト4] と出ます
https://imgur.com/a/4KiWTxY >>936>>937
ありがとうございます!
accessではパラメータというのですね
単語間違ってしまい、すいません >>946ですが自己解決しました
[フォーム1].[テキスト4]
↓
[forms].[フォーム1].[テキスト4]
でした >>933
さんの
=DateSerial(year(Date),Month(Date)-1,1)
は
規定値に入れると
DateSerial(Year([Date]),Month([Date])-1,1)
抽出条件に入れると
DateSerial(Year("Date"),Month("Date")-1,1)
と変換されてしまい、うまく動きませんでした
date()にすると解決しました
ご報告まで 【 システム環境 】 Windows10, Access(office365)
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access 式が正しく入力されていないか、複雑すぎるために評価できません エラー
フォームを作っていてエラーが発生し、解決しました
サブフォームを作成し、クエリを表示させ、更新を行うとエラーになりました
https://i.imgur.com/Njzkz8f.png
その下にも別のクエリがあり、こちらはエラーになりません
https://i.imgur.com/9nxg60w.png
なんとなく位置を変えた所、エラーにならなくなりました
https://i.imgur.com/6tDDSb3.png
また、再度元の位置に戻してもエラーにならなくなりました
原因は何だったのでしょうか? >>949
参照設定に依るかもね
Date()は関数、Dateはシステム変数だったかな フォームってデザインビューの状態でも、フォーム内の情報を取り出せるの? >>950
そのエラーの原因は様々ある
AccessのJITコンパイラが解釈に失敗すると出る
大きな原因のひとつはリレーションシップをしていないこと
コントロールの位置をいじって直ったとしても
再発の可能性は高い
JITコンパイラが何処まで解釈出来るのかははっきりとしないが
経験上、メッセージにある通り
一つのクエリでアレもコレもとやらないで
クエリを元にクエリを作るなどしたり一つのクエリでの処理を単純化したり
テーブルや選択クエリ同士の関係をリレーションシップできちんと定義したりすれば発生は抑えられるようだ
なお、親の非連結単票フォームから子の帳票フォームへと値を受け渡してるように見えるけど
どんな設定なのか?
サブフォームコントロールで受け渡したり
親フォームのコントロールの値で子フォームのレコードソースをフィルターして絞り込んだり
親フォームのコントロールをクエリの選択条件にしたり
いろいろと方法がある >>953
DBから吐き出されたデータを元に、収支の集計を行っています
・元データは40000行、50カラムほどあります(小売の売買データです。様々なテーブルをjoinした後の一覧データが吐き出されています)
・もうひとつ、販売の種類を表すテーブルがあります。2フィールドで10行、「通常販売」「ネット販売」「社内販売」など。最後にjoinします
※リレーションで繋ぐフィールドは両方「数値型」になっていました
・クエリの流れ。一行が1クエリです
フォームの日付を元にフィルタ
キャンセルデータ(キャンセルフラグフィールドが1だと除外)、お試し商品を除外(あるフィールドが「2」だと除外)、
営業部でフィルタ(営業部ごとに3種類、>>919のように分類・集計します)
顧客IDでグループ化
顧客IDをカウント
販売の種類を表すテーブルとリレーションで繋いでjoinします
・もうひとつ、合計確認用に全体の合計を出すクエリも作成し、Excelに貼り付けています
何が原因でしょうか。再発は自分ならまだ良いのですが、他の方が使っている時に発症してしまうのは、困ります
また、主キーを設定していないのですが、これも原因になるのでしょうか 読めないくらいややこしいw
フィルターって、なんとなく重いから個人的には使わないこと多いかな。
パラメーター仕込んでおいて、vbaのquerydefのパラメーター代入してrequeryしたりする。
あとinner join inner joinを何個も繋げてると自分でもワケわからなくなるのでクエリー何個かにわけて
段階を踏む作り方する。 主キー無しって重くならない?
3万行ぐらいならそうでもないんかね >>955
>>957
主キーは設定すべきでしょう。
そうすれば1対多の関係が明確になります。
>もうひとつ、販売の種類を表すテーブルがあります。2フィールドで10行
>※リレーションで繋ぐフィールドは両方「数値型」になっていました
販売の種類を表すテーブルのそのフィールドを主キーに設定
>>956
段階を踏んだ方が、作るのも、機能の追加による修正も楽なんですよね。
大本のクエリから派生とかできますからね。 >>955
エラーの原因はおそらく主キーを設定していなかったことでしょう。
それ以外は段階を踏んでいるから問題無いです。 アクセスで高度なものを作っても単体アプリケーション化できないのが一番駄目なところだね
ランタイムもイマイチだし
アクセスからだとデータベースを直接書き換えられるリスクがあるしかっこ悪い >アクセスからだとデータベースを直接書き換えられるリスクがあるしかっこ悪い
それはDBをいじれるどんなアプリでも同じでは? >>960
それ、アクセス制御での完全性の問題ではないか?
どのアプリがという問題ではないのでは?
ランタイムがイマイチという意味も分からない。
どうイマイチなんだろう?
俺の場合、単体アプリを作るためにAccess使ってる訳じゃなくて
日常の事務作業を楽にするために使ってるだけ
無論だけど、俺には権限が無いから、会社の基幹システムのDBを直接干渉したりは出来ないが、
そこから取り出したデータを元に報告書を作ったりはしている。 >>962
そういう余計なことをする奴が出てくるのが管理上は問題になるんだよ 元データ触れないor分からないから、それを元に別データ作っといたで(以下ループ) >>963
余計な事とは?
それが仕事なんだが?
何が言いたいのか? >>964
それシステム管理として失敗してるやん
そんな愚痴をこのスレで言われてもな アクセスだとテーブル直接書き換えをするのが簡単だから、安全性を担保できない
酷い仕様だよ >>966
失敗例を横から書いただけで主とは関係ないのに愚痴とか言われてもな >>967
テーブルを完全に隠せよ
俺が5年くらい前に書いてやった手法を使え 知らんけど、そこまで嫌なら他DBへお引越しすればいいだけで
ここでぐだぐだ文句言って改善するものでも無し
早い・安い・うまい がうたい文句の外食産業も有りゃ、
高級食材を四ツ星シェフがお料理して、最高級グレードのお持て成しをしまっせも有る
ミソクソ一緒に比較したって何の意味も無い 時間の無駄
データベースファイル自体にパスワード付けられるんだし、セキュリティだの改竄だの
気が気で無いなら、それなりのセキュリティに注力するだけのこと
レコードの必要な部分にだけアクセスできるようにするとか、無闇に接続しようとする輩が
居るような環境なら、そこをブロックできるように改善するだけのこと Access の問題では無い 個人の感想やけど まあまあ二人ともそんなに熱くならないで。
accessはreadonly権限を与えるのが逆にマイナーな技になってしまうのは事実だし。
一方で、「私だけが欲しい集計軸」のためにシステム管理の手を煩わせないことも大切だとも思うし。
私は、一般的なスキルを信用してる社内ユーザーには、sqlserverのビューからexcelにreadonlyの接続詞つけて
一覧貼っておき、「更新は右クリックで「更新」押せ、あとは好きに集計しろ」といったことをやってるけど。 >>Read Only
だとExcelで使え、となる会社も有る
VBAでデータ抜いて編集ってしんどいだけ >>901-904
ちょうどこの件でセブンがまたやらかし(?)てしまったようだな
ttps://www3.nhk.or.jp/news/html/20190918/k10012086721000.html
やはり敵は税務署ではなかった >>974
ははは、ニュース見てこのスレに来てしまった
これってマーフィーの法則でトラブルの可能性のあるものは必ずトラブルを起こす、っていうやつ。
すべてのケースに対応できるようにしておかないとな。
経理のスタッフとかめちゃくちゃ機嫌悪くなるというかまともに話してもらえなくなる やらかしたというか、これは仕方ないことなんじゃないのかね 周知不足でネットで騒がれちゃって後手に回ってしまったやらかし
内税積み上げ方式のまま軽減税率に対応することができたのに外税に切り替えちゃったやらかし
7payとか時短営業の案件レベルではないけど、だからこそこれくらいきっちり詰めとくべきでは 少なくとも10月1日付での変更で、周知してれば何も問題なかったのでは 問題の次元としてはどうでもいいっちゃどうでもいいけどね
違法とかではないし
でも個人的にはせっかく10%という切りのいい税率のくせに1円単位の端数が出てしまうのは欠陥だと思ってる
スーパーみたいにどうあがいても1円単位の端数が出るような店なら分かるけど >>979
端数切捨てで税務署もええと言ってるんだから
それでええねん
世文はまた顧客に嫌われることをやったな >>979
こういうのってさ
いくつかの計算方法をやって
ゴールシークで最適なの求めれば
済むんけどね
そういう発想すらしなうのかよと
どんだけ無能なのか なぜ総合計を再計算するんだ。内税計算するなら総合計は単純合計で、そこから「うち消費税」を整えて表示、差し引きを本体価格にすれば良いものを。 違法でなければ良いという浅はかな考えで
計算方法を変えて
1円でも値上がりしたら、客離れを起こすという事態を想定出来ない無能経営者 ポイントのメリットをなくした上で消費税でポイント以上に客からお金取っちゃうなんて、すごい無能よね そもそもデジタルセキュリティの知識無い社長をみずほからヘッドハントするくらいだし >>986
みずほ
システム統合に失敗してるのが
経営陣の方針がコロコロ変わって
仕様が確定できんためだとか
結局 無能やったんやな
なんでそんな屑を引き抜いたんか
みずほから押し付けられたんちゃう? 経営者「ボクはITに詳しいんだ」
どこかで耳に入れてきた知識を社内でかき混ぜる無能がクソ憎い 掻き混ぜられようと、クズが上に居ようと、ムダな会議で時間が取られようともだ
実務は止まらない 待ってくれない 粛々と実績を積み上げるしか無い 個人の感想やけど みずほはシステム統合自体、それまでPL/Iで動いてた銀行有るからCOBOLで統一するしか無かった
勘定系は未だにメインフレームだよ
OpenCOBOL導入すら出来て無い >>952
お願いします
起動後は一回フォームを呼び出さないと駄目なんでしょうか?
微妙に挙動が良くわかりません なにをどうしたいのかを書かないと >>952 お願い ったって、何が何だか
フォーム内の情報を、「どこ」から読みたいんだか
そのフォーム自体はどういう構造なんだか コチラには何にも伝わらないよ
データベースの中身を他のアプリから読みたい ってんなら、フォームなんか要らないし
フォームのソースがクエリとかで整えられたデータだ ってんなら、デザイン状態じゃ読めないし
おまえの挙動が良く判らんわ フォームの情報はデザインビューでも取得できるよ
既定値に入れておけば良い >>992
そう
フォームビューかレイアウトビューで開いておけばバックグラウンドで起動する
閉じた状態では既定値だろうがなんだろうが取得できない このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 388日 22時間 53分 10秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。