C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[24]: VS2019 + Access MDBでエラーが発生 [1]


(過去ログ 169 を表示中)

[トピック内 40 記事 (21 - 40 表示)]  << 0 | 1 >>

■97265 / inTopicNo.21)  Re[14]: VS2019 + Access MDBでエラーが発生
  
□投稿者/ てっちゃん (14回)-(2021/04/19(Mon) 22:05:59)
No97264 (WebSurfer さん) に返信
> ■No97263 (てっちゃん さん) に返信
>
>>もしかしたら左端のナビゲーションウィンドウが閉じた状態になっているのではないでしょうか?
>>こちらをご確認いtだけますか?
>>https://www.relief.jp/docs/003709.html
>
> いえ、そこは関係ないです。自分の PC にある mdb も accdb であれば開いて中身を見ることが
> できてます。
>
>>私も詳しくはわかりませんが、オプティミスティック コンカレンシー制御にチェックすると
>>xsdファイルが出来るらしいです。
>>実際は SqlDataSource + GridViewで試しましたが、苦し紛れにチェックをした経緯がありますので
>>その際にできたのかもしれません。
>
> それはないです。SQL 文とパラメータなどが変わりますが、xsd ファイルが生成されることはありません。
>
> ゼロから mdb ファイルを新たに作って、プロジェクトも別にゼロから新たに作成してまっさらな状態
> から試してみることをお勧めします。

ありがとうございます。
明日以降に新たにテスト用のDBを作成して試してみたいと思います。
引用返信 編集キー/
■97267 / inTopicNo.22)  Re[15]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2221回)-(2021/04/20(Tue) 09:40:30)
No97265 (てっちゃん さん) に返信

No97249 のリンク先からダウンロードした A.mdb は自分の Access 2007 では開けるものの
何も表示されないという問題はありましたが、Visual Studio 2019 から JET を使って接続
し、ウィザードを使って SqlDataSource + GridView アプリを作って試してみました。

結果、全くエラーなどは無く期待通り表示・削除・更新はできます。

アプリは自分の PC の検証用の既存のもので .NET Framework 4.8 というところが質問者さん
のものとは違いますが、そこは関係ないと思います。

ということで、疑わしいのは質問者さんが作ったアプリ側のようです。

フィールド名が日本語かどうかというのはもともと何の影響もないはずですし、ウィザード
ベースで作っていれば間違いようもないはずで、質問者さんの環境固有の問題というのが疑
わしいです。

コードを載せておきます。100% Visual Studio 2019 のウィザードで作ったもので、自分では
一行もコードは書いていません。

接続文字列

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\A.mdb


.aspx

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="AccessWankuma.aspx.cs" 
    Inherits="WebApplication2.AccessWankuma" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:AccessConnectionString %>" 
                DeleteCommand="DELETE FROM [T_顧客] WHERE [顧客CD] = ?" 
                InsertCommand="INSERT INTO [T_顧客] ([顧客CD], [顧客名]) VALUES (?, ?)" 
                ProviderName="<%$ ConnectionStrings:AccessConnectionString.ProviderName %>" 
                SelectCommand="SELECT [顧客CD], [顧客名] FROM [T_顧客]" 
                UpdateCommand="UPDATE [T_顧客] SET [顧客名] = ? WHERE [顧客CD] = ?">
                <DeleteParameters>
                    <asp:Parameter Name="顧客CD" Type="Int32" />
                </DeleteParameters>
                <InsertParameters>
                    <asp:Parameter Name="顧客CD" Type="Int32" />
                    <asp:Parameter Name="顧客名" Type="String" />
                </InsertParameters>
                <UpdateParameters>
                    <asp:Parameter Name="顧客名" Type="String" />
                    <asp:Parameter Name="顧客CD" Type="Int32" />
                </UpdateParameters>
            </asp:SqlDataSource>
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                AutoGenerateColumns="False" DataKeyNames="顧客CD" 
                DataSourceID="SqlDataSource1">
                <Columns>
                    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
                    <asp:BoundField DataField="顧客CD" HeaderText="顧客CD" 
                        ReadOnly="True" SortExpression="顧客CD" />
                    <asp:BoundField DataField="顧客名" HeaderText="顧客名" 
                        SortExpression="顧客名" />
                </Columns>
            </asp:GridView>
        </div>
    </form>
