• ベストアンサー

accessのステートメント

XPの環境でaccess2000のステートメントなどが正常に動作しません。Windows98seやwindowsMeの環境では正常に動作します。 例えば、MKDIRやsusst.exeなどです。

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

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

なんか解決していないようなのでちょいテストコードを Private Const DIR_TEST   As String = "C:\hogehoge" Private Const DRV_VIR    As String = "Z:" Private Sub CmdTest1_Click()   'ディレクトリ作成   Call MkDir(DIR_TEST) End Sub Private Sub CmdTest2_Click()   Dim strCommand   As String   '仮想ドライブ設定   'strCommand = Environ("windir") & "\system32\subst " & DRV_VIR & " " & DIR_TEST   strCommand = "subst " & DRV_VIR & " " & DIR_TEST   Call Shell(strCommand) End Sub Private Sub CmdTest3_Click()   Dim strCommand   As String   '仮想ドライブ解除   'strCommand = Environ("windir") & "\system32\subst " & DRV_VIR & " /d"   strCommand = "subst " & DRV_VIR & " /d"   Call Shell(strCommand) End Sub Private Sub CmdTest4_Click()   'ディレクトリ削除   Call RmDir(DIR_TEST) End Sub 試験環境: ・WinXP+Ac2002 ・Win2K+Ac2002runtime ・Win2K+Ac2000 参照設定: ・Visual Basic For Applications ・Microsoft Access *.* Object Library 上記環境で正常動作を確認しています NT系しか検証していませんが... (もしかして釣りですか?)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

回答No.6

>コマンドプロンプトでの操作は正常ですが、VBAの中でエラーが発生します。 そうなんですかぁ。システム自体に問題があってコマンドプロンプトでも正常に動作しないんじゃないかと勝手に推測していたんですけど、そうじゃないんですね。 susst.exe って、subst.exe のことですよね。Win98 や WinMe では正常に動作して WinXP でも正常に動作しなくて、しかもそれがファイルやフォルダ関係となると、権限関係くらいしか思いつかないですが・・・。Access でもコマンドプロンプトでも、同じユーザーで実行してるんですよね?お役に立てなくて申し訳ないですが、よくわかりません。

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

原因として思いつくのは ・MKDIR の引数(つまり作成したいディレクトリ名)に空白が含まれている。  ディレクトリ名を""で囲むとどうでしょうか? ・susst.exeに対するpathが通っていない。  exe名をフルパスで指定するとどうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

「正常に動作しません」とはどういう状況なのでしょうか?何かエラーメッセージが出ますか?それとも、何のエラーメッセージも出ないけれど、期待したとおりに実行されていないということでしょうか? もし、何かエラーメッセージが出ているのなら、何かの手がかりになるかもしれませんので補足にでも書いてください。 それと、MKDIR はわかるんですが、susst.exe とは一体何でしょうか?私は今まで聞いたこともありませんし、Google なんかで検索してみてもそれらしいものは検索に引っかかりませんでした。 susst.exe って、何をするものでしょうか? Shell 関数で susst.exe という実行ファイルを実行しているということでしょうか?XPのコマンドプロンプトや「ファイル名を指定して実行」で実行すると正常に動作しますか?

qaccess
質問者

補足

mkdirのエラーは特にメッセージはでません。 コマンドプロンプトでの操作は正常ですが、VBAの中で エラーが発生します。 susst.exeはdosコマンドで、仮想ドライブの設定で つかいます。これは、ステートメントでないので、 shell関数を用いて使用します。 しかし、mkdirと同じで、VBAでエラー、コマンドプロンプトではうまくゆきます。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

>参照設定のダイアログボックスの中に、 >参照不可という文字は見出せません。 参照不可はないのでしょう。 そういうことなら、申し訳ありませんが、他の原因はちょっと思いつきません。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

>参照可能なライブラリファイルはたくさんありますが、 ですから、「参照不可」になっている項目はありますか? ある場合は、チェックを外して下さい。 参照不可の原因は、バージョン違いが多いので、参照不可になっている項目と同じ項目でバージョンが違うものをリストから探して、参照設定をして下さい。

qaccess
質問者

補足

参照不可の意味がわかりません。 参照設定のダイアログボックスの中に、参照不可という 文字は見出せません。今現在選択されているファイルに 何かマークでも付加されるのでしょうか? 申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 とりあえず、VBE画面のメニューの[ツール]→[参照設定]で参照不可になっている項目がないか確認して下さい。 (バージョン違いなどでそうなっている場合があります。) あったら、チェックを外し、必要なら正しく参照設定をし直して下さい。

qaccess
質問者

補足

