VC++6.0でAccess2000が開けません – プログラミング – Home

通知
すべてクリア

VC++6.0でAccess2000が開けません


ねね
 ねね
(@ねね)
ゲスト
結合: 23年前
投稿: 13
Topic starter  

VC++6.0でDAOを用いてAccess97は読み込むことができるのですが,
Access2000になると開けません。方法があるらしいのですが,よくわかりません。
ちなみに,データの更新,追加,削除の方法も教えてもらえたらうれしいです。
よろしくお願いします。


引用解決済
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

参考になるかわかりませんが。
VBでの話ですが、Access97で保存したmdbファイルをアクセスするプログラムが、
Access2000で保存したmdbファイルをアクセスするすると失敗する現象が起こりました。
DAOのDLLが、2000に対応したバージョンではなかったことが原因でした。
この点は問題ないですか?

一般的に考えて、基本的にI/Fが変わるようなことはないと思うんですが...


返信引用
ねね
 ねね
(@ねね)
ゲスト
結合: 23年前
投稿: 13
Topic starter  

おそらくそこに問題があると思われるのですが
対処方法がわかりません
プログラム上でDLLの選択などは行えないのでしょうか?


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

「MAGURO ONLINE YOKOHAMA」のプログラミング会議室( http://www2s.biglobe.ne.jp/~maekawa/dev/bbs/index.html)
の方でレスがついていますが、
それではだめなんでしょうか?


返信引用
ねね
 ねね
(@ねね)
ゲスト
結合: 23年前
投稿: 13
Topic starter  

ありました。
全文英語ですがプログラムをたどっていけば
できそうな気がします。
あとデータの更新,追加,削除の方法も教えてもらえたらうれしいです。
よろしくお願いします。


返信引用
ねね
 ねね
(@ねね)
ゲスト
結合: 23年前
投稿: 13
Topic starter  

いい忘れましたが
今DAOでAccess97は読み込める状態です。
あと検索などもしたいので,そちらも教えていただければうれしいです。
お願いします。

try{
m_Database.Open(xxxxx.mdb);
}
catch(CDaoException* e){
AfxMessageBox(Error: DATABASE.Open);
e->Delete();
return(-1);
}

CString connect = m_Database.GetName();

// SQL処理

CString query;
query = (select * from テーブル1);
m_pRecordset = new CDaoRecordset(&m_Database);
db_flg = 1;

try{
m_pRecordset->Open(dbOpenDynaset, query, dbReadOnly);
}
catch(CDaoException* e){
AfxMessageBox(Error: RECORDSET.Open);
e->Delete();
return(-1);
}
}

ソースはこんなかんじです。


返信引用
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

もう見てないかも知れませんが、解決フラグがたってないので一応書き込みます。

InitInstance()あたりで、
AfxGetModuleState()->m_dwVersion = 0x0601;
とするだけでいけます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました