OSはNT4.0です。VB6でプログラムを組んでいます。
データベースソフトはAccess2000です。
プログラムを実行すると【データベースの形式’ (データベースファイル名が表示)’を認識できません。】というメッセージボックスが表示されます。そのメッセージボックスにあるヘルプをクリックすると
'項目' (Error 524)このエラーは、現在実行中のオートメーション オブジェクト内で発生しました。
と表示されまして、解決できません。
Accessの機能にある【MicroSoft Accessの旧バージョンのデータベースに変換】を行い、プログラムを実行すると動くのですが旧バージョンだというメッセージボックスが表示され使い勝手が非常に悪いです。何が悪いのでしょうか?

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

A 回答 (9件)

Data1のConnectプロパティが[Access]になってませんか?


もしそうだったら[Access 2000]にしてみてください。
    • good
    • 0
この回答へのお礼

Accessになってました。大変申し訳ございませんでした。
Visual Studio(R) 6.0 Service Pack 5 を
インストールして確認したところ問題なく動作しました。
初めて質問したのですが、こんなに親切に教えてもらって本当に嬉しいです。
ありがとうございました。これからも質問をさせてもらいますのでよろしく
お願いいたします。

お礼日時:2001/11/13 19:09

やはりロード時なのでしょうか?



ためしに、DataコントロールにDatabaseNameやRecordSetにセットしている部分をコメントして実行してください。
そうしたら、ロードイベント終了後にエラーは出ないようになります?

この回答への補足

>コメントして実行

すいません。お恥ずかしい話ですが意味が理解できないんですけど・・・
勝手に推測させてもらって申し訳無いですが確認を行ってみました。

Form Loadに記述してあるDatabaseNameやRecordSetを’(REM文)にする。
ということですか?
Form Loadの End Sub処理終了後エラーが表示されました。
旧バージョンにて確認を行ったところForm Load End Subにて処理が終わりました。

TAGOSAKU7さんの意図と違うことを行っているかもしれません。
違っていたら申し訳ございませんが再度、ご指摘の程お願いいたします。

補足日時:2001/11/13 16:35
    • good
    • 0

もう一度チャンスをください。



1.プロジェクトを開いてください。
2.開始(ファンクションキーF5)を押さないで、ステップ実行(ファンクションキーF8)を押しっぱなしにしてください。
3.どこかでエラーが出ると思うので、その部分とその前後の処理を教えてください。

この回答への補足

TAGOSAKU7さん本当に何度もすいません。
私も、なんとか自己解決できないかと模索していたのですが・・・

エラーが出ている場所ですが
Form Loadの End Sub まで行き、その後F8を押すとエラーが表示されます。

Access旧バージョンにて確認を行ったところForm Loadの次にくる文は下記の
ようになっておりました。

Private Sub Text2_Change()
Command1.BackColor = &H8080FF
End Sub

これ以上F8を押しても進みませんでした。

補足日時:2001/11/13 14:56
    • good
    • 0

すいません。

。。力量不足です。。。m(__)m

想像のつくパターンをいろいろやってみたのですが、エラーの発生する状況を再現できません。。。
あとは未検証ですが、(Access.Application)という文字がプログラムに入っているのでは?という点ぐらいです。。。
これを使用するとおそらくAC2000が入っていたらAC20000形式DBをデフォルトとするので、AC97形式DBオープン時に問い合わせダイアログが表示されるのだと思ったのですが、よく考えると、AC2000形式DBではエラーが出るのですよね?
うぅ・・・矛盾する・・・

うーむプロジェクトを見てみたい・・・

もうちょっと考えます。。。ごめんなさい。。。
    • good
    • 0

どうやらロードは問題無いのかな?



>エラーが出る
これはダイアログですよね?
「デバッグ」ボタンがダイアログにありませんか?
もしデバッグボタンが存在するならば、それを押し、どこの行で止まってるかが知りたいです。

あとData1.RecordSetやData1.RecordSourceを、他の所で使用してませんか?

現状が把握できません。

もしまだ作りはじめなら、フォームをメモ帳などで開いて、全てをここに張ってください。
接続時にエラーが起こら無いのであれば、推測不能です。

この回答への補足

すいません。確かにロード時にはエラー表示はでません。始めに確認しておくべき作業でした。

1.ダイアログボックスには【OK】と【ヘルプ】しか表示されていません。

2.勝手を言って申し訳ないのですがプログラムは一応、
組み終わっていて結構長い文章ですので全てを表示するのはちょっと難しいです。