参照可能なライブラリファイルはたくさん ありますが、どのファイルが選択されてないと いけないのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXEでのENDステートメント動作

    VB6.0(SP5)を使用しています。OSはXp Proです。 自作アプリのEXEでの動作で困っています。ENDステートメントが正常に機能しません。 MDIフォームで、メインフォームのLoad中、何らかのエラー(DLLの初期化失敗など)が発生した場合に、ENDステートメントでアプリケーションを終了させています。 VBでデバッグさせている状態だと問題無く終了します。 しかし、コンパイル後のEXEで動作させると必ずメインMDIフォームを表示(起動?)します。 この時に起動されるメインMDIフォームは、各種メニュー等は起動不可で、右上×印の終了ボタンのみ機能します。 ToolBarコントロールを使用しているか否かで、症状が変わります。 (1)MDIフォームにToolBarコントロールを組み込んだ状態  上記、MDIフォームが表示される現象が発生します。 (2)MDIフォームにToolBarコントロールを組み込んでいない状態  正常に終了します。 ToolBarコントロールのプロパティを何か変更する必要があるのでしょうか? 自作アプリだけの問題かとも思い、下記のような単純サンプルを作成して確認しましたが、EXEで動作させるとやはり同様の症状が発生します。 ------------------------------------------------- Private Sub MDIForm_Load() End  '何もせずに終了する筈。 End Sub ------------------------------------------------- ENDステートメントの直前で、何か実行する必要があるのかと思い、下記のようにも試してみました。 1)ToolBarを非表示にする。 Toolbar1.Visible = False 又は Set ToolBar1 = Nothing END  '何もせずに終了する筈。 結果:ツールバーが非表示になるだけで、メインMDIフォームは表示されます。 2)メインMDIフォームを無効にする。 MDIForm1.Enabled = False END  '何もせずに終了する筈。 結果:我ながらマヌケですが、メインMDIフォームが表示され、尚かつ×印すらクリック不可でした。 3)メインMDIフォームを非表示にする。 MDIForm1.Visible = False END  '何もせずに終了する筈。 結果:MDIフォームが非表示となり、一見、よさそうですが、タスクマネージャで確認すると、該当アプリのタスクは終了はしていませんでした。 その他、ENDの代わりに、STOPを使用してみました。 この場合は、STOP実行時に「STOPステートメントで中断しました」とのメッセージが表示され、OKボタンで、やはりメインMDIフォームが表示されます。 どなたか、MDIフォーム+ToolBarコントロールを組み込んだ状態で、正常にENDステートメントを動作させる方法を教えてください。(EXEでの動作です。) また、VBでデバッグさせている状態だと問題無く終了するのは何故なのでしょうか?。 よろしくお願いします。

  • 98SEからXPへのアクセスが拒否されてしまいます。

    現在、WinXP Pro3台とWin2000のPC2台で、LAN環境を作っています。 最近、WinXPのPC1台にVertualPC2004を入れ、そこに、Win98SEをインストールしました。 98SEの動作もスムーズで、結構快適に利用できているのですが、一つ問題があります。 VertualPCの98SEから本体のXPにアクセスできません。XP→98SEはOKです。 また、98SEから他のLAN上のPCへもアクセスできます。pingは全て通ります。 「VertualPCの98SE」→「VertualPCをインストールしたXP」のアクセスだけが、NGです。 アクセス権で拒否されるので、ネットワーク的には繋がっていると思うのですが、 基本的なチェックも一通りしたつもりなのですが、原因がさっぱり解りません。 識者の方々に、アドバイスいただきたく思います。

  • Windows7とAccess97の動作について

    Windows7で、Access 97は正常に動作しますか? また、Windows7 XPモードで、Access 97は正常に動作しますか? どなたか動作確認した方がおりましたら、教えて下さい。 宜しくお願いします。

  • ACCESSのBookmarkプロパティの使い方

    Stressmanと言います。 環境は、Windows98SEでACCESS2002を使っています。 質問というのは、ACCESSのBookmarkプロパティの意味、使い方 を教えていただきたいのです。 ヘルプを読んだのですが、よく分かりません… ちなみに、ヘルプには 「フォームの基になるテーブル、クエリ、またはSQLステートメント に含まれる測定のレコードを個別に識別するためのブックマークを設定 します。値の取得および設定が可能です。バリアント型の値を使用します。」 と書いてあります。 具体的に、「こういう意味」「こういう使い方をする」というのを 教えて頂きたいのです。 #サブフォームのレコード移動について調べていたら、「Bookmark」が #よくでてきたので、「これを理解しないと先に進めない」と判断して #投稿させていただきました。 #これぐらい知っておけよ、とつっこまないでください…

  • XPでBorandC++5.5でコンパイル

    成功したプラグラムをダブルクリックしても うんとも寸とも言わないのですが 何が原因でどうしたらいいでしょうか? Windows95,98se,Meにその.exeファイルを持っていくと 動きます また WindowsMeでコンパイルしたプログラムをXPに持っていっても動きません XPでコンパイル成功したプログラムがXPで動かないでMeで動くのは不思議です

  • AccessでMSDNを使って開発

    環境:WindowsXP、Access20000 AccessでMSDNを使うつもりでインストールを終了。 その後の手順。 1 Accessを起動 2 新しいデータベースの作成 選択 3 データベース、・・・プロジェクト(A) 選択 4 プロジェクト(新しいデータベース) 選択 5 ファイル名入力後 [作成]を選択 6 エラー表示   「一時的な作業データベースを作成することができません。    ・・・・・古いデータベースを削除しもう一度ためしますか。」    再試行 しても同じエラーが表示されるだけ。 Windows98SEのPCで同じ作業をしたらうまく動作しています。 XP、Access2000ではそのままでは使えないのでしょうか? それともほかの理由でしょうか?

  • WindowsMeで動作しない・・・

    おはようございます。 開発環境:Windows2000pro      VB6.0 sp5 実行環境:クライアント;WindowsMe      サーバー:Windows2000server 実行環境はLAN環境になっていて、サーバー上にあるMDBファイルにクライアントからアクセスして、MDBの内容をCSVファイルにおとすというプログラムを作成しています。 exeファイルはサーバー上に置いて、クライアントからはネットワークドライブ経由でexeファイルを実行します。 クライアントWindows2000、Windows98では問題なく動作します。 まずWindowsMe上ではランタイムのインストールができませんでした。 「システムのいくつかが最新でないため・・・再起動します。」というメッセージがくりかえされます。(以前Windows2000で同じエラーが出たのですが、そのときはOSのサービスパックの問題でした。 Meにはサービスパックは出ていないと聞いたのですが・・・) そのため、VB6.0自体を一度インストールしてみました。しかしWindowsME上でexeファイルを実行すると「実行時エラー429 ActiveXコンポーネントはオブジェクトを作成できません」というエラーがでます。 プログラムではMicrosoft ACCESS9.0 object libraryを使用しています。 クライアントにはアクセスはインストールされていません。 WindowsMEが問題なのか、アクセスがインストールされていないことが問題なのか分かりません。 Microsoft ACCESS9.0 object libraryを使用したプログラムを実行させるには実行マシンにアクセスがインストールされていないとだめなのでしょうか? 長々すいません。 何かご存知の方、アドバイスをお願いします。

  • Access2000の年表示

    Windows98SEでAccess2000を使って簡単なDBを使っています。 検索機能があるのですが、日付で検索するときにうまく動作しません。 Windows2000だと普通に動作するのですが、どうやらWin98SEだと、 年の表示が2桁になってしまっているようです。 ちなみに入力するテキストボックスの書式は「日付(S)」にしています。 なにか設定すれば、なおるのでしょうか? 教えて下さい。

  • アクセスの機能が・・・

    OSは2000です。オフィスはXPですがアクセスが入っていないので、以前使っていたオフィス2000からアクセスをインストールして使用しています。(アクセスに関しては使用の頻度が少なく初心者レベルです。)アクセスのうち、あるファイルは正常に動くのですが中には旨く動かない(あるプレビューボタンが無反応)ファイルがあります。試しに会社の共通サーバーにそのファイルをコピーし他のPC(98SEやXP)で動かしてみると正常に動きます。インストールの不具合かとも思い削除→再インストールをしても同じです。これはどうしてなのでしょうか?改善の方法はあるのでしょうか?原因と対策が見つからずに困っています。どなたか助けてください。お願いします。

  • Windows7 の「Virtual Windows XP」について<動作しないソフト・ドライバの可能性は?>

    Windows7 の「Virtual Windows XP」について、教えてください。 「Virtual Windows XP」環境であれば、XPで動作していたソフト・ドライバは全て動作すると考えてよいのでしょうか? 正常に動作しない可能性があるものはどのようなものがありますか? よろしくお願いいたします。

ダイエットも栄養も重要
このQ&Aのポイント
  • ダイエットも重要だが栄養も取らなきゃいけないと思うし私のような肥満体はどうすればいいのでしょう
  • ダイエットと栄養の両方が重要ですが、特に肥満体の場合はどのように対策すればよいのでしょうか
  • ダイエットと栄養のバランスを考えることが重要であり、肥満体の方にとっては適切な食事管理が必要です
回答を見る