■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#17-7Win2k で Access オブジェクトを作成なまず2002-03-06(水) 05:44
     #18-7RE#17:Win2k で Access オブジェクトを作成ふるふる2002-03-06(水) 06:54
     #20-7RE#18:Win2k で Access オブジェクトを作成なまず2002-03-06(水) 07:25
     #28-5RE#20:Win2k で Access オブジェクトを作成ふるふる2002-03-06(水) 14:27
     #18-3RE#17:Win2k で Access オブジェクトを作成ふるふる2002-03-06(水) 15:54
     #20-3RE#18:Win2k で Access オブジェクトを作成なまず2002-03-06(水) 16:25
     #28-1RE#20:Win2k で Access オブジェクトを作成ふるふる2002-03-06(水) 23:27
#17-7
Win2k で Access オブジェクトを作成
WinNT4.0(SP6) + VB5.0(SP3) + Access97 の環境で、
    Option Explicit
    Private Sub Command1_Click()
        Dim myApp As Object
        Set myApp = CreateObject("Access.Application")  <- [※]
        With myApp
            .Visible = True
            .Quit
        End With
        Set myApp = Nothing
    End Sub
を記述し、セットアップを作成しました。
そして、 Win2k ( VB, Access, Excel, Word など何も入っていない状態)
でセットアップを実行して、 exe を実行すると、[※] で
『429 : ActiveX コンポーネントはオブジェクトを作成できません。』
というエラーが出てしまいます。
原因が分かる方がいましたらお願いします。

ちなみに
Set myApp = CreateObject("Excel.Application")
Set myApp = CreateObject("Word.Application")
は Win2k で実行しても、エラーが発生しません。
#18-7
RE#17:Win2k で Access オブジェクトを作成
> 
> WinNT4.0(SP6) + VB5.0(SP3) + Access97 の環境で、
>     Option Explicit
>     Private Sub Command1_Click()
>         Dim myApp As Object
>         Set myApp = CreateObject("Access.Application")  <- [※]
>         With myApp
>             .Visible = True
>             .Quit
>         End With
>         Set myApp = Nothing
>     End Sub
> を記述し、セットアップを作成しました。
> そして、 Win2k ( VB, Access, Excel, Word など何も入っていない状態)
> でセットアップを実行して、 exe を実行すると、[※] で
> 『429 : ActiveX コンポーネントはオブジェクトを作成できません。』
> というエラーが出てしまいます。
> 原因が分かる方がいましたらお願いします。

アクセスのランタイムがインストールされていないからでしょう。
アクセス(エクセルやワードも)のランタイムはVBからのインストールを
許可されていません。
アクセス単体を購入してもらうか、OFFICEのDevelopperエディションを購入して(
すでに持ってますか?)、ランタイムの配布ができるようにしましょう。

しかし、OFFICE97は今では購入が困難ですので、ACCESSランタイムは使用しないように
プログラムを修正しないといけないでしょう。そのときはDAOとかADOを使うようにすれば
いいと思います。

#アクセスのファイル自体の配布は誰でも可能です。




#20-7
RE#18:Win2k で Access オブジェクトを作成
早速のお返事、ありがとうございます。

> アクセスのランタイムがインストールされていないからでしょう。
Excel や Word のランタイムは最初から入っているのでしょうか...

> しかし、OFFICE97は今では購入が困難ですので、ACCESSランタイムは使用しないように
> プログラムを修正しないといけないでしょう。そのときはDAOとかADOを使うようにすれば
> いいと思います。
実際は、こんな感じで使っているのですが、
Access オブジェクトを使用せずに実現できるのでしょうか?
    '** 処理の説明 ****************************************************
    '* "D:\sample.mdb" 内の "MDB_TABLE" というテーブルを
    '* SQLServer 上に "SQLSERVER_TABLE" という名前でエクスポートする。
    '******************************************************************
    Dim myApp As Access.Application
    Set myApp = CreateObject("Access.Application")
    With myApp
          .OpenCurrentDatabase "D:\sample.mdb"
          .DoCmd.TransferDatabase acExport, "ODBC", _
              "ODBC;UID=**;PWD=**;Database=**;Server=**;Driver={SQL Server};DSN='';", _
              acTable, "MDB_TABLE", "SQLSERVER_TABLE"
        .CloseCurrentDatabase
        .Quit
    End With
    Set myApp = Nothing
#28-5
RE#20:Win2k で Access オブジェクトを作成
> > アクセスのランタイムがインストールされていないからでしょう。
> Excel や Word のランタイムは最初から入っているのでしょうか...
入っているとは思えません。作成したセットアップ中にランタイムが含まれていると
思います。