Data1.RecordSetは下にあるような使い方をしております。
(データを格納する作業)
Set db = DBEngine.Workspaces(0).OpenDatabase(DbName)
Set ds = db.OpenRecordset(Data1.RecordSource, dbOpenDynaset)
Set ds = ds.OpenRecordset()
Set Data1.Recordset = ds

Data1.Recordset.AddNew
~データを入れる作業~
 例 ds!管規格 = Kankikaku ←こんな文です。
Data1.Recordset.Update


Data1.RecordSourceはForm Loadにて一度だけ使用しております。

補足日時:2001/11/12 18:02
    • good
    • 0

こちらこそ何度もすいません。



質問です。
1.データコントロールのRecordSourceプロパティには、デザイン時に既に何かSQL文を設定済みなのですか?
2.DbResourceはString型ですね?
3.実際のエラーメッセージは、どの行で出るのか、教えてください。

この回答への補足

1.必要とする(連結したいテーブルという表現でお解りでしょうか?)テーブル名を入れてあります。
プロパティウィンドウのDatabaseNameに旧バージョンに変更しない状態の
ファイル名をDatabaseNameを入れてRecordSourceを入れようとすると
同じエラーメッセージが表示されます。

2.DbResourceはString型です。

3.ブレークポイントの設定をForm Load内で行ったのですが
エラーは表示されません。
Form Loadを出た後、何もアクションを起さない状態で
エラーが表示されてしまいます。

度々、申し訳ございませんが、よろしくお願いいたします。

補足日時:2001/11/12 15:38
    • good
    • 0

Private Const DB_FILE As String = "c:\test.mdb"


はモジュールの先頭
Option Explicit
の次に書いておいたら、そのモジュール内で使用できる定数になります。


ところで
> DbName = "ファイルのありかを記述"
> DbResource = Data1.RecordSource
> Data1.DatabaseName = DbName

この順番を見るとData1.RecordSource としてますよね?
Data1はすでに何かに接続済みなのですか?
もっと広範囲でソースが見たいです。
上記の3行を含む関数ごと見せてもらえませんか?

この回答への補足

本当に何度も申し訳ございません。
お答えになっているか、どうか一抹の不安が残るのですが
解らないなりに書いてみましたのでご確認をお願いいたします。

標準モジュール Module1に
Public DbResource1 As String

Option Explicit には
Dim db As Database
Dim ds As Recordset
Dim DbName As String
と表記し

Private Sub Form_Load()には

DbName = "E:\KEISAN\Gesui\負の突出_1\Mdb\管諸元.mdb"
DbResource = Data1.RecordSource
Data1.DatabaseName = DbName

としております。

補足日時:2001/11/12 14:58
    • good
    • 0

Microsoft DAO3.51を


Microsoft DAO3.6に変更してもだめですか?

Data1=データコントロールですよね?

一応以下のソースでぼくの方は動きますが・・・
Private Const DB_FILE As String = "c:\test.mdb"

Private Sub Form_Load()
With Me
.Data1.DatabaseName = DB_FILE
.Data1.RecordSource = "select * from Table1"
.Data1.Refresh
End With
End Sub

この回答への補足

たびたびすいません。
DAO3.51→DAO3.6にしても同じ結果になりました。
Data1=データベースファイル名になるようにしています。

ただ勉強不足で申し訳ないのですが
Private Const DB_FILE As String = "c:\test.mdb"
の記述する場所がわかりません。この宣言が入ると違うのでしょうか?

補足日時:2001/11/12 13:52
    • good
    • 0

情報をください



1.Accessとの接続を行っている部分のソースを見せてもらえませんか?

2.プロジェクトの参照設定をどのようにしたかを知りたいです。
もしかしてMicrosoft Access 9.0 Object Library のみとか?

3.DB関係のコンポーネントを何か追加しましたか?

4.Accessの用途を知りたいです。
AccessはDBとしてのみの使用ですか?それともレポートを使用したり、アクセス内のVBAを実行したりするのでしょうか?

この回答への補足

情報不足ですいませんでした。なにぶん超初心者なので質問されている事と違った答えになるかもしれませんがよろしくお願いいたします。

1.Private Sub Form_Load()
DbName = "ファイルのありかを記述"
 DbResource = Data1.RecordSource
Data1.DatabaseName = DbName

2.Visual Basic For Applicatuins
Visual Basic runtime objects and procedures
Visual Basic objects and procedures
OLE Automation object Library
Microsoft DAO3.51
Microsoft Word9.0 object Library
Microsoft Access 9.0 Object Library

3.特に追加はしていないです。

