- - PR -
Visual Basic6ですが。。
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-08 19:54
.Netではなく単なるVB6ですがお教えください。
Set objRs = CreateObject("ADODB.Recordset") objRs.Open sQuery, objConn, adOpenStatic, adLockReadOnly, adCmdText sQuery = "select ISNULL(MAX(A),'0')+1 from student where s_id = '" & sId & "'" を実行し、AのMax値を取得したいのですが、このSQL文を実行させると 「3265 要求された名前、または序数に対応する項目がコレクションで見つかりません。」 と表示されます。Max値を取得するにはどのようにすれば よろしいでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2005-08-08 20:11
取得した結果にアクセスする際にobjRS.Fields.Item("ISNULL(MAX(A),'0')+1")
のような書き方をしてませんか? もしそうならSQLを "select ISNULL(MAX(A),'0')+1 AS MAX_A from student" として objRS.Fields.Item("MAX_A") のような形にするといけるかも. _________________ # Future Is On Fire ! | ||||
|
投稿日時: 2005-08-08 21:29
1.そもそも、ISNULL関数は引数1個しか取れないのでは?
2.使用DBMSが明記されていませんが、例えばOracleではISNULL関数がありません。 AccessならOKですが。(SQLServerはどうだったっけ?) | ||||
|
投稿日時: 2005-08-09 09:13
確かにSQLServerかAccessと勝手に判断してました.すいません :cry:
SQLServerのIsNull関数は引数2個です(←言い訳) http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_ia-iz_6mek.asp _________________ Future Is What We Are! [ メッセージ編集済み 編集者: 117 編集日時 2005-08-09 09:15 ] | ||||
|
投稿日時: 2005-08-09 09:57
おはようございます。
※ 外している回答ですが、気になったので。。。 >を実行し、AのMax値を取得したいのですが、このSQL文を実行させると >「3265 要求された名前、または序数に対応する項目がコレクションで見つかりません。」 >と表示されます。 とありますが、エラーになるのは取得した結果にアクセスする際ですよね? ( いや、117様のご回答をコピペなのですが。。。 ) まず、どこでエラーが起こっているかを正確に把握する事が大切では? と思いまして。 他の小難しいお話は他の賢者様にお任せします <編集> 変な日本語を修正 </編集> [ メッセージ編集済み 編集者: 小僧 編集日時 2005-08-09 09:58 ] | ||||
|
投稿日時: 2005-08-09 10:04
こんにちは、じゃんぬ です。
こういう SQL コマンド絡みのエラーは、 もっと単純な SQL などにしていろいろ試すと解決します。 ・別テーブルだとどうなりますか? ・ISNULL をやめてしまうとどうですか? ・プログラム以外のエディタからはどうですか?
関係ないですが、これ、何故に CreateObject...? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-08-09 11:20
返答が遅くなり、申し訳ありません。
117さんにお教え頂いた >SQLを "select ISNULL(MAX(A),'0')+1 AS MAX_A from student" >として objRS.Fields.Item("MAX_A") のような形にするといけるかも. で値を取得することができました。 ありがとうございます。 また、DBはSQLServerです。 Set objRs = CreateObject("ADODB.Recordset") ですが、前任者がこのような書き方をしておりました。 おかしい書き方でしょうか? | ||||
|
投稿日時: 2005-08-09 11:23
遅延バインディングにしている意図は? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1|2|3
次のページへ»