• ベストアンサー

VB5がXPでエラー

お世話になります。 Windows98で開発したVB5のプログラムが現在もXPで動いています。 98で作成したのは当方ですが、XPへ移したのは別人です。 で、先日実行中にエラーが出たということでソースをみようとしたところVBがエラーで立ち上がらず見ることがでなかったので、 他のXPのPCへVB5へインストールし、そちらにソース、データを移し、コンパイルしたところ、エラーが出て先へ進みません。 場合1) 参照設定: DAO 3.51 の場合、DBEngine.Workspaces(0) でエラー 場合2) 参照設定: DAO 3.6 の場合、コンパイルはできるが書き込みの時点で、 「このコンポーネントのライセンス情報が見つからない。デザイン環境でこの機能を使うためのライセンスがない」 とのエラー 場合2)で、MaskEdBox の参照をはずし、ソース、ホームからも削除してみたが同じエラーがでます。 尚、DBList, DBguridなど使用しています。 何かしらお気づきの点があればアドバイス、よろしくお願いします。

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

  • ベストアンサー
noname#206655
noname#206655
回答No.2

環境がないので、詳しく言えませんが 直訳でライセンスが無い...と読み取れます。 データベースを展開する場合、あの頃はFDDなどでライセンスを入れたマシンしかデータベースが動きませんでした。VB5と言うよりは、データの入れ物のライセンスに問題があると見えます。

ilikecats
質問者

お礼

ok_kamokamoさん2回の回答ありがとうございます。 試しにFMVで作成したEXEファイルのみ相手先のValueStarに入れたところまともに動作しましたので今回はこれでよしとしたいと思います。相手先にはどこかのソフト会社に新しいシステムの開発を頼むようにいっておきました。 また何かありましたらアドバイスお願いいたします。

その他の回答 (1)

noname#206655
noname#206655
回答No.1

Windows98の頃は「NEC9801」と「NEC9821」と2系統あり、ドライブアサインが違っていますが、マシンのメーカーと機種をお知らせください。

ilikecats
質問者

補足

早速の返答ありがとうございます。 お問い合わせの件ですが相当以前のことですので忘れてしまいました。 エラーのでたPCは、VALUESTARです。 また先ほど当方のFMV(XP Service pack 3)で、DAO3.6を参照設定し、コンパイルところ上手くいきました。 先方でコンポーネント等のバージョンを確認してみますので、この質問を2,3日、上げたままにさせてください。

