ADOXを使ってmdbファイルを作るときに、オートナンバー型フィールドを作るステートメントを入れると
「Microsoft JET Database Engine (0x80040E21)
複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。」
というエラーになります。
試しにオートナンバーにしないと、正常にmdbファイルが作成されます。

対処法をご存知の方、是非とも教えてください。

以下がソースの一部です。

Set catDB = CreateObject("ADOX.Catalog")
catDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\hoge.mdb"

Set tbl = CreateObject("ADOX.Table")

With tbl
.Name = "Contacts"
Set .ParentCatalog = catDB

With .Columns
.Append "ContactId", adInteger
' ContactId フィールドをオートナンバー型に設定します。
.Item("ContactId").Properties("AutoIncrement") = True
.Append "CustomerID"
.Append "Phone"
End With
End With

catDB.Tables.Append tbl←ここでエラーになります。

Set catDB = Nothing

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こちらでは、上記のソースで正常に作成できました。


なんでMDACのバージョン等の問題かと。

最新のものを入手して試してみてください。

この回答への補足

回答ありがとうございます。
MDACのバージョンを調べたところ
2.0でしたので、最新の2.8をインストールしてみました。
しかし、状況はかわらずでした。
Accessのバージョンなども関係しているのでしょうか?

補足日時:2003/11/07 09:25
    • good
    • 0
この回答へのお礼

お礼をすることを忘れていました。
大変申し訳ありません。
どうもありがとうございました。

お礼日時:2004/01/23 16:09

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q複数のWORDファイルをひとつにしたいのですが

現在複数あるワードファイルをそれぞれPDFファイルに変換して、そのPDFファイルをひとつにする作業をしています。
複数のPDFファイルを結合してひとつのPDFファイルの作るのは簡単だと思うのですが、ワードからPDFに変換するのにも結構時間がかかります。また、複数PDFを結合してひとつのファイルを作っても、しおり までは結合してないみたいなのです。
いちばんは複数ワードファイルをひとつにしちゃって、それを一気にPDFに変換できれば早いかなとおもいまして、タイトルのようにさせてもらいました。
もし、もっと簡単な方法があるのであれば教えていただきたいです。
わたしはあまりPDFには詳しくありません。
それと、これは会社での作業なので、特にフリーソフトや、その他(オフィス以外のソフト)の利用は禁止されています。(セキュリティでいろいろ厳しいんですね)
どうぞアドバイスよろしくお願います。

Aベストアンサー

ワードファイルのページ設定・スタイルは全てのファイルで統一されているのでしょうか? そうであればNo.1で回答されている方法でできると思います。
が、ページ設定が違っている場合、そのまま挿入するとレイアウトが崩れてしまいます。セクション区切りを入れて、ページ設定を変更して…と面倒です。
また、それぞれのファイルで同名のスタイルが設定されている場合、同じ書式であれば大丈夫ですが、異なった書式の場合でも同じ書式に変更されます。

ですので、全てのファイルでページ設定・スタイルなどが統一されていない場合は、1ファイルずつPDFファイルに変換してから結合するのが一番楽なのではないでしょうか?

QCreateObject("Excel.Application")でVBScript実行時エラー

ActiveServerPage(サーバーサイド)でExcelを起動させ
データベース(SQLServer)より取得したデータをExcelに貼付け
保存させたいのですが。

2台のPCでは正常に動作するものの、もう1台のPCで実行すると
以下エラーが発生します。
----------------------------------------------
Microsoft VBScript 実行時エラー
エラー'800a01ad'
ActiveXコンポーネントはオブジェクトを作成できません。
:'Excel.Application'
/××/××/××.asp 行705
----------------------------------------------
↓705行目
<%
..
set ○○ = CreateObject("Excel.Application")
..
%>

Microsoftサポート技術情報の
[IIS]ASPがVBScript実行時エラー"800a01ad"を返す
http://support.microsoft.com/default.aspx?scid=kb;ja;JP194801
レジストリを確認しましたが、3台とも同じ設定でした。
またExcelファイルのアクセス権をEveryOneフルコントロールに設定し
実行してみましたが状況が変わらず・・・。