</body>
</html>

引用返信 編集キー/
■97268 / inTopicNo.23)  Re[14]: VS2019 + Access MDBでエラーが発生
□投稿者/ 魔界の仮面弁士 (3075回)-(2021/04/20(Tue) 10:43:37)
No97264 (WebSurfer さん) に返信
>>もしかしたら左端のナビゲーションウィンドウが閉じた状態になっているのではないでしょうか?
>>こちらをご確認いtだけますか?
>>https://www.relief.jp/docs/003709.html
> いえ、そこは関係ないです。自分の PC にある mdb も accdb であれば開いて中身を見ることが
> できてます。

ナビゲーション ウィンドウの表示/非表示は、
全体設定ではなくファイル単位の制御です。

No97263 で案内されたように、[F11]キーを押すとナビゲーション ウィンドウが表示されるので、
その中のテーブル一覧を確認してみてください。

F11 キーが使えない PC の場合は、No97253 の案内通り、ファイルを開ききるまで
Shift キーを押しっぱなしにしておくと起動オプションをスキップできます。

その後、[ファイル]-[オプション] から、[カレントデータベース]または[現在のデータベース]で
ナビゲーション ウィンドウ/リボン・ツールバー/ステータスバー等の設定を変更してみてから
開きなおしてみてください。


No97263 (てっちゃん さん) に返信
> 私も詳しくはわかりませんが、オプティミスティック コンカレンシー制御にチェックすると
> xsdファイルが出来るらしいです。

いえ、型付 DataSet を作るときのウィザードにおいて、
SqlDataSource を使っている場合と同様に、その選択肢が表示されるということです。

DataSet を作っていないのであれば、そもそも .xsd ファイルは生成されませんので、無ければ無いで OK です。
SqlDataSource のみでアクセスしている場合には、WebSurfer さんも仰られているように、
.xsd が作られることはなく、クエリ情報は WebForm1.aspx ファイル内に直接埋め込まれます。

とはいえ、WebForm1.aspx の内容は No97245 にある情報だけで十分なので、aspx ファイルは無くても大丈夫です。
また、追加で提供頂いた DataSet は、テーブル情報等の無い空のファイルでしたので、
これ自体には特に意味はありません。そのまま捨ておいてください。


提供頂いた mdb でテストした限りは、WebSurfer さん同様、こちらでも事象が発生しませんでした。
もう少し調べてみます。
引用返信 編集キー/
■97270 / inTopicNo.24)  Re[15]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (15回)-(2021/04/20(Tue) 15:56:51)
No97268 (魔界の仮面弁士 さん) に返信

魔界の仮面弁士様、WebSurfer様

お世話になっております。
ご丁寧なアドバイスありがとうございました。

お二人のご指摘に従い、本日新しいデータベースを作成し、テーブルの主キーのフィールド名は日本語にし
これまでと同様の手順でGridViewに表示し、更新・削除を行ったところ問題なく稼働しました。

このことから魔界の仮面弁士様のご指摘のように現在稼働しているMDBファイルに問題があり、このことが
現象を発生させていたと確信しました。
エラーが出たり、フィールド名を一度1バイト系にし、その後2バイト系に戻してもエラーが出ない様な現象
が起こったと思います。

>フィールド名が日本語かどうかというのはもともと何の影響もないはずですし、ウィザード
>ベースで作っていれば間違いようもないはずで、質問者さんの環境固有の問題というのが疑
>わしいです。

まさしく上記の魔界の仮面弁士様のご指摘通りVS2019+Access MDBで主キーのフィールド名が日本語でも正常に
使えることがわかりました。

魔界の仮面弁士様、WebSurfer様には本当に親切にアドバイスをしていただき非常に感謝しております。

以下蛇足になります。
1.型付DataSetを作成した記憶がないのですが、これはツールボックス内にあるのでしょうか?
2.問題のあるMDBファイルは一度修復・最適化を行えば正常になりますか?

よろしくお願いします。


引用返信 編集キー/
■97271 / inTopicNo.25)  Re[16]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2222回)-(2021/04/20(Tue) 16:16:22)
No97270 (てっちゃん さん) に返信

> このことから魔界の仮面弁士様のご指摘のように現在稼働しているMDBファイルに問題があり、このことが
> 現象を発生させていたと確信しました。