4.AccessはDBとして使用してレポートはWordの差込印刷機能を使用しています。

補足日時:2001/11/12 12:40
    • good
    • 0

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

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

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

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

Q化合物の同義語について

こんにちは。製薬企業の特許関係の仕事をしています。
仕事上、多量の文献を調査するのですが、その際同義語も含めて調査する必要があります。この、同義語を調べるのに苦労しています。
同義語を調べるのに便利な本、又はWEBページはありますでしょうか?
どなたか知っていたら教えてください。

宜しくお願い致します。

Aベストアンサー

こちらで引いてみたら,うまくいくかもしれません.
http://homepage1.nifty.com/k_funa/aiueo2.html

他にも,便利な情報がこちらに出ています.
http://www.chem-station.com/
http://chemnews.cambridgesoft.com/index.cfm?language=j

QAccess2000 実行時エラー '3061':

Access2000(初心者)
下記コードを実行すると実行時エラー '3061': パラメータが少なすぎます。1を指定してください。と出ます。
※検索したレコードの削除(日付)
CurrentDb.Execute "DELETE * FROM テーブル名 WHERE ((([テーブル名].[日付]) Between #2009/01/01# And テキスト名)); "

テキスト名に入力されているデータがおかしいのでしょうか?
Me.テキスト名 = DateSerial(Format(Date, "yyyy"), Format(Date, "mm")-1, Format(Date, "dd"))
御教授願います。

Aベストアンサー

#1です

申し訳ない、確認して上げたつもりが・・・
> Format("yyyy/mm/dd", Me.テキスト名)
の引数が逆
Format(Me.テキスト名, "yyyy/mm/dd")
と、言うことね

Qロッケン・ベーレン・アウスレーゼと貴腐ワイントは同義語ですか?

ドイツ・ワインの分類/等級の説明で、しばしば「トロッケン・ベーレン・アウスレーゼ(貴腐ワイン)」の如く、両者が同義語であると受け取れる解説を見かけますが、両者は厳密な定義上も100%同義語なのでしょうか?
若しも何らかの差異があるならば、違いを解説戴ければ幸いです。

Aベストアンサー

「称号付き上級ワイン」と訳される最上級クラスは、次の6つです。
肩書きはブドウの糖度で決まります。

「トロッケンベーレンアウスレーゼ」は、「貴腐菌がついて干しブドウ状になったブドウ粒から造る最高級の極甘口ワイン」と一般的に解されますが、意味は、「乾いた果粒を選り摘んだ」ということで、必ずしも貴腐ワインということではありません。
たいていのブドウ品種は、貴腐化なくして高糖度にはできないと言われていますが、ごく限られた品種では、貴腐によらずして比較的容易に高糖度に達することができます。
トロッケンというのは、干からびている、という意味です。
但し、単に“トロッケン”と表示されているものは、「辛口」という意味なので注意が必要です。


「アイスヴァイン」は、樹の上で完熟し、凍りついたブドウから造る甘口ワイン。

「ベーレンアウスレーゼ」は、過熟したブドウ粒から造る極甘口ワインですが、貴腐ブドウもブレンドされます。

「アウスレーゼ」は、よく熟したブドウ房から造るワイン。

「シュペトレーゼ」は、通常よりも7日以上遅摘みのブドウから造るワイン。

「カビネット」は、普通のブドウから造るワインで、最も辛口&低アルコール。

「称号付き上級ワイン」と訳される最上級クラスは、次の6つです。
肩書きはブドウの糖度で決まります。

「トロッケンベーレンアウスレーゼ」は、「貴腐菌がついて干しブドウ状になったブドウ粒から造る最高級の極甘口ワイン」と一般的に解されますが、意味は、「乾いた果粒を選り摘んだ」ということで、必ずしも貴腐ワインということではありません。
たいていのブドウ品種は、貴腐化なくして高糖度にはできないと言われていますが、ごく限られた品種では、貴腐によらずして比較的容易に高糖度に達すること...続きを読む

QACCESSを用いたデータベースでのコンボボックスの連動

おせわになっております。

VBでデータベースを作っているのですが、
コンボボックスでの検索での絞込みがうまくいきません。
(データベースはAccess2000)

例えば、コンボボックス1で選ばれたファールドにより
絞込みが行われ(例:県選択:千葉県)
、コンボボックス2で表示するレコードは
コンボボックス1で選択されたレコードに該当するものしか表示しないようにするというとです。(例:市選択:市川市.船橋市.浦安市・・・と絞り込まれる)

