Accessで共有フォルダにユーザー名を通す方法

このQ&Aのポイント
  • Accessでフォームとテーブルを分ける方法と、テーブルのmdeファイルを共有フォルダに置き、フォームのmdbファイルを配布する方法について説明します。
  • VBAのnet useコマンドを使用して共有フォルダへのユーザー認証を行いたい場合、ログインフォームにユーザー名を入力するテキストボックスを配置し、その値をnet useコマンドに渡すことができます。
  • しかし、net useコマンドでユーザー名を渡す際には、変数をダブルクォーテーションで囲む必要があることに注意してください。正しい書き方は「net use ファイルパス パスワード /User:"UserName"」です。
回答を見る
  • ベストアンサー

net useのユーザー名を変数で通したい

Accessの超初心者です。 Accessでフォームとテーブルを2つのファイルに分け、テーブルのmdeファイルはユーザー認証付の共有フォルダ(NAS)上に置き、フォームのmdbファイルは使用者数名に配布し、リンクテーブルで共有フォルダ上のmdeファイルに接続したいと思っています。 共有フォルダのユーザー認証はVBAでnet useコマンドを使用すれば接続できると分かり、ログインフォームに追加することができました。 ですが、ログインフォーム上にユーザー名を入力するテキストボックスを配置し、その入力内容をnet useコマンドに渡したく下記のVBAを書いてみましたが、共有フォルダにログインできない状態です。 Dim UserName As String UserName = Me.ユーザー名 Set myWSH = CreateObject("WScript.Shell") myWSH.Run "net use ファイルパス パスワード /User:UserName" 変数UserNameをダブルクォーター等々で囲わなければならないと思い色々試してみた のですが、共有フォルダのユーザー認証が通らずご教授の程、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> myWSH.Run "net use ファイルパス パスワード /User:UserName" WScript.Shell の Run 命令に、"net use ~" の文字列を渡して実行してもらう。 なのですが・・・・ この書き方だと "~ /User:UserName" と、変数名をそのまま文字列として渡しています。 変数に格納された文字列(ユーザー名)を使用したいなら、  myWSH.Run "net use ファイルパス パスワード /User:" & UserName ですね。

Reiseipasuta
質問者

お礼

遅くなりまして申し訳ございません。 共有フォルダへログインすることが出来ました。 ログイン出来ない理由まで添えて頂きありがとうございます。 以後精進します。