回答者二人ともが、ダウンロードした mbd ファイルで試してみて問題なかったと書いてますけど、レスを読んでもらってない?
引用返信 編集キー/
■97272 / inTopicNo.26)  Re[17]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (16回)-(2021/04/20(Tue) 16:46:46)
No97271 (WebSurfer さん) に返信

WebSurfer様

レスは読んでいます。
お送りしたMDBは本稼働しているMDBファイルを丸ごとコピーし、そこから不要なテーブルとT_顧客テーブル内の
レコードを削除し、フィールドも3つほどに絞り込んだ後に最適化したものです。
もともと私がテストした時には主キーが日本語の場合に起こり、フィールド名を半角アルファベットに変更すると
エラーが起きず、時には再度日本語に戻してもエラーが起きないことがありました。
これは最初の質問で書いた通りです。

今回お二人が問題なく読めたこと、WebSurfer様のアドバイス通り新規で作成したデータベースでは
問題が起きなかったことで本稼働中のMDBファイルに何かしらの問題があるのではと確信した次第です。
このことは魔界の仮面弁士様からもエラーがあるとの情報をいただきました。

説明不足で申し訳ありませんでした。


> ■No97270 (てっちゃん さん) に返信
>
>>このことから魔界の仮面弁士様のご指摘のように現在稼働しているMDBファイルに問題があり、このことが
>>現象を発生させていたと確信しました。
>
> 回答者二人ともが、ダウンロードした mbd ファイルで試してみて問題なかったと書いてますけど、レスを読んでもらってない?
引用返信 編集キー/
■97273 / inTopicNo.27)  Re[18]: VS2019 + Access MDBでエラーが発生
□投稿者/ 魔界の仮面弁士 (3077回)-(2021/04/20(Tue) 16:59:01)
No97272 (てっちゃん さん) に返信
> このことは魔界の仮面弁士様からもエラーがあるとの情報をいただきました。

あれ。そんなこと書きましたっけ…? (汗


「小規模な破損がある」と書いた覚えならありますが、それは
>> ・ユーザーツールバー:「カード切替」→ "M.カード切替" へのマッピングが破損
の件を指しており、それ自体は検索に影響を与えるものでは無いと思っていました。


mdb を見る限り、Web アプリから読み書きするだけのアプリなのに、
「Access 用アプリ」としての固有設定の残骸が多数あるのは気にかかりましたが、
その中のどれが影響を与えているのかは、まだ特定できていません。
引用返信 編集キー/
■97274 / inTopicNo.28)  Re[19]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (17回)-(2021/04/20(Tue) 17:50:28)
No97273 (魔界の仮面弁士 さん) に返信

魔界の仮面弁士様



> ■No97272 (てっちゃん さん) に返信
>>このことは魔界の仮面弁士様からもエラーがあるとの情報をいただきました。
>
> あれ。そんなこと書きましたっけ…? (汗
>
>
> 「小規模な破損がある」と書いた覚えならありますが、それは
> >> ・ユーザーツールバー:「カード切替」→ "M.カード切替" へのマッピングが破損
> の件を指しており、それ自体は検索に影響を与えるものでは無いと思っていました。
>

破損=エラーと思い込んでおりました。m(__)m


>
> mdb を見る限り、Web アプリから読み書きするだけのアプリなのに、
> 「Access 用アプリ」としての固有設定の残骸が多数あるのは気にかかりましたが、
> その中のどれが影響を与えているのかは、まだ特定できていません。

稼働中のmdbを丸ごとコピーし、不要なテーブル類やフィールド、レコードを削除したのですが
いろいろ残骸があるんですね。
もともと一つのMDBにテーブル以外もあったのですが、3年ほど前にテーブルとそれ以外に分けたので
残骸があったのだと思います。
お手数をお掛けし申し訳ございません。m(__)m


引用返信 編集キー/
■97275 / inTopicNo.29)  Re[18]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2223回)-(2021/04/20(Tue) 18:05:01)
No97272 (てっちゃん さん) に返信

