• ベストアンサー
  • すぐに回答を!

コモンダイアログでフロッピーディスクに保存するとエラー

開発環境 Windows2000 SP2 VB6 SP5 ADO2.5(Access2000形式のMDB使用) 少し気になっていることがあるのですが、VBで作ったアプリケーションで DataGridに表示されているデータをフロッピーディスク(以下FD)にデータを保存します。 (MoveNextで送りながらテキスト書き込み) 保存した後にFDを抜いて開いている画面を閉じて再度その画面を開くと 「ディスクあるいはネットワークのエラーです。」の表示の後に異常終了してしまいます。 このエラーは意識して表示させている物では無いので ADOのデータコントロールが勝手に表示させている物だと思います。 エラーが発生する場所はADOのデータコントロールにConnectionStringをセットする時です。 もちろんフロッピーディスクは指定していません。 Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DB1.mdb;" MO等のリムーバルディスクでも同じような症状です。 ハードディスク上かメディアを抜かなければ全く問題ありません。 ADOのコネクション以外のところでは異常終了はしませんが フォームを開くときにアクセスに行きます。 コモンダイアログのFileNameをハードディスク上のファイルを指定して 終了させても解決しません。とにかくコモンダイアログを一切使わないか ユーザ自信がハードディスク上のファイルを指定しないといけないようです。 全く同じでは無いにしろ、似たような現象にあった方はいらっしゃいませんか? その場合の対処法をアドバイスしていただけると助かります。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数140
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • todo36
  • ベストアンサー率58% (728/1234)

コモンダイアログを使うとカレントフォルダが動いちゃうだよね。 s = CurDir() CommonDialog1.ShowSave ChDrive s ChDir s でどうででしょう。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

は、はやい、、昼ご飯食べる暇もありませんでした!(笑) ちょっと試してみます。ありがとうございました。

質問者からの補足

完璧でした!気分良くお昼が食べられそうです(笑) 本当にありがとうございました。

