アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセス2010でADOで並べ替えができなくなったのでググったら
http://support.microsoft.com/kb/253102/ja
が見つかったので読んだら
SNA Server 4.0 日本語版 Service Pack 4
を入れれば解決とのことですが、
SNA Server ってなんでしょう?

それにどこからダウンロードすればいいのかわからないのでまたググったら
http://support.microsoft.com/kb/215838/ja
がヒットしたのですが、読んでもどこからダウンロードすればいいのかわかりません。教えてください。
よろしくお願いします。

下記が前回の質問です
http://oshiete.coneco.net/qa7948709.html
---------------------------------------------------------
エクセルからアクセスのクエリをADOで並べ替えたいのですが
並べ替えをしようとすると、「実行時エラー -2147217824並べ替えを適用できません.」
になります。
コードは

cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source= " & ActiveWorkbook.Path & ".accdb"
rs.CursorLocation = adUseClient
rs.Open "Qindex", cn, adOpenKeyset, adLockOptimistic
rs.Sort = "サンプル名 ASC"

です。
rs.Sort の行をなくせば正常に動きます。

その後のコードで、MyFileName = rs("サンプル名")ができるから、サンプル名というフィールドは問題なく存在していることが確認できます。

何が原因でしょうか?

ちなみにアクセスのクエリのほうで昇順に並び替えをしているのに、
rs.CursorLocation = adUseClientせずにレコードを取得しても、クエリの順番で取得できませんでした。

A 回答 (2件)

もしかして、ソートしようとしているフィールドのデータ型がメモ型ってことはありませんか?


提示されたコードでメモ型フィールドをソートしようとすると、
-2147217824 のエラーになりました。
ADOの2.8 と 6.1 で結果は同じです。
テキスト型ならソートできました。
なので、
SQL文の Order By 句を動的に変えるか
Left(メモ型フィールド,100) As TmpField みたいなフィールドを作成して
このフィールドに対してSort とか。

>ちなみにアクセスのクエリのほうで昇順に並び替えをしているのに、
>rs.CursorLocation = adUseClientせずにレコードを取得しても、クエリの順番で取得できませんでした。
はクエリのデザインビュー(SQL)で昇順指定されているのですよね?
もしかして、もしかしたら
クエリのデータシートビューで並べ替えを行っていて
並べ替えの解除を忘れたままとか・・・
クエリのデータシートビューで並べ替えた時は、Order By 句よりも優先されますが
レコードセットで開いた場合は並べ替えは無視され、Order BY 句が適用されます。
確認済みならゴメン。

SNA Serverについては、utakataXEX さんに激しく同意
Access2010が発表される以前の資料ですし。
>文書番号: 253102 - 最終更新日: 2004年5月10日 - リビジョン: 1.0
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2013/03/03 10:00

直接の解決法でなく、恐縮ですが、こちらをごらんください。



対象製品
http://support.microsoft.com/kb/253102/ja#applie …

ご質問のSNA Serverとはメインフレーム(大型コンピューター)との接続で使われるソフトです。

Excel、Access などPCで使用する際のADOの問題が解決できる訳ではありません。

当該のサポートページは、あくまでも、CICS、IMSと云ったメインフレームのDBやトランザクションモニターに対してADOで接続する際の問題に対応するものです。

ですので、焦ってインストールしないようにしてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2013/03/03 10:00

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