> レスは読んでいます。
> お送りしたMDBは本稼働しているMDBファイルを丸ごとコピーし、そこから不要なテーブルとT_顧客テーブル内の
> レコードを削除し、フィールドも3つほどに絞り込んだ後に最適化したものです。
> もともと私がテストした時には主キーが日本語の場合に起こり、フィールド名を半角アルファベットに変更すると
> エラーが起きず、時には再度日本語に戻してもエラーが起きないことがありました。
> これは最初の質問で書いた通りです。
>
> 今回お二人が問題なく読めたこと、WebSurfer様のアドバイス通り新規で作成したデータベースでは
> 問題が起きなかったことで本稼働中のMDBファイルに何かしらの問題があるのではと確信した次第です。
> このことは魔界の仮面弁士様からもエラーがあるとの情報をいただきました。
>
> 説明不足で申し訳ありませんでした。

No97249 のリンク先からダウンロードできる A.mdb は質問者さんの環境で問題を再現できる
ものと理解してましたが違うんですか?

そうでないとすると当方が試す意味はないのですよ。分かりませんか? 

引用返信 編集キー/
■97276 / inTopicNo.30)  Re[19]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (18回)-(2021/04/20(Tue) 18:13:04)
No97275 (WebSurfer さん) に返信

WebSurfer様

A.mdbは私の環境でエラーが発生したものです。それを確認してアップロードしました。



> ■No97272 (てっちゃん さん) に返信
>
>>レスは読んでいます。
>>お送りしたMDBは本稼働しているMDBファイルを丸ごとコピーし、そこから不要なテーブルとT_顧客テーブル内の
>>レコードを削除し、フィールドも3つほどに絞り込んだ後に最適化したものです。
>>もともと私がテストした時には主キーが日本語の場合に起こり、フィールド名を半角アルファベットに変更すると
>>エラーが起きず、時には再度日本語に戻してもエラーが起きないことがありました。
>>これは最初の質問で書いた通りです。
>>
>>今回お二人が問題なく読めたこと、WebSurfer様のアドバイス通り新規で作成したデータベースでは
>>問題が起きなかったことで本稼働中のMDBファイルに何かしらの問題があるのではと確信した次第です。
>>このことは魔界の仮面弁士様からもエラーがあるとの情報をいただきました。
>>
>>説明不足で申し訳ありませんでした。
>
> No97249 のリンク先からダウンロードできる A.mdb は質問者さんの環境で問題を再現できる
> ものと理解してましたが違うんですか?
>
> そうでないとすると当方が試す意味はないのですよ。分かりませんか? 
>
引用返信 編集キー/
■97277 / inTopicNo.31)  Re[20]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2224回)-(2021/04/20(Tue) 18:24:04)
No97276 (てっちゃん さん) に返信

> A.mdbは私の環境でエラーが発生したものです。それを確認してアップロードしました。

私の環境で、その A.mdb を使ってウィザードベースで私が作ったアプリで全く問題は無かった
のですけど。

ということは、A.mdb には問題は無くて、質問者さんの環境・アプリの問題ということになりま
せんか?

なのになぜ、No97272 のレスに書いてある、

> 現在稼働しているMDBファイルに問題があり、このことが現象を発生させていたと確信しました。

という判断に至ったのでしょうか?
引用返信 編集キー/
■97278 / inTopicNo.32)  Re[21]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (19回)-(2021/04/20(Tue) 18:52:29)
No97277 (WebSurfer さん) に返信

WebSurfer様

> ゼロから mdb ファイルを新たに作って、プロジェクトも別にゼロから新たに作成してまっさらな状態
> から試してみることをお勧めします。

WebSurfer様のアドバイスの通り新しくMDBを作成し、T_顧客テーブルに日本語で主キーのフィールド名を作成し
テストを行いました。
その結果

No97268 (魔界の仮面弁士 さん) に返信
に書きました通り、新規作成のMDBではエラーが発生せず、稼働中のMDBを丸ごとコピーしたA.MDBでは発生
したことからそう思いました。

困惑させて申し訳ございません。


> ■No97276 (てっちゃん さん) に返信
>
>>A.mdbは私の環境でエラーが発生したものです。それを確認してアップロードしました。
>
> 私の環境で、その A.mdb を使ってウィザードベースで私が作ったアプリで全く問題は無かった
> のですけど。
>
> ということは、A.mdb には問題は無くて、質問者さんの環境・アプリの問題ということになりま
> せんか?
>
> なのになぜ、No97272 のレスに書いてある、
>
>>現在稼働しているMDBファイルに問題があり、このことが現象を発生させていたと確信しました。
>
> という判断に至ったのでしょうか?
引用返信 編集キー/
■97279 / inTopicNo.33)  Re[22]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2225回)-(2021/04/20(Tue) 19:22:46)
No97278 (てっちゃん さん) に返信