> 実際は、こんな感じで使っているのですが、
> Access オブジェクトを使用せずに実現できるのでしょうか?
>     '** 処理の説明 ****************************************************
>     '* "D:\sample.mdb" 内の "MDB_TABLE" というテーブルを
>     '* SQLServer 上に "SQLSERVER_TABLE" という名前でエクスポートする。
>     '******************************************************************
エクスポートはアクセス独自の機能なので、DAOやADOでは不可能ですね。
ADOでアクセスとSQLサーバーへのコネクションをつくり、SQLサーバー上に
テーブルをクリエイトして、アクセスのテーブルのデータを写す(Insert Select〜をつかう)
とかでしょうか。インデクスの作成とかもできるのかはっきりはわかりませんが、
結構面倒な感じですね。SQLサーバーにSQLSERVER_TABLEが既存なら大変ではないと
思いますが。



#18-3
RE#17:Win2k で Access オブジェクトを作成
> 
> WinNT4.0(SP6) + VB5.0(SP3) + Access97 の環境で、
>     Option Explicit
>     Private Sub Command1_Click()
>         Dim myApp As Object
>         Set myApp = CreateObject("Access.Application")  <- [※]
>         With myApp
>             .Visible = True
>             .Quit
>         End With
>         Set myApp = Nothing
>     End Sub
> を記述し、セットアップを作成しました。
> そして、 Win2k ( VB, Access, Excel, Word など何も入っていない状態)
> でセットアップを実行して、 exe を実行すると、[※] で
> 『429 : ActiveX コンポーネントはオブジェクトを作成できません。』
> というエラーが出てしまいます。
> 原因が分かる方がいましたらお願いします。

アクセスのランタイムがインストールされていないからでしょう。
アクセス(エクセルやワードも)のランタイムはVBからのインストールを
許可されていません。
アクセス単体を購入してもらうか、OFFICEのDevelopperエディションを購入して(
すでに持ってますか?)、ランタイムの配布ができるようにしましょう。

しかし、OFFICE97は今では購入が困難ですので、ACCESSランタイムは使用しないように
プログラムを修正しないといけないでしょう。そのときはDAOとかADOを使うようにすれば
いいと思います。

#アクセスのファイル自体の配布は誰でも可能です。
#20-3
RE#18:Win2k で Access オブジェクトを作成
早速のお返事、ありがとうございます。

> アクセスのランタイムがインストールされていないからでしょう。
Excel や Word のランタイムは最初から入っているのでしょうか...

> しかし、OFFICE97は今では購入が困難ですので、ACCESSランタイムは使用しないように
> プログラムを修正しないといけないでしょう。そのときはDAOとかADOを使うようにすれば
> いいと思います。
実際は、こんな感じで使っているのですが、
Access オブジェクトを使用せずに実現できるのでしょうか?
    '** 処理の説明 ****************************************************
    '* "D:\sample.mdb" 内の "MDB_TABLE" というテーブルを
    '* SQLServer 上に "SQLSERVER_TABLE" という名前でエクスポートする。
    '******************************************************************
    Dim myApp As Access.Application
    Set myApp = CreateObject("Access.Application")
    With myApp
          .OpenCurrentDatabase "D:\sample.mdb"
          .DoCmd.TransferDatabase acExport, "ODBC", _
              "ODBC;UID=**;PWD=**;Database=**;Server=**;Driver={SQL Server};DSN='';", _
              acTable, "MDB_TABLE", "SQLSERVER_TABLE"
        .CloseCurrentDatabase
        .Quit
    End With
    Set myApp = Nothing
#28-1
RE#20:Win2k で Access オブジェクトを作成
> > アクセスのランタイムがインストールされていないからでしょう。
> Excel や Word のランタイムは最初から入っているのでしょうか...
入っているとは思えません。作成したセットアップ中にランタイムが含まれていると
思います。

> 実際は、こんな感じで使っているのですが、
> Access オブジェクトを使用せずに実現できるのでしょうか?
>     '** 処理の説明 ****************************************************
>     '* "D:\sample.mdb" 内の "MDB_TABLE" というテーブルを
>     '* SQLServer 上に "SQLSERVER_TABLE" という名前でエクスポートする。
>     '******************************************************************
エクスポートはアクセス独自の機能なので、DAOやADOでは不可能ですね。
ADOでアクセスとSQLサーバーへのコネクションをつくり、SQLサーバー上に
テーブルをクリエイトして、アクセスのテーブルのデータを写す(Insert Select〜をつかう)
とかでしょうか。インデクスの作成とかもできるのかはっきりはわかりませんが、
結構面倒な感じですね。SQLサーバーにSQLSERVER_TABLEが既存なら大変ではないと
思いますが。
このページと関連する記事:
#17-3Win2k で Access オブジェクトを作成2002-03-06(水) 14:44
#43029-0Excel ファイルへのアクセス2001-05-15(火) 17:13
#3091-0EXCELファイルについて1999-11-08(月) 19:53
#5746-0Developer Edition で Access ランタイムの配布2002-03-07(木) 15:21
#1790-0VBで、エクスポート!!2002-03-15(金) 07:58
#47039-0mdbのテーブル修復2001-09-20(木) 14:33
#1515-0桐からの移行2001-06-01(金) 12:37
#31138-0外部プログラム起動2000-10-04(水) 13:23
#40230-0Access + Excel でのOLEについて2001-03-13(火) 21:20
#23370-0SQLサーバーについて2001-09-26(水) 21:49
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)