クライアントサイドのVBScriptでExcelを起動させて
見た所、問題なく起動終了しました。
IISの問題なのでしょうか?

ちなみに環境はWinNT4.0、IIS4.0(SP6)、Excel2000(SR-1)です。

同様のケースで過去に解決された方、または良い案がある方。ご教授下さい。

ActiveServerPage(サーバーサイド)でExcelを起動させ
データベース(SQLServer)より取得したデータをExcelに貼付け
保存させたいのですが。

2台のPCでは正常に動作するものの、もう1台のPCで実行すると
以下エラーが発生します。
----------------------------------------------
Microsoft VBScript 実行時エラー
エラー'800a01ad'
ActiveXコンポーネントはオブジェクトを作成できません。
:'Excel.Application'
/××/××/××.asp 行705
----------------------------------------------
↓705行目
<...続きを読む

Aベストアンサー

set ○○ = Server.CreateObject("Excel.Application")

ではどうですか?

Q複数のデジカメ動画を1つのファイルにする方法

キャノンpowershotA40を使用して、15秒の動画を撮っております。ひとつづつファイルを指定してメディアプレーヤーで見るのが面倒で、複数の動画ファイルをひとつのファイルにして連続で見る方法がないものか探しております。
動画ファイルはaviの拡張子です。

Aベストアンサー

MotionJpegのAVIを読み込んで編集できる動画編集ソフトって結構限られちゃうんですよね。
Premiereとかフリーのソフトでも読み込めない事が良くあります。

UleadのVideoStudioはMotionJpegのAVIの読み込みに対応しています。

ただ見るだけならば、メディアプレイヤーの再生リストを作ってあげれば見れるかもしれません。
Ver9ならば、再生リストを表示しておいて、ファイルをドラッグするとリストに追加されるので、
”ファイル”から”再生リストに名前を付けて保存”で再生リストが保存できます。

最近のメディアプレイヤーでなくとも、テキスト形式でファイル名をリスト化して、拡張子をTXT→M3Uに変えてあげればVer6.4のメディアプレイヤーでも大丈夫です。

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています

QUleadVideoStudio11で作った複数のファイルを1つにする方法を教えてください

UleadVideoStudio11にて別の動画ファイルを複数作りました。

それらのファイルの内容をひとつにまとめる作業を行いたいのですが、同時に二つのファイルを開くこともできず、コピー&ペーストもできないし・・・

ひとつにまとめたり、コピー&ペーストする方法を教えてください。
よろしくお願いいたします。



(例:運動会についてのvideoを作ろうとして、「かけっこ.vsp」や「棒倒し.vsp」等をバラバラに作っている状況において、それをまとめてひとつの「運動会.vsp」というファイルを作成する方法を教えてください。)

Aベストアンサー

VideoStudioは、プロジェクトファイルを一つの動画として認識する機能を兼ね備えています。

タイムラインに、動画を載せる感覚でプロジェクトを配置してみてください。

QCreateObjectの同時実行時について

Excelで入力された複数の台帳から集計する帳票を出力するシステムがあります。
質問の内容は単独で帳票を出力した場合はうまくいきますが、2台のPCから同時に
帳票作成処理を走らせたときに、片方は延々と読み込み中から止まった状態になります。
サーバのメモリを見ると、止まっているとみられるExcel.EXEが残っておりゾンビ状態になっております。
これを2台以上のPC(8台程)で同時にやるとメモリリークが発生してしまい帳票自体が作成できなくなってしまいました。その際はサーバの再起動で解決致しましたがそう何度も再起動が出来る環境ではないので何とか同時に実行出来る方法はないでしょうか。同時に出来ない場合は処理が終わるまで他のPCからの処理はウェイトをかけれればよいと考えています。

環境を以下に記します。
OS:WindowsServer2008Standard 32bit SP1
Webサーバ:IIS7
言語:asp(vbs)

帳票作成自体の処理は以下のようになっております。

Dim objExcelApp
Err.Clear

Set objExcelApp = Server.CreateObject("Excel.Application")

If Err.number <> 0 Then
  ' エラー処理
  Response.write "<font color=red>"
  Response.write "Excelを起動できませんでした<br>"
  Response.write "エラー:" & Err.Description & "<br>"
  Response.write "</font><br>" & vbCrLf
  fncPrintModule = False
  objExcelApp.Terminate