意味なく全文引用するのは止めてください。見にくくなるだけです。

> 困惑させて申し訳ございません。

困惑なんてしてませんよ。話が変だから確認してるのです。

> 新規作成のMDBではエラーが発生せず、稼働中のMDBを丸ごとコピーしたA.MDBでは発生
> したことからそう思いました。

私の環境私のアプリでは発生してないと言ってますが、そこは理解されてますか?

質問者さんの環境で、その A.mdb を使って、まっさらなプロジェクトで、ウィザードベースで
アプリをつくって問題を再現できると言ってますか?

引用返信 編集キー/
■97280 / inTopicNo.34)  Re[23]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (20回)-(2021/04/20(Tue) 19:40:20)
No97279 (WebSurfer さん) に返信

WebSurfer様


> 私の環境私のアプリでは発生してないと言ってますが、そこは理解されてますか?

理解してます。

>
> 質問者さんの環境で、その A.mdb を使って、まっさらなプロジェクトで、ウィザードベースで
> アプリをつくって問題を再現できると言ってますか?
>

A.mdbでは再現しますが、真新しいMDBでは再現しませんでした。
引用返信 編集キー/
■97281 / inTopicNo.35)  Re[24]: VS2019 + Access MDBでエラーが発生
□投稿者/ WebSurfer (2226回)-(2021/04/20(Tue) 19:47:29)
No97280 (てっちゃん さん) に返信

> A.mdbでは再現しますが、真新しいMDBでは再現しませんでした。

私の環境では「A.mdbでは」再現しないと言っているのですけど。他の回答者の方も問題ないと言って
おられるようですけど。

どうも話が通じないようですね。もうどうでもいいので自分はこのスレッドからは撤退します。
引用返信 編集キー/
■97283 / inTopicNo.36)  Re[20]: VS2019 + Access MDBでエラーが発生
□投稿者/ 魔界の仮面弁士 (3078回)-(2021/04/21(Wed) 11:42:10)
No97274 (てっちゃん さん) に返信
> もともと一つのMDBにテーブル以外もあったのですが、3年ほど前にテーブルとそれ以外に分けたので
> 残骸があったのだと思います。

既存の機能を削除するだけですと、圧縮・修復で取り切れない残骸が残ることがあります。

元のファイルに問題があったかどうかはさておき、状況的には
新しいファイルを作り直した方が安全そうですね。
データを分離する場合は、新規ファイルを作成して、そこにインポートしてください。

既存側から新規側へエクスポートする方法でも良いのですが、自分の場合は
新規側にて既存側からインポートする方法を取ることが多いです。


かつてはフォームやクエリーがあったようですが、
そうした「Access 固有機能」には ADO.NET からアクセスできないため、
データファイル上には最初から作りこまない方が無難です。

たとえば…
今回のファイルでは、Access 固有の「定型入力」書式が使われていますよね。

そのため、顧客CD 列と 〒 列を見ると、

256 407-0104
252 400-0124
248 4000124

のように、内部データに差異が生まれている事が分かります。


Microsoft Access から見た場合には、ハイフン付きで表示されますし、
Access でフォームアプリを開発している場合には入力時に便利ですが、
データとして扱う場合には都合が悪いでしょう。
データの見直しも行われることをお奨めします。


No97280 (てっちゃん さん) に返信
>> 私の環境私のアプリでは発生してないと言ってますが、そこは理解されてますか?
> 理解してます。

ウィザードに沿って作っただけなので、ソースに違いは無いと予想していますが、
当方で再現できなかったため、原因はまだ特定できずにいます。
「ファイルに問題があった」「環境の違いによるもの」「検証手順の差異」…など。

インデックス情報に問題があったとか、MSysObjects システムテーブルの不整合も
疑ったのですが、アルファベット(半角英字?)の列名へ変更したら現象が出なくなり、
元に戻したら再発した…という点を鑑みると、インデックス破損とも言い切れず。


Windows のバージョンを確認させていただくことはできますか?

