• ベストアンサー

【Access2000】マシンIDの取得方法

1つのAccessファイルを複数人で利用するため、排他テーブルを作成しています。 フォームを開いた時に、入力フォームに記載されている伝票番号を、排他テーブルに入力し、ほかの人が見た場合、編集できないようにしています。 現在、排他テーブルには伝票番号の項目しかありません。あわせてどのマシンがその伝票番号を取得しているかを確認したいのですが、VBAでマシンIDを取得するにはどうすればよいでしょうか。 もし何か方法があればお教えください。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

マシンIDとして、どのような物を望んでいるか分かりませんが OS が2000以上?なら、Environ("ComputerName") でコンピュータ名が取得できます。 ネットワーク上で一意の名前ですから使えませんかね? なお、コマンドプロンプトで、Set で そのマシンで用意されている環境変数が分かります。

yui_kis
質問者

お礼

下記の件ですが自己解決しました。 cmd.CommandText = "INSERT INTO wk_メモデータ排他チェック(受注番号,コンピュータ名)" & _ " VALUES(" & zNo & "," & "'" & comName & "'" & ")" でした…。すみませんでした。 素早いご回答本当にありがとうございました!また何かありましたらよろしくお願いいたしますm(_ _)m

yui_kis
質問者

補足

回答ありがとうございます。 Environ("ComputerName")で取得することができましたが、更新しようとするとエラーになってしまいます。 Public Function HAITA_ADD(ByVal zNo As String) As Boolean Dim comName As String comName = Trim(Environ("ComputerName")) Dim cnc As New ADODB.Connection Dim rst As New ADODB.Recordset Dim cmd As New ADODB.Command Set cnc = CurrentProject.Connection Set cmd.ActiveConnection = cnc cmd.CommandText = "INSERT INTO 排他テーブル(受注番号,コンピュータ名)" & _ " VALUES(" & zNo & "," & comName & ")" Set rst = cmd.Execute End Function 上記コードで実行すると「一つ以上の必要なパラメータが設定されていません。」とエラーが表示されてしまいます。 テーブル、フィールド名は間違いありません。(またデバッグ時、comNameはちゃんと取れています。) 原因がわかりましたらお教えくださいませ(><)!