関連するQ&A

  • ASP.NET で意味不明のエラーが発生!教えてください

    web.configに以下の定義をしました。 Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\db1.mdb" 以下をメインの処理で設定 Using connection As New OleDbConnection(connectionString) 「connectionString」で以下のメッセージが 表示されます。どのようにしたらエラーが解決できるのでしょうか? 教えてください。 This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory

  • 接続設定を削除したところ、エラーが出ていて直りません。

    環境はVB2005、SQLServer2005です。 DataGridViewを使用してSQLデータを表示、編集できるようにしています。 DataGridViewを貼り付けた時に右上に出てくる右矢印からデータソースを選択し、表示させていましたが、接続設定を変更するため、MyProjectの設定タブから現在使っている接続を削除してみたところ、以下のエラーが出てきてしまいどう直していいか分かりません。どなたか詳しい方いましたらお願いします! エラーメッセージ エラー 1 'Database1ConnectionString' は 'WindowsApplication1.My.MySettings' のメンバではありません。 エラー箇所 DataBase1.DataSet1.Designer.vb <System.Diagnostics.DebuggerNonUserCodeAttribute()> _ Me._connection.ConnectionString =Global.WindowsApplication1.My.MySettings.Default.Database1ConnectionString

  • MDBファイルがオープンできません

    C#2005で作ってます。 // データベース接続 Connection = ProviderFactory.CreateConnection(); Connection.ConnectionString = csBuilder.ConnectionString; Connection.Open(); Connection.Open()でエラーになります。 「'Microsoft.Jet.OLEDB.4.0' プロバイダーがローカル コンピューターに登録されていません」 Connection.ConnectionStringはProvider='\"Microsoft.Jet.OLEDB.4.0\"';Data Source='\"C:\test.mdb\"' と設定されてます。 上記エラーになる原因としてはx64環境だとJetエンジンが対応していないのでという 回答はいくつも見ましたが、開発・実行している環境は、ともにWindowsXP x86です。 しかもx86でコンパイルしても直りません。 何をどうすれば動くものなのでしょうか?

  • コモンダイアログを表示したい

    Windows98/VisualBasic5.0を使用しています。 ファイル名を指定させるために、コモンダイアログを表示したいのですが方法がわかりません。 コントロールを貼り付ければよいのでしょうか? 初歩的な質問で申し訳ありませんが、よろしくお願いします。

  • フロッピーディスクに保存をかけようとするとアクセス権エラー表示

    フロッピーディスクに保存してあるワードのデータを編集して、再度フロッピーディスクに上書き保存をかけようとすると「アクセス権エラー」という表示が出てしまいます。  以前は名前を変えて保存をかけたらうまく保存できたのですが、今回名前を付け替えても、同じエラー表示が出てしまい保存できませんでした。  良くわからないので、別のフロッピーディスクに保存をすることにしたのですが、どうしてこのようなエラーが出てしまうのでしょうか?  原因が分かる方、どうか教えて下さい!!!

  • WindowsXPのアップデートを行ったらエラーが発生

    VB6.0で下記プログラムを作成したが、 WindowsXPのアップデートを行ったらエラーが発生するようになった。 ==プログラム Public Cn_Tables As ADODB.Connection Public Sub DB_Open() Set Cn_Tables = New ADODB.Connection Cn_Tables.ConnectionString = "Driver=Microsoft Access Driver (*.mdb);" & _ "DBQ=" & App.Path & "\TEST.MDB" Cn_Tables.Open End Sub ==エラー内容 「オートメーション エラーです。 指定されたプロシージャが見つかりません。 」 ※Openメソッド実施でエラー発生

  • VBのデータグリッドの表示が消えてしまいました。何故でしょうか?

      cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=C:\生徒管理\生徒.mdb;" cn.Open mySQL= "SELECT * FROM 2学年 " _ & "WHERE (((所属)='" & frmPW.cmb生徒.Text & "'))" Set rs= New ADODB.Recordset rs.Open mySQL, cn, adOpenStatic Set DataGrid1.DataSource = rs と記述していて、それまでデータグリッドにデータが上手く表示されていたのに、 接続先のmdbファイルにパスワードを設定して、ConnectionStringの設定部分を   cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=C:\生徒管理\生徒.mdb;" & _ "Jet OLEDB:Database Password=seito2;" に変更したところ、データグリッドにデータが表示されなくなりました。 データベースへの接続は上手くいっているようなのですが、何故データグリッドに データが表示されなくなったのでしょうか。 よろしくお願いします。

  • ExcelVBAからAccessにアクセスする

    ExcelVBAからパスワード付きAccessにアクセスする ExcelVBAからADOでAccessに次のようにしてアクセスしています。 Dim Cnn As ADODB.Connection Set Cnn = New ADODB.Connection Cnn.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;\" _ & \"Data Source=\" & mdbのフルパス Cnn.Open パスワード付きのmdbにアクセスするのはどのようにしたらよろしいでしょうか?

  • OleDbDataAdapterのエラー

    OS:Windows7 Visual Studio2012Professional いつもこちらでお世話になっています。 OleDbプロバイダーのOleDbDataAdapterでAccessファイルからDataSetへデータを取込む作業をしています。 下記のコードで、一度はDataSetへデータを取り込めたのですが、接続文字列を変更したところ、変更前の接続文字列(パス)を参照に行ってしまいエラーになります。 リビルドしたり、プロジェクトを作成し直したりしましたが、やはり変更前の接続文字列を使用してしまいます。 【コード】 private void Form1_Load ( object sender, EventArgs e ) {  string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\hoge変更後\○○.mdb;"  string sql = @"SELECT * FROM Table;";  DataSet ds = new DataSet();  OleDbConnection cn = new OleDbConnection();  cn.ConnectionString = connectionString;  OleDbCommand cmd = new OleDbCommand();  using (OleDbDataAdapter da = new OleDbDataAdapter()) {  cmd.Connection = cn;  cmd.CommandText = sql;  da.SelectCommand = cmd;  da.Fill( ds ); ← ここで『System.Data.OleDb.OleDbException』エラー   } this.dataGridView.DataSource = ds.Tables[0]; } 【エラー】 System.Data.OleDb.OleDbException はハンドルされませんでした。 HResult=-2147467259 Message=パス 'D:\hoge前\○○.mdb' は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。 Source=Microsoft JET Database Engine ErrorCode=-2147467259 どなたか原因がおわかりになりますでしょうか。 どうぞよろしくお願いいたします。

  • フロッピーディスクを入れているのに・・・

    昨日までなんともなかったのですが、さっきからパソコンの調子が悪いのです。 ご存知の方がいらっしゃいましたら、教えてください。 フロッピーディスクを入れているのに、「3,5インチFD(A;)」を開くと、「Aドライブにディスクを挿入してください」というメッセージが表示されてしまいます。 いくつか試してみましたが、どのフロッピーディスクでも同じ結果でした。 これではディスク内のデータが開けません。 作業ができなくて困っています。 お願いします!!