Page 207 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼参照設定についての質問<至急> ガチャピン 03/2/21(金) 11:17 ┗Re:参照設定についての質問<至急> こうちゃん 03/2/21(金) 11:39 ┗Re:参照設定についての質問<至急> ガチャピン 03/2/21(金) 12:07 ┗Re:参照設定についての質問<至急> こうちゃん 03/2/21(金) 12:21 ┣Re:参照設定についての質問<至急> ガチャピン 03/2/21(金) 13:20 ┗Serverと接続する際。。 ガチャピン 03/2/21(金) 13:50 ┗Re:Serverと接続する際。。 こうちゃん 03/2/21(金) 14:30 ┗Re:Serverと接続する際。。 こうちゃん 03/2/21(金) 14:33 ┗有難うございました!!&もう一つ質問があるのですが。。 ガチャピン 03/2/21(金) 15:32 ┗Re:有難うございました!!&もう一つ質問があるのですが。。 こうちゃん 03/2/22(土) 21:43 ┗こうちゃんさん、有難うございました。m( _ _ )m ガチャピン 03/2/24(月) 12:18 ─────────────────────────────────────── ■題名 : 参照設定についての質問<至急> ■名前 : ガチャピン ■日付 : 03/2/21(金) 11:17 -------------------------------------------------------------------------
DBはSQLSever2000で ACCESS2002で開発しています。 テーブルをOpenRecodsetしたときに、 "オブジェクト変数またはWithブロック変数が設定されていません。(Error91)" というエラーがでます。 参照設定のチェックが足りないのだと思うのですが、 どれをチェックすればいいのか分かりません。 もしくは、他のファイルを参照しなければいけないのでしょうか? どなたか分かる方教えていただけないでしょうか? よろしくお願い致します。m(_ _)m |
ガチャピンさん、こんにちは >参照設定のチェックが足りないのだと思うのですが、 >どれをチェックすればいいのか分かりません。 >もしくは、他のファイルを参照しなければいけないのでしょうか? 2002ではADOが既定になりましたので、DAOのOpenRecordset使うならDAO参照設定する必要があります。 Microsoft DAO 3.x Object Library を参照設定してください。 |
こうちゃんさん、ご返答有難うございます。 >>参照設定のチェックが足りないのだと思うのですが、 >>どれをチェックすればいいのか分かりません。 >>もしくは、他のファイルを参照しなければいけないのでしょうか? > >2002ではADOが既定になりましたので、DAOのOpenRecordset使うならDAO参照設定する必要があります。 > >Microsoft DAO 3.x Object Library > >を参照設定してください。 現段階で、参照設定にチェックしているのは以下のとおりですが、 <Error91>がでます。 Visual Basic for Applications Microsoft Access 10.0 Object Library Microsoft DAO 3.6 Object Library Microsoft Visual Basic for Application Extensit OLE Automation ちなみにテーブルOPENするときのロジックは、 Dim Rs As Recordset Set Rs = currentdb.OpenRecordset("TABLE",dbopensnapshot) でOPENしています。 もしかして、ロジックが間違っているのでしょうか? ご返答よろしくお願い致します。m(_ _)m |
ガチャピンさん、こんにちは >>2002ではADOが既定になりましたので、DAOのOpenRecordset使うならDAO参照設定する必要があります。 >> >現段階で、参照設定にチェックしているのは以下のとおりですが、 ><Error91>がでます。 > >Visual Basic for Applications >Microsoft Access 10.0 Object Library >Microsoft DAO 3.6 Object Library >Microsoft Visual Basic for Application Extensit >OLE Automation 参照設定はOKのようですが・・ >ちなみにテーブルOPENするときのロジックは、 > >Dim Rs As Recordset > >Set Rs = currentdb.OpenRecordset("TABLE",dbopensnapshot) > >でOPENしています。 >もしかして、ロジックが間違っているのでしょうか? 明示的にオブジェクトを指定してみてください。 こんな感じでどうでしょ? Dim Rs As DAO.Recordset Dim Db As DAO.Database Set Db = CurrentDb Set Rs = Db.OpenRecordset("TABLE", dbopensnapshot) |
こうちゃんさん、ご返答有難うございます。 >>ちなみにテーブルOPENするときのロジックは、 >> >>Dim Rs As Recordset >> >>Set Rs = currentdb.OpenRecordset("TABLE",dbopensnapshot) >> >>でOPENしています。 >>もしかして、ロジックが間違っているのでしょうか? > >明示的にオブジェクトを指定してみてください。 >こんな感じでどうでしょ? > >Dim Rs As DAO.Recordset >Dim Db As DAO.Database > >Set Db = CurrentDb >Set Rs = Db.OpenRecordset("TABLE", dbopensnapshot) 上記ロジックで記述してみたのですが、同じエラーが出ます。 試しにいろいろロジックを変えてやってみたのですが、 同じエラーが出ます。 以前SQLSereve6で開発した事はあるのですが、 CurrentDBでテーブルOPENできました。 2000になると、できなくなる事ってあるのでしょうか? 本当に知識不足で申し訳ありません。 今息詰まってる状態です。 ご返答よろしくお願い致します。 |
一つ言い忘れてた事があります。 SQLServerと接続するときに、 ACCESSの新規作成で、 プロジェクトを選択して、拡張子'adb'として 開発しています。 それと何か関係あるのでしょうか? |
ガチャピンさん、こんにちは >SQLServerと接続するときに、 >ACCESSの新規作成で、 >プロジェクトを選択して、拡張子'adb'として >開発しています。 >それと何か関係あるのでしょうか? ごめんなさい、SQLServer2000接続は、ADOでしかつないだことがありません。 一度ADOで接続してみてください。 Microsoft ActiveX Data Object 2.x Library に参照設定してください。 (データリンクは正常に接続できているんですよね?) Dim Rs As ADODB.Recordset Dim Db As ADODB.Connection Set Db = CurrentProject.Connection Set Rs = New ADODB.Recordset Rs.Open "TABLE", Db, adOpenStatic |
ちなみにSQLServer6の時は、mdbで、サーバー接続はODBCではありませんでしたか? SQLServer2000でもODBC接続ならDAOでいけるようですが・・ |
こうちゃんさん、ご返答有難うございます。 >一度ADOで接続してみてください。 >Microsoft ActiveX Data Object 2.x Library に参照設定してください。 > >(データリンクは正常に接続できているんですよね?) はい、データはちゃんと見れるので接続はできてます。 >Dim Rs As ADODB.Recordset >Dim Db As ADODB.Connection > >Set Db = CurrentProject.Connection >Set Rs = New ADODB.Recordset > >Rs.Open "TABLE", Db, adOpenStatic 上記方法で記述したら、ちゃんと通りました!! 有難うございました。m(_ _)m ついでといってら、大変恐縮なんですけど、 もう一つ質問があります。 今、ADOで参照するようにはなっていますが、 下記のとおり編集しようとすると、 RS.EditMode RS!テスト = ME!テスト RS.Update EditModeのところで、 ”プロパティの使い方が不正です。”とエラーが出ます。 記述の仕方が間違っているのでしょうか? >ちなみにSQLServer6の時は、mdbで、サーバー接続はODBCではありませんでしたか? >SQLServer2000でもODBC接続ならDAOでいけるようですが・・ ODBC接続でした。 もしかして、ODBC接続だったから、DAOでいけたということですか? 'adb'だとSQLServerでテーブル編集しなくても、 直接ACCESSで編集すれば、自動的にSQLServerのテーブル構造も編集 できるという事で、今'adb'で開発してるのです。 本当に知識不足で、申し訳ありません。 最初テーブルはACCESS内で持って、コーディングしていたので、 DBをSQLServerに持っていたときどれだけ影響がでるのか全く把握してない 状況でした。 やはり'adb'だとかなりの影響はでるのでしょうか? ご返答よろしくお願い致します。m(_ _)m |
ガチャピンさん、こんばんは >RS.EditMode >RS!テスト = ME!テスト >RS.Update > >EditModeのところで、 >”プロパティの使い方が不正です。”とエラーが出ます。 >記述の仕方が間違っているのでしょうか? ADOのレコードセットにはEditModeというプロパティはありません。 DAOとADOでは、お作法(メソッドやプロパティ等)が違いますので、注意してくださいね。 詳細はADOを勉強していただくしかないかも・・^^; >もしかして、ODBC接続だったから、DAOでいけたということですか? はい、多分。私はadpでSQLServer接続する際はADOを使っているということで私がDAOをよく知らないので、答えが曖昧になってしまい申し訳ありません。 >最初テーブルはACCESS内で持って、コーディングしていたので、 >DBをSQLServerに持っていたときどれだけ影響がでるのか全く把握してない >状況でした。 >やはり'adb'だとかなりの影響はでるのでしょうか? VBAのコーディング、SQL文等は多少の変更が必要になります。 私もSQLServerにDBを持つadpファイルをよく使うのですが、mdbの時DAO、adpの時ADOと使い分けるのが面倒なので、すべてADOで済ましちゃってます^^; (単にDAOをよく知らないだけかも・・) まあ、mdbの場合、DAOでなければできないこともあるんで、例外はありますが・・ |
こうちゃんさん、ご返答有難うございます。 すいません。見るのが今日になってしまい、お礼も遅くなりました。 >ADOのレコードセットにはEditModeというプロパティはありません。 >DAOとADOでは、お作法(メソッドやプロパティ等)が違いますので、注意してくださいね。 >詳細はADOを勉強していただくしかないかも・・^^; ADOとDAOの参照が違うとかなりの違いが出てきますね。 う〜ん、かなり勉強不足で、詰まり気味です。 ヘルプ見ながら勉強していきます。 >>もしかして、ODBC接続だったから、DAOでいけたということですか? >はい、多分。私はadpでSQLServer接続する際はADOを使っているということで私がDAOをよく知らないので、答えが曖昧になってしまい申し訳ありません。 ODBC接続にすると、DAOでいけました。 >>最初テーブルはACCESS内で持って、コーディングしていたので、 >>DBをSQLServerに持っていたときどれだけ影響がでるのか全く把握してない >>状況でした。 >>やはり'adb'だとかなりの影響はでるのでしょうか? >VBAのコーディング、SQL文等は多少の変更が必要になります。 >私もSQLServerにDBを持つadpファイルをよく使うのですが、mdbの時DAO、adpの時ADOと使い分けるのが面倒なので、すべてADOで済ましちゃってます^^; >(単にDAOをよく知らないだけかも・・) >まあ、mdbの場合、DAOでなければできないこともあるんで、例外はありますが・・ ずっとDAOで慣れているのもあって、 adpでやるのは結構、難しいかもしれないです。 ODBC接続で、DAOでやるか検討するかもしれないです。 でもこれからの事も考えるともちろんADOも勉強していきます。 こうちゃんさんには大変お世話になり、 ご親切な回答、有難うございました。m( _ _ )m また分からない事が多々あると思いますので、 そのときはよろしくお願い致します。 |