[ad_1]
私は VB データベース プロジェクト (アクセス) を持っています。 source=Application.Startuppath & “\filename.accdb” を試しました。 それは動作しません。 |Data Directory|\filename.accdb も機能しません。 助言がありますか?
私が試したこと:
source=Application.Startuppath & “\filename.accdb” を試しました。 それは動作しません。 |Data Directory|\filename.accdb も機能しません。
解決策 1
「Program Files」または「Program Files (x86)」の下にデータベースを配置すると、データベースを使用できなくなります。 これらのフォルダーの場所は、通常のユーザーには読み取り専用であるため、データベースを更新することはできません。
データベースの元のコピーを保持し (できれば、データベース全体を定義しているがデータを含まない状態で)、そのファイルをユーザーが読み取り/書き込み権限を持つより適切な場所 (フォルダーなど) にコピーできます。 %PROGRAMDATA% の下、または %APPDATA% (ユーザーのローミング プロファイル) または %LOCALAPPDATA% (ユーザーのローカル プロファイル) の下のフォルダー。
どのフォルダを選択するかは、アプリケーションによって異なります。 同じマシン上のすべてのユーザーが同じデータベースを使用しますか? その場合は、%PROGRAMDATA% の下のフォルダーを使用してください。 データが同じマシン上の各ユーザーに固有であるが、マシンからマシンへとユーザーを追跡しない場合は、%LOCALAPPDATA% の下のフォルダーを使用します。 各ユーザーが使用するすべてのマシンでデータを追跡する必要がある場合は、%APPDATA% の方が適しています。 ローミング プロファイルを使用する場合は、各マシンを Active Directory 環境に配置し、ロメイン プロファイルとデータに適したネットワーク ロケーションをセットアップする必要があります。
ほとんどの場合、%PROGRAMDATA% の下のフォルダーを使用します。
データベースへの接続文字列を作成するときは、文字列操作を使用してデータベース ファイルへのパスを挿入できます。
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%PROGRAMDATA%\myAppFolder\myAccessFile.accdb;Persist Security Info=False;
[ad_2]
コメント