関連するQ&A

  • VB2008からAccess2007へのDAO接続でエラーになります。

    VB2008からAccess2007へのDAO接続でエラーになります。 VB2008EEからDAO3.6を利用し、Access2007(*.accdb)に接続しようとしていますが、 エラーが発生してしまい、接続できません。 エラーの内容は下記のとおりです。 実行時エラー '3343': データベースの形式 'XXX' を認識できません。 Access2000のデータベース(*.mdb)には普通に接続できています。 Accessのバージョンを問わずに接続したい場合、どうすればよいのでしょうか? 参考までに現在のコードを記載しておきます。 ※DAO3.6に参照設定してあります。 Imports dao Module modConnectDb Public Function DaoConnect(ByVal strDb As String) As Boolean 'strDb:データベースのファイルパス Dim Ws As dao.Workspace Dim DbE As dao.DBEngine Dim Db As dao.Database Dim strMsg As String Try DbE = New dao.DBEngine Ws = DbE.Workspaces(0) Db = Ws.OpenDatabase(strDb) Catch ex As Exception strMsg = "エラー番号 " & Str(Err.Number) & vbCrLf & _ Err.Source & " でエラーが発生しました。" & vbCrLf & Err.Description MsgBox(strMsg, vbExclamation, "エラー") End Try End Function End Module

  • VBからAccessのデータベースをよみたい。けどエラー

    こんにちわ 先日 http://oshiete1.goo.ne.jp/kotaeru.php3?q=681876 でVBからアクセスのデータベースを読み込むことで 質問したものです。 (VB6.0 Access2000 Win2000でやってます) VB6.0にバージョンアップし(DAO3.6を選択するため)、変数も定義できたのですが、 Private Sub Form_Load()の部分で(以下) Set wspace = DBEngine.Workspaces(0) Set dbname = wspace.OpenDatabase(mypath & "\db1.mdb") dbname.QueryTimeout = 0 .QueryTimeoutに対してコンパイルエラーがでてしまいます。「メソッドまたはデータ メンバが見つかりません」というものです。そういえばOpendatabaseなどは「.」を打った時点でメソッド?の一覧が出るのですが、QueryTimeoutはでてきません。 DAO3.6以外にもなにか追加しないといけないのでしょうか? ヘルプで見たのですがメンバとは「コレクション、オブジェクト、またはユーザー定義型を構成する要素。」・・・ということでチンプンカンプンです(ノД`) ちなみにdbname.QueryTimeout = 0の部分をコメントアウトすると、その1つ前の行に対して「型が一致しません」とでてしまいます(ノ∀;) Accessを読み込んだ後は特に複雑なことはしないので(足したり参照する程度)、ここさえのりきれば・・・なのですがエラーばかりでて困ってます(ノД`) それともdb1.mdbファイルじたいがなにか読み込めない形式になってることが原因なのでしょうか? VB超初心者にもわかるようにコメントいただけると嬉しいですM(__)M

  • VB6でデータベースを変えるとテーブル形式エラーになります

    VB6 とACCESS97 でプログラムを作成、問題なく動いていました。 事情により、このパソコンにACCESS2000をインストールし(ACCESS97 と ACCESS2000 の二つが入っています)VB6のデータベースをACCESS2000に変換しました。 VBの参照設定をMicrosoft Access8.0 Object Livery から9.0 に換え、ACCESS 2000のデータベースのプロパティでファイルの種類をMicrosoft Access から Microsoft Access for Windows に換えました。 これを実行すると「実行時エラー3343 データベースの形式 "C:\SALES\TEST.mdb" を認識できません」と出ます。 他に修正すべきところがあるのでしょうか?それともバージョンの違うACCESS を併用するのはまずいのでしょうか? TEST.mdb をクリックすると、ACCESS2000で問題なく立ち上がります。 なお、VBからACCESSへの接続は下記のように書いています。 Public DB As DAO.Database Set DB = DBEngine.Workspaces(0).OpenDatabase("C:\SALES\TEST.mdb") 宜しくお願いします。

  • 初心者ですデータベースの形式 ・・・を認識できませんというエラーがでます

    VBを始めたばかりの初心者でDB接続がいまだによくわかっていません。 以下のプログラムをデバックするとデータベースの形式 <ファイル名> を認識できません というエラーがでてしまいます。access2007はインストールしたばかりで何も設定とかは いじってないと思います。 利用ソフト VB2008 Express Edition MS ACCESS 2007 Imports dao Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'DAOのオブジェクト変数を宣言する() Dim ws As dao.Workspace Dim db As dao.Database Dim rs As dao.Recordset ' デフォルトのワークスペースを定義する 'DAO.DBEngine.Workspaces(0)の関数 'ws = DBEngine.Workspaces(0) Dim obj As DBEngine = New DBEngine() ws = obj.Workspaces(0) Try ' データベースを開く db = ws.OpenDatabase("C:\Users\PCUser\Desktop\database\Database1.accdb") ' テーブル名を指定してレコードセットを作成する rs = db.OpenRecordset("adress", RecordsetTypeEnum.dbOpenDynaset) Catch ex As Exception MsgBox(ex.Message) End Try MsgBox("DB接続") End Sub

  • VB2008→VB2010でエラーが出てまいります

    VB2008→VB2010でエラーが出てまいります  今日は、質問させていただきます。どうぞよろしくお願いいたします。  VB2008+Vistaから、VB2010に変更しようといたしました。 一度必要のないと思われるものをすべてアンインストールし、 VB2010をインストール後、作成中のプロジェクトを開きましたところ、 以下のようなエラーが出てまいります。 ↓【エラー一覧】の項目でございます 警告 1 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。 警告 2参照コンポーネント '(プロジェクト名)' が見つかりませんでした。 警告 3参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。 ↓【参照】タブを開こうといたしますと、下のような表示が出てまいります。 ページを読み込もうとしているときにエラーが発生しました。 ターゲット フレームワーク '.NETFramework,Version=v4.0' の mscorlib を解決できませんでした。これは、ターゲット フレームワークがインストールされていない場合、またはフレームワーク モニカーの形式が正しくない場合に発生する可能性があります。  .NET Frameworkの何かを消してしまったのでは?などと考えまして、 再インストールなど奮闘してみましたが、解決いたしません。。。 インストール済みの.NET~は添付図の項目になります。  もしお詳しい方がいらっしゃいましたら,是非ともアドバイスいただけないでしょうか。 どうぞよろしくお願いいたします。

  • 名前'dbOpenDynaset'は宣言されていません というエラーがでてしまいます。

    VB初心者です。データベース接続を一度も成功したことがありません。 そのため「参照の追加」でMicrosoft DAO 3.6Object Libraryを設定することも わかりませんでした。 利用しているソフトはVB2008 Express Editionを利用しています。 以下のソースコードで名前'dbOpenDynaset'は宣言されていません というエラーがでてしまいます Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'DAOのオブジェクト変数を宣言する() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset ' デフォルトのワークスペースを定義する Dim obj As DBEngine = New DBEngine() ws = obj.Workspaces(0) ' データベースを開く db = ws.OpenDatabase("C:\Users\PCUser\Desktop\database\Database1.accdb") ' テーブル名を指定してレコードセットを作成する rs = db.OpenRecordset("adress", dbOpenDynaset) MsgBox("DB接続") End Sub End Class

  • vb6でmdbのOpenDatabase時にエラー

    お世話になります。 PC98の環境でVB6でオフィスの入っていない環境です。 Set db1 = DBEngine.Workspaces(0).OpenDatabase(App.Path & "aaa.mdb",dbDriverComplete) を実行すると ”このプログラムは不正な処理を行ったので強制終了します。” となってしまいます。 昨日までは、エラーなく動いていたのですが原因がわかりません。 ご教授宜しくお願いします。

  • VBのランタイムエラーについて

    MDBファイルのバックアップの処理を毎日タスクで流すためにVBでEXEを作ったのですがエラーが発生しました。 ランタイムエラーのようですがMDBファイルの最適化の処理を追加する前は正常に動作していました。。。 エラー内容は run-time error'13' type mismatch です。 なにかランタイムをインストール必要があるのでしょうか? DBEngine.CompactDatabaseを使っているので参照設定で microsoft dao3.6 object libraryを追加してからおかしいようです。 お知恵をお貸しください>< '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ '_/ MDBファイル最適化 _/ '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ defrg = INIfile_read("PATH", "defrag") filename = "abc.mdb" TempFile = Left(filename, Len(filename) - 3) & "bak" 'バックアップ名を作成 DBEngine.CompactDatabase defrg & "\" & filename, defrg & "\" & TempFile '最適化 Kill defrg & "\" & filename filename = Left(TempFile, Len(TempFile) - 3) & "mdb" Name defrg & "\" & TempFile As defrg & "\" & filename

  • VB.Netでのエラーについて

    こんにちわ。 いまVB.Netでプログラミングしている者です。 あるVBプロジェクトファイル(aaaa.dllとします)で ある.dllファイル(bbbb.dllとします)を参照設定しています。 そこでこのVBプロジェクトファイルをビルドすると, このVBプロジェクトファイル内のあるVBファイルの行で, 「Public Function ~」はプロジェクトbbbb.dllで宣言されていますが,プロジェクトaaaa.dllによって参照されていません。」 というコンパイルエラーになってしまいます。 ソリューションエクスプローラで見たところ, 上記のVBプロジェクトファイルの参照設定で,bbbb.dllはエラー表示されていません。 念のためbbbb.dllを一旦削除して,最新のbbbb.dllを改めて「参照追加」したのですが,状況が変わりません。 このエラーは何が原因なのでしょうか? 教えてください。よろしくお願いします。

  • VB6とInputManソフトの関係

    VB6で作成されていて 「InputMan Pro version 6.5J」と言う、 入力インターフェースコンポーネントを利用した昔のソースがあります 今、このソースを動かすと、コンパイルが通りません。 -------------------------- コントロール 'xxx'はロードできません。 ライセンスが見つかりません。 -------------------------- と言うエラーが出ます。 このロードできないコントロールがInputManソフトで 作成された物であると思います。 また、フォームで画面表示した時にそのコントロールが表示 されません。 昔と同じマシンで実行してます。昔はコンパイル出来てたと思います。 昔のInputManソフトには、何か今の 環境(windowsUpdate、サービスパック等) と合わない所があるのでしょうか? それともライセンス等の契約が切れたりとかがあるのでしょうか? 理由がよく分からなくて、困っています。

専門家に質問してみよう