Else
  (…処理)
  objExcelApp.Quit
  Set objExcelApp = Nothing
End If

以上、解決策があればよろしくお願いいたします。

Excelで入力された複数の台帳から集計する帳票を出力するシステムがあります。
質問の内容は単独で帳票を出力した場合はうまくいきますが、2台のPCから同時に
帳票作成処理を走らせたときに、片方は延々と読み込み中から止まった状態になります。
サーバのメモリを見ると、止まっているとみられるExcel.EXEが残っておりゾンビ状態になっております。
これを2台以上のPC(8台程)で同時にやるとメモリリークが発生してしまい帳票自体が作成できなくなってしまいました。その際はサーバの再起動で解決致しましたがそ...続きを読む

Aベストアンサー

どういう仕組みなのか質問の内容だけでは不明ですが、Excelのプロセスが残る理由はなんとなく見えます

objExcelApp.Quit
Set objExcelApp = Nothing
エラー時にも入れてください

Qワードで複数のファイルをひとつにまとめるには

ワードで複数のファイルを一つのファイルにまとめるにはどうすればいいでしょうか?
たとえば、10個の別々のファイルを1個のファイルで10ページにするには、ひとつずつコピーしてペーストするしかないのでしょうか?

Aベストアンサー

一ページ目に持ってきたいファイルを開いた後、メニューの挿入→ファイル。
次に持ってきたいファイルを選んで挿入します。
これを繰り返す事で、一つにまとめられます。

QGlobal.asaxで Server.CreateObject("ADODB.Connection")が出来ない

ASP→ASP.netへ移行作業をしています。

Global.asaで、
set Application("DB") = Server.CreateObject("ADODB.Connection")
を、
Global.asaxで、
Application("DB") = Server.CreateObject("ADODB.Connection")
としたのですが、エラーで、
「コンポーネント 'ADODB.Connection' を作成できません。アパートメント スレッド コンポーネントは、<%@ Page aspcompat=true %> ページ ディレクティブを含むページでのみ作成できます。 」
となってしまします。
<%@ Page aspcompat=true %>を記述すればよいのかと思い、Global.asax中に記述しましたが、エラーになってしまいました。
'ADODB.Connection'を作成するには、どうすればよいでしょうか?

Aベストアンサー

ASP.NETではADO.NETを使いましょう。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1662698

また、アプリケーション単位でConnectionを持つのは、同時アクセスがあった場合にバグります(経験者)

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1662698

Q複数のワードのファイルをひとつにまとめると・・

現在、卒論をワードで書いています。
各章ごとにファイルを作って、それらをひとつのファイル(卒論)にして、提出しようとしています。
しかし複数のワードのファイルをひとつにまとめようとすると、表が行間がくずれたり、変なところでつながったりしまうファイルが出てきました・・
どうしてでしょうか?
各ファイルの中身がずれて変わることなく、複数のワードファイルをひとつの卒論ファイルとしてまとめるにはどうすればいいですか?

Aベストアンサー

グループ文書で作成してはいかがでしょうか?
以下を参考にして下さい。
http://otubonesama.web.infoseek.co.jp/word/wb1/index.htm
http://office.microsoft.com/ja-jp/assistance/CH060829811041.aspx

QIUSR でCreateObject("Excel.Application")ができない。

こんにちは。

ASPでCreateObject("Excel.Applilcation")
を行いたいのですが、
認証ユーザがIUSRのときに
------------------------------------------------
Microsoft VBScript 実行時エラー エラー '800a0046'

書き込みできません。: 'CreateObject'
------------------------------------------------
と、失敗してしまいます。

認証ユーザをAdministratorにすると正常動作しました。
どこかのフォルダにIUSRの権限設定を行えばよいのかなと思うのですが、
ご存知の方教えてください。

------------------------
環境
------------------------
Windows Server 2003
IIS 6.0
Excel 2000

Aベストアンサー

IUSRの権限設定を変更するよりも、そのASPを動かすための専用ユーザを作成し、匿名アクセスアカウントとして設定した方が良いと思います。

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;257757


人気Q&Aランキング