どこかおかしい個所はありますでしょうか??
(個人的にはdbc1が選択された時点でdbc2のクエリーが行われなければならないと思いますが、やり方がわかりません。
よろしくお願い致します。

adoデータコントロールのプロパティ
ado1(県名選択)
RecordSource:SELECT 県名 FROM 地名
ado2(市名選択)
RecordSource:SELECT 市名 FROM 地名 WHERE 県名='dbc1.Text'

Private Sub dbc1_Click(Area As Integer)'県を選択するコンボボックス
Dim criteria As String ' 検索条件

If dbc1.Text = "" Then
Exit Sub
End If

criteria = "県名 = '" & dbc1.SelText & "'"

rs.MoveFirst
rs.Find criteria, , adSearchForward


End Sub


Private Sub dbc2_Click(Area As Integer)'市を選択するためのコンボボックス
Dim criteria2 As String ' 検索条件

If dbc2.Text = "" Then
Exit Sub
End If

criteria2 = "メーカ = '" & dbc2.SelText & "'"

rs.MoveFirst
rs.Find criteria2, , adSearchForward

End Sub

おせわになっております。

VBでデータベースを作っているのですが、
コンボボックスでの検索での絞込みがうまくいきません。
(データベースはAccess2000)

例えば、コンボボックス1で選ばれたファールドにより
絞込みが行われ(例:県選択:千葉県)
、コンボボックス2で表示するレコードは
コンボボックス1で選択されたレコードに該当するものしか表示しないようにするというとです。(例:市選択:市川市.船橋市.浦安市・・・と絞り込まれる)

どこかおかしい個所はありますでしょうか??
(個...続きを読む

Aベストアンサー

ちゃんと確認しないで回答しててすみませんでした(汗

dbc1_Clickプロシジャ内のrs検索後に下記をやってみて下さい

criteria = "SELECT 市名 FROM 地名 WHERE 県名='" & Trim(dbc1.Text) & "'"

ado2.RecordSource = criteria

ado2.Refresh

ではでは

QSEOをしています。同義語の判断はどれくらいできているのでしょうか?

当方、SEO初心者です。

Googleなどの検索エンジンは、たとえば、Visual BasicとVBを同義語として
認識しているのでしょうか?
それによっては、検索してもらうために別々のテーマでHPを作ろうと思って
います。

ご存知でしたら教えていただけないでしょうか。

Aベストアンサー

「VB」は、必ず「Visual Basic」の略であるとは限りません。
たとえば「ベンチャービジネス(Venture Business)」を略して「VB」ということもあります。
もちろん、それ以外でも何かを略して「VB」と言っているケースは色々とあると思われます。

ですから、「VB」で検索すると、
「Visual Basic」に関するページと、
「ベンチャービジネス」に関するページと、
それら以外の「VB」に関するページとが入り乱れることになります。

Googleの場合、たとえば「ダイアモンド」と「ダイヤモンド」みたいな
いわゆる「表記の揺れ」レベルであれば、
ある程度は対応しているようです。
しかし「Visual Basic」と「VB」はもちろんのこと、
たとえば「Mr.Children」と「ミスチル」などのように
名称とその略語がきちんと一対一に対応する場合であっても、
同義語として対応していないようです。

QVBで作成したパッケージを実行すると実行時エラー'429'が発生してしまいます。

VBにてcsvファイルのデータをOracleデータベースにinsert、updateするプログラムを作成し、開発パソコンにて正常に動作することを確認しました。

開発パソコン
・Windows2000 Server(SP3)
・Visual Basic 6.0 Enterprise Edition
・Oracle 9i

本番パソコン
・Windows2000 Server(SP3)
・Oracle 9i

テストパソコン
・Windows2000 Professional(SP1)

今、上記のように3台のパソコンがあります。
開発パソコンで開発したVBのプログラムをコンパイルしてexeを作成し、開発パソコン上から開発パソコン上のオラクルに対してプログラムを実行すると正常に動作します。
本番パソコンには、Visual Basicをインストールしていないため、プログラムを実行できるようにするには開発パソコンにてディストリビューションウィザードを使ってセットアッププログラムを作成し、本番パソコンにインストールする必要があると思います(質問1.ここまでは正しいですよね??)。

そこでウィザードに沿ってセットアッププログラムを作成し、まずはテストパソコンにてインストール後に実行してみたのですが、エラーが出てしまいました。
「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません。」

質問2.どうすればエラーが発生することなくプログラムを実行できるようになるでしょうか?
テストパソコンにオラクルクライアントが必要?それとも何かDLLの更新などが必要?

もしおわかりの方いらっしゃいましたら教えて下さい。
よろしくお願いします。

VBにてcsvファイルのデータをOracleデータベースにinsert、updateするプログラムを作成し、開発パソコンにて正常に動作することを確認しました。

開発パソコン
・Windows2000 Server(SP3)
・Visual Basic 6.0 Enterprise Edition
・Oracle 9i

本番パソコン
・Windows2000 Server(SP3)
・Oracle 9i

テストパソコン
・Windows2000 Professional(SP1)

今、上記のように3台のパソコンがあります。
開発パソコンで開発したVBのプログラムをコンパイルしてexeを作成し、開発パソコン上から開発パソ...続きを読む

Aベストアンサー

>テストパソコンにオラクルクライアントが必要?
ん?クライアントにオラクルが入っていないのですか?

各クライアントのオラクルドライバはどうしているのか、ふと疑問を感じたんですが^^;

バージョンを問わない対応をするには、参照設定からはずし、AS OBJECTでコネクションを張ってあげたら消える場合もあるけど、何となくそれ以前の問題のような気がするのは、わたしだけでしょうか?

Qhappen to meetの同義語

happen to meetの同義語

こんにちは。

run to, run into, take to, come forが選択肢としてあります。

happen to meetは偶然会う、出くわすみたいな意味なのですが、上記の中で同義語はどれでしょうか?

力を貸して頂けるとありがたいです。

Aベストアンサー

run to
http://eow.alc.co.jp/run+to/UTF-8/?ref=sa

run into
http://eow.alc.co.jp/run+into/UTF-8/

take to
http://eow.alc.co.jp/take+to/UTF-8/

come for
http://eow.alc.co.jp/come+for/UTF-8/

さあ、一体どれでしょうか?

Q実行時エラー’2164’

アクセスVBAで、実行時エラー’2164’
コントロールがフォーカスを取得しているときは、
コントロールを無効にすることはできません
と言うメッセージが出てしまいます。
何が原因なのでしょうか?

Aベストアンサー

例えば下記のようなプログラムは駄目よ。て事

更新後に自分自身のコントロールを使用不可にするようなプログラム

例:テキストボックスで同テキストボックスの内容が更新された場合に同テキストボックスを使用出来ないようにする。
Private Sub テキスト0_BeforeUpdate(Cancel As Integer)
テキスト0.Enabled = False
End Sub

簡単にいうとフォーカスを失っていない状態で自身のコントロールのイベントプログラムで自分自身を使用不可にするような事はしたらあかんて事

Q思惑 動作 行動 感情 形式 の同義語か対義語

この5つの言葉のうち
同義語、もしくは対義語になる言葉は
行動と形式(対義語)になるのでしょうか。
分かる方、教えて下さい。

Aベストアンサー

#1の者です。
私は
反対の意味を持つ語=対義語
同じ意味を持つ語=同義語
のつもりでお答えしたのですが、


>「形式に囚われず、行動しろ」

この文の場合、形式=きまりごと、型。という意味になりますよね。で、「形式に囚われず」とは、行動する際の条件として使われていますね。
とすると「行動」は形式の反対の意味にはなり得ません。例えば「遊ばず、勉強しろ」という文ならば、「遊ぶ」と「勉強する」が反対の意味でしょうけど、前の文ではそのような関係ではないでしょう?

よって、もし私に『「思惑 動作 行動 感情 形式」このうち同義語か反対語の関係にある二語を指摘せよ』と出題されたとしたら、「正解なし」と解答します。

試験に出題されたということですが、どのような試験かは存じませんが、あまりお気になさらなくてもいいのではないでしょうか?どのような結果になるにせよ、過ぎたことよりもその先でどう対処するか、が大切だと思いますよ(偉そうですが)。

Q実行時エラー’1004’

初心者です。EXCEL VBA 音声出力機能を利用したいのですが、以下の
プログラムコードで、アプリケーション定義またはオブジェクト定義
のエラーです とでてしまいました。不具合をどうぞ教えていただけ
ないでしょうか。おねがいします。

  Sub 読み上げ()
Range("B2").Speak SpeakDirection:=xlSpeakByColumns,_
SpeakFormulas:=False
End Sub

Aベストアンサー

Excel2007ではこれで問題なく読み上げてくれますね。

この改行部分は投稿のためのものか
コードにこう書いてあるのかわかりませんが
VBEでの記述は
 xlSpeakByColumns,_
   ではなく、スペースが必要です。
 xlSpeakByColumns, _


人気Q&Aランキング

おすすめ情報