問題タブ [ms-access-2016]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ms-access - UDL ファイルを使用してアクセスに接続しようとしています
UDL ファイル経由で Access データベースに接続しようとしています。ADO.NET 経由でアクセス データベースに接続できるように、接続文字列を生成したいと考えています。私がこれをやろうとしてから数年が経ちました。
Windows 10 x64 pro マシンに Visual Studio 2015 Pro と Microsoft Access 2016 をインストールしています。.udl ファイルを作成するとき、次の使用可能なオプションがあります。
ODBC ドライバー用 Microsoft OLE DB プロバイダー
検索用 Microsoft OLE DB プロバイダー
SQL Server 用 Microsoft OLE DB プロバイダー
Microsoft OLE DB シンプル プロバイダー
MSDataShape
Microsoft ディレクトリ サービスの OLE DB プロバイダー
SQL Server ネイティブ クライアント 11.0
過去数年間、このリストには Microsoft Jet 4.0 OLE DB も含まれていたと思います。私が行った調査によると、Jet 4.0 は非推奨であり、Access データベース エンジンを使用する必要があると思います。私は次のバージョンだと思います:
Microsoft Access データベース エンジン 2010 再頒布可能パッケージ
Microsoft Access 2016 ランタイムの x64 バージョンをダウンロードしました。インストールしようとすると、次のエラーが表示されます。
お使いの PC に次の 32 ビット プログラムが見つかったため、64 ビット バージョンの Office をインストールできません: Office 16 クイック実行拡張機能コンポーネント すべての 32 ビット Office プログラムをアンインストールしてから、64 ビット Office のインストールを再試行してください. 代わりに 32 ビット Office をインストールする場合は、32 ビット セットアップを実行してください。
Microsoft Access 2016 ランタイムの 32 ビット バージョンを試しましたが、同じメッセージが表示されます。
お使いの PC に次の 64 ビット プログラムが見つかったため、Office の 32 ビット バージョンをインストールできません: Office 16 クイック実行拡張機能コンポーネント 64 ビット登録 すべての 64 ビット Office プログラムをアンインストールしてから、インストールを再試行してください32 ビット オフィス。代わりに 64 ビット Office をインストールする場合は、64 ビット セットアップを実行してください。
開いているすべての Microsoft Office および Visual Studio アプリケーションを閉じようとしましたが、同じエラーが発生します。正しいコンポーネントをインストールしていますか? 正しくインストールする方法はありますか?
ms-access - Access - 親フォームが開いているときにサブフォームを照会しない
私は、レコードセットが処理にかなりの時間がかかり、実際には親フォームが開かれたときにすぐに必要とされないが、フォームのボタンが押された後にのみ必要とされるクエリであるサブフォームを含む MS Access フォームを持っています。
Set Me.MySubForm.Form.Recordset = NULL のようなものでフォームを完全に変更する以外に、VBA でこれを実装する方法はありますか? Me.MySubForm.Enabled = False を試しましたが、残念ながらうまくいきません。
ms-access - Access 2016 - ユーザーが入力した 1 つのパラメーターを使用して、クエリ内の 2 つのフィールドを検索できますか?
娘が Access 2016 DB を作成して、大量の DVD コレクションをカタログ化するのを手伝おうとしています。彼女は、レコードごとに、映画に関連付けられた 2 つのスターを保持したいと考えています。「男性スター」と「女性スター」というフィールドを提案しましたが、「外観」を取得したところ、彼女の映画の多くには男性スターがいないとのことでした。(私たちは困っていると思います。) 最終的に、フィールドに「Star1」と「Star2」という名前を付けました。ユーザーに 1 つのパラメーターを要求して、両方のフィールドを検索させるクエリ設計を使用する方法はありますか? Star1 フィールドに 1 回、Star2 フィールドに 2 回パラメータを入力する必要はありません。私はAccessにかなり慣れていないので、何か提案をいただければ幸いです。ありがとう。
ms-access - tableB からデータを取得して、tableA-fieldB に基づいて tableA-fieldA を自動入力する方法は?
最初に、いくつかの背景を説明します。私は Excel での作業に慣れており、それを使用して世界構築の趣味のために生産計算機を作成しています。最近、計算が必要なデータが多すぎるという問題が発生したため、最終的にあきらめて、すべてを Access に切り替えてみました。
私は Access の使用方法についていくつか読んでおり、それに基づいて次のことを決定しました。
1)特定の生産レベル(1、2 ...)を持つ地域(寒帯、温帯...)の温度テーブルがあります
2) 特定の生産レベル (1、2...) を持つ地域 (湿潤、乾燥...) の降水量表があります。
3) 次に、上記の地域を混合して、次のフィールドを持つバイオームを作成するバイオーム テーブルを作成します
。
- 降水量 (表 2 のドロップダウン メニュー)。
- 温度 (表 1 のドロップダウン メニュー)。
- 生産性レベル (表 2 の降水生産レベルに表 1 の温度生産レベルを掛けたもの)。
質問: 表 3 の生産性レベルを自動化するにはどうすればよいですか?
注 1: 私は VBA を知りません。Access を使用するのはこれが初めてです。
注2:テーブル3をフォームとして作成するように言われましたが、それは私がやりたいことではうまくいかないと思います。関連する可能性がある場合に備えて (そして、明らかなことはわかりません)、次に、このデータベースを構築する最初の目標について説明します。
データ入力フォーム: 以下で参照されるすべての表は、緯度経度の連結によって接続されています。私はそれを部分的に (メイン フォームと都市サブフォーム) 正常にビルドしました。
- 緯度、経度、地形の 3 つのフィールドを持つテーブルに基づくメイン フォーム。
- 3 つのフィールドを持つテーブルに基づくサブフォーム: 都市名、設立日、崩壊日。
- 3 つのテーブルに基づく 3 つのサブフォーム。それぞれが期間を表し、2 つのフィールドがあります: バイオーム (バイオームは期間に応じて特定の領域で変化します)、およびその生産性レベル。
世界を構築し、座標ごとに調整したら、次の段階に進みます - 植物や動物、さらにそれらから派生した製品とその生産性レベルを特定するテーブルを作成します。これを使用して、私の世界の経済システムと、さまざまな富レベルのキャラクターのリストを作成します。
これは、Excel で (VBA を使用せずに) ある程度簡単に機能させることができますが、データ量が多いため、使用する前にファイルが壊れてしまいます。Access でうまくやっていけたらいいのですが、この怪物には 1 つずつ対処していきます。今、私は上に投稿した質問に集中しています。あなたが私に与えることができるかもしれないどんな援助にも感謝します.
ms-access - VBA で隠しファイルを使用する
私の MS Access データベースはいくつかのファイルを使用する必要がありますが、それらを非表示にすると、エラー 75 (「パス/ファイル アクセス エラー」) がスローされます。
これらのファイルへのパスを記述するコードの部分で、それらが非表示であることを指定するにはどうすればよいですか?
sql - 昨日と今日の間のレコードを選択
今日の固定タイミング (例: 18:00) と昨日の固定タイミング (例: 18:00) の間のレコードを取得する単純な SQL クエリを実装しようとしています。
ただし、これは今日の現在のタイミングと昨日の時点の間のすべてのレコードを返します。
指定したタイミングでレコードを返す方法はありますか?
編集:このクエリを試しましたが、構文エラーがスローされます。
何か助けはありますか?
sql-server - Microsoft Access 2016 VBA での aceDAO レコードセットの明示的な宣言
Microsoft SQL Server 2012 Express をバックエンドとして、Access 2016 をフロントエンドとして使用するプロジェクトがあります。以前のコードは Access 2003 と SQL Server 2000 データベースにありました。バックエンドを SQL Server 2012 Express に移行しました。また、.mdb を .accdb ファイル形式に変換しました。私のプロジェクトには、DAO と ADO のレコードセットがありました。ソフトウェアは、クライアントの場所にある複数のノードにインストールされています。レコードセット宣言を簡単にするために、DAO.recordset と ADO.Recordset を使用しました。VBA コードの参照ウィンドウで、ADO 参照の前に DAO 参照があります。しかし、Access 2016 にアップグレードしたときに、DAO の代わりに aceDAO レコードセットを使用したいと考えました。
試したaceDAOレコードセットの明示的な宣言構文を見つけようとしています
「ユーザー定義型が定義されていません」というコンパイル エラーが発生します。
VBA の参照ウィンドウでの参照の優先順位に頼ることができず、何かが壊れているとクライアントのマシンで参照が変更されることがあります。そして、これは確かに私に問題を与えるでしょう。
sql-server - エラー 3021 「現在のレコードがありません」
フォルダーにある Access ファイルがあります。フォルダが会社のサーバーにリンクされていること。これは、社内のすべてのコンピューターから Access ファイルにアクセスできることを意味します。
私が抱えている問題は、あるコンピューターからはアクセス ファイルにログインできますが、別のコンピューターから同じファイルにログインしようとすると、「エラー 3021、現在のレコードがありません」というエラーが表示されることです。
これは私のコードです。
それはちょうど私を混乱させました。サーバーから同じファイルにログインするので、エラーは発生しませんか? このエラーは、別のコンピューターでアクセス ファイルにログインした場合にのみ発生します。
なぜこれが起こるのか、どうすれば解決できるのか誰か知っていますか?