ほっとひといき給湯室 |
|
投稿日時: 24/12/18 09:33:51
投稿者: かず
|
---|---|
会社でOffice2019PROを使っていてAcess2019を使っているのですが、サポート期限も迫っているので2024にしてみようかなと思っています。
|
投稿日時: 24/12/18 13:29:42
投稿者: Suzu
|
|
---|---|
Offiec 2014 は 存在しなかったと思うので、2019 → 2024 と解釈して。
|
投稿日時: 24/12/18 18:35:47
投稿者: かず
|
|
---|---|
大変申し訳ありません
|
投稿日時: 24/12/19 09:35:27
投稿者: Suzu
|
|
---|---|
Office2019 → Office2024 という事は、
|
投稿日時: 24/12/19 13:37:30
投稿者: かず
|
|
---|---|
Suzuさんレスありがとうございます。
|
投稿日時: 24/12/19 14:56:39
投稿者: Suzu
|
|
---|---|
Office 2024 LTSC なら、Accessも含まれていましたね。失礼いたしました。
引用: リンクテーブルを使用していないという事は、 レコードセット接続だったりでしょうから、VBA内で、ドライバを指定しているのでしょう。 Accessをインストールしてしまうなら、接続ドライバも 同時にインストールされるでしょうから 32 → 64bitに代わっても、問題は発生しづらいでしょう。 リンクテーブルを使用していないなら、 ・VBAでレコードセットを使ってフォーム/レポートを表示 ・ワークテーブルを使って 表示 のどちらかでしょう。 クライアントがAccessを利用する利点としては、レポート の GUI くらい・・ その為だけに、Accessのライセンス料というのは・・・という気になってしまいます。 SQLServerを使用するなら、 Visual Studio Express / Visual Studio Community 辺りを使い 開発。 GUI として、ブラウザを使うのか、ユーザーフォームを使うのかは判断するにしても レポートは、Excel を 使っても良い気がします。 基本コードもできているのでしょうから、乗り換えも、結構楽ではないでしょうか。 余談ですが・・ 容易に SQLServerへ接続してうえで、同一IDE上で、SQLServerの設定もでき クライアント/サーバーを構築してうえで クライアントのユーザーインターフェイスを ブラウザで 提供できる ADP形式ファイル そこから、コンパイル済みにできた ADE 。。 すごい機能だったなとつくづく・・ |
投稿日時: 24/12/19 20:53:10
投稿者: かず
|
|
---|---|
ファイルサーバーへのアクセスは特別に何かをインストルする事も無く
|
投稿日時: 24/12/20 09:48:11
投稿者: Suzu
|
|
---|---|
引用: そうしてみてください。 給湯室なので、細かい事をいっても許されるでしょうか・・? (内容については、うろ覚えな部分もありますが・・) 1) UNCとして、\\IPアドレス\共有フォルダ名\ファイル名 とするのではなく \\IPアドレス\共有フォルダ名\ をネットワークドライブとして登録した方が高速だったはず。 2) アクション毎に、毎回 WorkSpace、Database を参照するのではなく そのフォームを開いた際に、WorkSpace・Databaseを開き、 開いている間はそのWorkSpace・Database を使いまわし フォームを閉じる時に、WorkSpace・Databaseを閉じます。 アクションの度にWorkSpace・Databaseの開閉をする時間を減らします。 (コード実行時エラー等で、一度でバック画面に戻ると それらのObjectは破棄され、Nothingになってしまうので そのまま実行すると オブジェクト参照が なく エラーになるのを防ぐ目的で エラートラップに、Object Is Nothing 判定を入れ Nothingなら参照する事で 回避する事も可能) 3) "SELECT * FROM T_不良データ蓄積 WHERE 工程='検査' AND NZ([判定],'')=''" テーブル T_不良データ蓄積 の [判定] の 値要求プロパティーを見直す 値要求と空文字の許可 https://www.javadrive.jp/access/field/index7.html 値要求 空文字の許可 入力可能なデータ いいえ はい Nullと長さ0の文字列 の時だけ、NZ([判定],'')='' が必要になります。 可能なら、 値要求 空文字の許可 入力可能なデータ いいえ いいえ Null とすれば、IsNull 判定だけで良くなります。 或いは、空白文字列以外の 値 例えば 0 を入れるとか。 これは、NZ([判定],'') という演算に対し、'' であるかを判定しています。 判定 フィールドに インデックスを設定していても、 演算フィールドに対し "" を判定している事になるので、 インデックスの高速な検索を適用できなくなります。 インデックスを指定し、演算フィールドではなく、 直接フィールドの値に対し 直接抽出条件を設定する事で、 インデックスを有効にし、高速に抽出する事ができる様になります。 4) DBEngine.SetOption dbMaxLocksPerFile, 30000 "ファイル共有のロック数を超えました...大きなトランザクション処理中にエラーが発生する 接続あたりの最大サーバー レコード ロック数は 10,000 30000にしてもしょうがない様な・・ 5) レコード削除 Do Until rs_外部.EOF i = i + 1 rs_外部.Delete rs_外部.MoveNext Loop これは・・削除してレコード数を知りたい? RecordsAffected プロパティを使えば良いです。 1レコードずつ削除しないで DELETE 文を発行します。 ws.BeginTrans With db_外部 .Excute "DELETE * FROM T_不良データ蓄積 WHERE 工程='検査' AND [判定] Is Null" i = .RecordsAffected End With ws.CommitTrans 6) ファイル上限 Accessで気になるのは容量が2GBという制限がある事ですね 2024からは容量が4GBなると聞こえて来ますが本当なんだろうか? https://support.microsoft.com/ja-jp/topic/access-%E3%81%AE%E4%BB%95%E6%A7%98-0cf3c66f-9cf2-4e32-9568-98c1025bb47c 引用: 2GBのままです。 これは、Accessの制限ではないと思っています。 Excelでも、2GBです。 https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A8%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3 引用: 下位互換機能を重視し、今の様な、NTFS ではなく、 FAT16時の 1ファイルの制限 2GB の制限に引きずられているのだと思っています。 何にしても、1GBを超えるくらないになったら、SQLServerへの移行時期でしょうから・・ 2GBを超えてAccessで運用するのは現実的ではないかと。 (1ファイル 1テーブル毎に分け、リンクテーブルで・・という方法はあるでしょうけど) 7) 引用: 開発者側からみたらそうでしょうけど ユーザーや IT管理者からしらた、レポート 【だけ】のために との思考になるでしょう。 |
投稿日時: 24/12/20 11:14:57
投稿者: かず
|
|
---|---|
Suzuさん
|