当方環境は、Windows 10 バージョン 2004 (20H1) / 20H2 の NLS 6.3 環境ですが、
NLS 6.2 環境との動作の違いが、しばしば問題として報告されているためです。


また、今回の障害は特定の行だけで起きる事象ですか?
同じ手順なら必ず再発しますか?

No97245 の .NET Framework 4.7.2 製 WebForm アプリの検証手順において、
>>> 「編集」リンクをクリックし編集モードへ。名前を変更し「更新」リンクをクリック。
とありますが、この検証方法をさらに具体的に教えてください。

上記でどの「編集」をクリックしたのか、そして、名前をどのように変更したのか、
エラーに至る手順の一例を教えてください。
引用返信 編集キー/
■97284 / inTopicNo.37)  Re[21]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (21回)-(2021/04/21(Wed) 15:33:05)
No97283 (魔界の仮面弁士 さん) に返信

魔界の仮面弁士様

お世話になっております。

> 元のファイルに問題があったかどうかはさておき、状況的には
> 新しいファイルを作り直した方が安全そうですね。
> データを分離する場合は、新規ファイルを作成して、そこにインポートしてください。

アドバイスに従い現在稼働中のmdbから新しいmdbにテーブルのみインポートし、プロジェクトも
新規に作成し、テストしたところ主キーのフィールド名が日本語でも問題なく編集・削除できました。
大変お手数をお掛けしましたが、おかげさまで解決策が見つかりました。
ありがとうございました。

> データの見直しも行われることをお奨めします。

ご指摘ありがとうございます。データについても見直ししたいと思います。

>
> Windows のバージョンを確認させていただくことはできますか?
>
> 当方環境は、Windows 10 バージョン 2004 (20H1) / 20H2 の NLS 6.3 環境ですが、
> NLS 6.2 環境との動作の違いが、しばしば問題として報告されているためです。
>

私の環境は、Windows10 Pro バージョン 2004 OSビルド 19041.928 です。
「システム環境変数」内の「NLS_LANG」はありませんでした。

>
> また、今回の障害は特定の行だけで起きる事象ですか?
> 同じ手順なら必ず再発しますか?

同じ手順で違う行で発生しました。

>
> No97245 の .NET Framework 4.7.2 製 WebForm アプリの検証手順において、
> >>> 「編集」リンクをクリックし編集モードへ。名前を変更し「更新」リンクをクリック。
> とありますが、この検証方法をさらに具体的に教えてください。
>
> 上記でどの「編集」をクリックしたのか、そして、名前をどのように変更したのか、
> エラーに至る手順の一例を教えてください。

GridViewの左側に配置される「編集」リンク文字をクリックし、編集モードにし、「顧客名」フィールド
の値を変更したり、一文字加えたりしました。
今回のデータでは「鈴木 一郎」を「鈴木 二郎」にしたり「鈴木 一郎太」にしたりです。
テストでは表示行の1行目であったり、3行目だったりと行を変更して試しました。
その後「更新」リンクをクリックすると「'/' アプリケーションでサーバー エラーが発生しました。」の
エラーが発生しました。

説明に不足がありましたらご指示ください。

よろしくお願いいたします。


引用返信 編集キー/
■97285 / inTopicNo.38)  Re[22]: VS2019 + Access MDBでエラーが発生
□投稿者/ 魔界の仮面弁士 (3079回)-(2021/04/21(Wed) 16:09:03)
2021/04/21(Wed) 16:18:45 編集(投稿者)

No97284 (てっちゃん さん) に返信
> アドバイスに従い現在稼働中のmdbから新しいmdbにテーブルのみインポートし、プロジェクトも
> 新規に作成し、テストしたところ主キーのフィールド名が日本語でも問題なく編集・削除できました。

原因を突き止めないと安心はできませんが、ひとまず回避策が見つかって良かったです。

ファイル以外の要因(たとえば、特定の環境と設定の組み合わせなど)に
依存していたりすると、再発の危険性は否定できませんけれども。


> > 当方環境は、Windows 10 バージョン 2004 (20H1) / 20H2 の NLS 6.3 環境ですが、
> > NLS 6.2 環境との動作の違いが、しばしば問題として報告されているためです。
> 私の環境は、Windows10 Pro バージョン 2004 OSビルド 19041.928 です。
> 「システム環境変数」内の「NLS_LANG」はありませんでした。