関連するQ&A

  • windows98でのnet useコマンドについて

    windows98でサーバーの共有フォルダーへの接続認証するために、 NET USE 「ドライブ名」: \\PC名\共有名 パスワード /user:サーバー名\ユーザー名 というbatファイルを作ったのですが、エラーがでてしまいネットワークドライブ接続、サーバー認証できません。 windowsNT、2000、XPでは問題ありません。 ログインパスワードは会社の方針で定期的に変更されるため、batファイルで固定のユーザー名・パスワードでサーバーへ接続させたいのですが、windows98のPCで何か良い方法はないでしょうか?宜しくお願いします。

  • net useコマンド

    共有ドライブ    : \\公開フォルダ\【tool】 ログオンユーザー名 : admin ログオンユーザーのパスワード : password 設定ドライブ    : なし OS        : Windows2000 及び WindowsXP 置換ファイル名   : 顧客DB.mdb パッチファイルの作成をしたいと考えています。 パッッチ処理の内容は、net useコマンドにて共有フォルダへパスワードを自動入力し接続させます。そしてrplace コマンドの実行をしたいと考えています。可能であればreplaceコマンドの記述方法についても ご教授頂ければとても幸いです。 replaceさせたいのは、net useコマンドにて接続したネットワークディレクトリ内のファイルとローカルのデスクトップ上にあるファイルとを 比較し、デスクトップ上のファイルが古い場合には最新のファイルに置換をしたいと思っています。 まだまだ初心者のため、コマンド集のサイトを見たのですが分かりませんでした。 御存知の方、よろしくお願いします。

  • net use の「利用不可」について

    Windows2003 Server(ServerA)にて、管理者ユーザー(User1)でログインします。 コマンドプロンプトで、他のWindows2003 Server(ServerB)にnet useコマンドで、共有ドライブ(接続ユーザーは管理者権限のあるUser2)を設定します。 net use X: \\ServerB\data password /user:User2 この状態で、一度、ログオフをして、再度User1でログインして、このnet useの共有ドライブの状況を確認すると、ステータスが「利用不可」となっていて、共有ドライブが利用できません。 これは、Windowsの仕様でしょうか?回避するには、User1でnet useを行わないとダメなのでしょうか?

  • net useコマンド

    共有ドライブ    : \\192.168.1.1\file ログオンユーザー名 : admin ログオンユーザーのパスワード : adminps 設定ドライブ    : o OS        : Windows2000 及び WindowsXP net useコマンド1回接続させ、毎回パスワードを入力しなくとも接続出来る様にしたいと思い、コマンド集のサイトを見たのですが分かりませんでした。 御存知の方、よろしくお願いします。

  • 「net use」での共有ディスクへのアクセスについて

    共有ディスクにコマンドで接続しようとするとアクセス出来ません。 但し、「ファイル名を指定して実行」でサーバー名「\\192.168.1.1」を入力しID及びPSを入力すると接続出来ます。 毎回自動で共有ディスクに接続したいためスタートアップにバッチファイルをおき実行したいと思っています。 どうかよろしく御願いします。 「実行時のコマンド」 net use o: \\192.168.1.1\「共有フォルダ名」 「パスワード」 /user:「ユーザー名」 /persistent:no 「エラー内容」 システム エラー 1219 が発生しました。 同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続 は許可されません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、 再試行してください。 ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

  • net useコマンドについて

    net useコマンドについて質問させていただきます。 net use ドライブ名: \\サーバ名\共有名を実行すると、「'サーバ名'のユーザ名を入力してください」と表示される場合とされない場合があります。 表示されるケースの方が少なく、表示させたくないのですが、どこの設定でこの表示がされてしまうのでしょうか? サーバはWindows 2008 Server net use実行端末はXPです。 よろしくお願いします。

  • net useコマンドでミス

    LinuxのSambaサーバーにユーザーを切り替えてログインするために、 net use コマンドを以下のように入力してしまい、(i36ffはログインユーザー名) net use /delete i36ff Windowsのi36ffユーザーにアクセスできなくなってしまいました。 デスクトップのデータやMyDocumentは生きているようですが どうやっても削除したユーザーにログインできません。 どなたか状況を打開し、以前のようにこのユーザーを使える方法を知りませんか? どうか知識のご教授をお願いします。よろしくお願いします。

  • 実際にログインしたユーザー名にならない…

    ご存じの方がいらしたらぜひ教えて下さい。 管理者権限を付与しているユーザーでログインした WindowsXP Professional (SP2)のパソコンから、 Windows2000サーバーの共有ファイルをエクスプローラで 開いている状態のまま、Windows2000サーバー側でコマンド プロンプトからNET SESSIONコマンドをたたいて接続ユーザーを 確認して見ると、ユーザー名が"ADMINISTRATOR"と表示されています。 実際にXP側でログインしているユーザー名が表示されるのでは? と思うのですが何故なのでしょうか?(質問1) というのは、他の同種OSのパソコンから管理者権限を付与している ユーザー(先の説明にあるユーザーとは別のユーザ)でログインした 場合は"ADMINISTRATOR"で表示されなくてログインしたユーザー名で 表示されるからです。 サーバー側の共有フォルダのセキュリティを設定する上では ログインしたユーザー名で繋がって欲しいのですが、それはどう すればよろしいのでしょうか?(質問2) 宜しくお願い致します。

  • 新しいユーザで社内サーバー共有フォルダへのアクセスがnet useコマンドを使用しないと出来ない。

    PCに新しいユーザを作成しネットワークコンピュータから社内サーバの共有フォルダにアクセスすると「\\xxxxxにアクセスできません。アクセス権があるか・・・」のメッセージが帰ってきます。 サーバーには新しいユーザーは登録済みです。 そこでDOS窓でnet use \\xxxxx /user:abcを実行すると「コマンドは正常に終了しました」と表示され、次にネットワークコンピュータからアクセスすると今度は正常に繋がります。 PC内の何かのファイルが壊れているような気がするのですが、net useコマンドを使用しないでもサーバーにアクセスするにはどうしたら宜しいでしょうか?

  • リンクしたPHPへ変数をわたしたい

    今 サンプルをくっつけようとしています。 *1つのサンプルはログイン認証(PHP)で、ユーザー($username)を認証してから他のメニュー(ここではアップロード・ダウンロード,PHP)へ飛ぶようにテンプレート(TPL)上でPHPのリンクをつけてあります。 *TPLファイルでは、以下のような部分を付加してありますが、 画面上でログインしているユーザー名($username)が表示されます。 <P> {$username|escape:"html"} <BR> <BR> <A href="storage.php?{$username}={$username|escape:"html"}">"{$username|escape:"html"}"ファイルのアップロード・ダウンロード</A> <BR> <BR> 画面上に表示されたリンクをクリックしてstorage.phpへ飛ぶと、 storage.php内で 表示できるように設定した$usernameが表示されません。 storage.phpではユーザー別のフォルダをつくりそこにアップロード・ダウンロードさせたいのですが $usernameがわたらないために どのユーザーでも同じフォルダーにアクセスすることになってる現状です。 storage.phpでは 以下のような内容 function listup($username,$key) { global $dirname; print $dirname; $dir="./data/$dirname"; ............... $username さんのファイル一覧 インターネットや本をみたのですが、わかりません。 すみませんが お気づづきのかたいらっしゃいましたら アドバイスお願いいたします。

    • 締切済み
    • PHP

専門家に質問してみよう