NLS_LANG は Oracle が使う環境変数ですね。
そちらは今回は関係ありません。

私が書いた NLS 6.3 の件というのは No97241 で紹介した情報の事です。
(今回の問題に該当する情報かどうかは未知数です)
>>>
>>> キー : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Sorting\Versions]
>>>
>>> 一度エラーが発生した Access ファイルは不整合の内容を
>>> 保持しているため、上記対応方法を実施後もエラーが発生する
>>> 可能性がございます。その場合、バックアップファイルから
>>> 戻すといった修正が必要になります。
>>>



> GridViewの左側に配置される「編集」リンク文字をクリックし、編集モードにし、「顧客名」フィールド
> の値を変更したり、一文字加えたりしました。
> テストでは表示行の1行目であったり、3行目だったりと行を変更して試しました。

顧客名に何という文字を書き加えたのかは示されていませんが、
少なくとも 1 行目と 3 行目で発生したことが確認されており、
かつ、文字列の内容に依存しているわけでは無さそう、ということですね。


エラーメッセージの英語表記「one or more required parameters」でも
検索してみていますが、今のところ、追加の情報は見当たりません。

同じ mdb を使っているのに再現性が異なるとなると…あと思いつくのは
実行環境の差異ぐらいですね。
Windows Update の最終更新日はいつですか?
引用返信 編集キー/
■97286 / inTopicNo.39)  Re[23]: VS2019 + Access MDBでエラーが発生
□投稿者/ てっちゃん (22回)-(2021/04/21(Wed) 17:14:43)
No97285 (魔界の仮面弁士 さん) に返信

魔界の仮面弁士様

> 原因を突き止めないと安心はできませんが、ひとまず回避策が見つかって良かったです。

おかげさまで開発に向けて一歩進むことが出来ました。
当初の主キーが日本語だと編集・削除が出来ないという状況では、現行システム側との
兼ね合いもありかなりの工数がかかるのではと心配しておりました。
本当にありがとうございました。

> ファイル以外の要因(たとえば、特定の環境と設定の組み合わせなど)に
> 依存していたりすると、再発の危険性は否定できませんけれども。

そうなると開発環境と実行環境が違うと起きるかもしれませんね。

> >>> キー : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Sorting\Versions]

レジストリを確認したところ名前とデータは下記の通りでした。(種類は全てREG_SZ)

(既定) 00060305
000601xx SortWindows61.dll
000602xx SortWindows62.dll
000603xx kernel32.dll
FF0000xx SortServer2003Compat.dll
FF0406xx SortWindows6Compat.dll
FF0502xx SortWindows6Compat.dll

> 少なくとも 1 行目と 3 行目で発生したことが確認されており、
> かつ、文字列の内容に依存しているわけでは無さそう、ということですね。

エラーが発生した時は半角の「1」でも全角の「あ」でも発生しました。
ですので文字列の内容に依存しているわけでは無いと思います。


> Windows Update の最終更新日はいつですか?

4/14にKB5001330とServicing Stack 10.0.19041.925 の更新履歴があります。

よろしくお願いいたします。


引用返信 編集キー/
■97383 / inTopicNo.40)  Re[23]: VS2019 + Access MDBでエラーが発生
 
□投稿者/ てっちゃん (23回)-(2021/05/01(Sat) 17:23:41)
No97285 (魔界の仮面弁士 さん) に返信

魔界の仮面弁士様、WebSurfer様

今回の質問であるAccess MDBの主キーのフィールド名が日本語の場合エラーが発生し、1バイト文字に
変更するとエラーが解消される、そしてその後再度フィールド名を日本語に戻してもエラーは発生しない
という事象は、お二人のおかげで現在使用中のMDB内に何らかの不具合があり、それが不可解な現象の
原因で、新規作成や新たにテーブルのみインポートしたMDBの場合(もちろん不具合のないMDBはそのまま
でも問題なし)は主キーのフィールド名が日本語でも問題なく使えることがわかりました。

別要因の調査は残っておりますが、ひとまず本来の質問は解決しましたのでスレッドを「解決済み」と
させていただきます。

魔界の仮面弁士様、WebSurfer様、本当にありがとうございました。


解決済み
引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -