0

MS Access 2007 データベースがあります。コロンビアとエクアドルの一部のクライアントで、米国とは番号付けの形式が異なるという問題が発生しました (そして、さらに多くの問題が発生すると確信しています)。100 万と 1000 の区切り文字には小数点 (またはピリオド) 文字を使用し、小数点には "," カンマ文字を使用します。これにより、タイプの不一致エラーが発生するか、フィールドの内容を確認するために IsNumeric() 関数のみを使用していますが、独自の検証でエラーとしてキャッチされます。

MS Access は、ユーザーの Windows 設定で設定されている地域のキーボード形式を認識すると思います。

誰かが私のためにこれに光を当てることができますか? 現時点で、唯一の解決策は、ユーザーのキーボード設定を変更して、100 万と 1000 の区切り文字に「,」を使用し、「.」を使用することです。小数の場合。

どんな助けでも大歓迎です!:-)

4

4 に答える 4

1

解決策の 1 つは、関連するすべてのフィールドで replace() を実行して、カンマが存在する場合はピリオドに変換することです。

于 2012-07-19T16:37:57.087 に答える
0

わかりました、これが私が見つけたものです:

まず第一に、それが「タイプの不一致」であったと言って申し訳ありません。そうではありませんでした。エラー#2432:「入力した式に無効な構文が含まれているか、テキストデータを引用符で囲む必要があります」。エラーがEVAL()関数で発生していたことに気付きました。これは、文字列で実行する必要があります。私は最初に数値を文字列に変換していました。これは、小数とグループ区切り文字の地域設定が異なるものでは、「、」を小数ではなくコンマとして扱っていました。私の場合、コードは次のとおりです。

If Eval(CStr(cCtl.Value) & ">+" & strMinVal = True Then

そこで、 IAmBatmanの提案を使用して、フィールドでREPLACE()を実行しました。これはフィールド検証プロセス中だけなので、次のように実際のデータは変更されません。

If Eval(CStr(Replace(cCtl.Value),",",".")) & ">+" & strMinVal = True Then

レモウ、あなたはずっと正しかった。謙虚な謝罪。:-)

于 2012-07-19T22:45:25.237 に答える
-2

これは古い質問で、ms-access のみを尋ねたものですが、私のような問題に遭遇するかもしれません。次に、以下のオプションも検討できます。

  1. Web ページに Access データベースを使用している場合、この問題は IIS に関連している可能性があります。ドミトリー・パブロフの答えに感謝します

    • IIS 7 を開く
    • ウェブサイトを選択
    • .NET グローバリゼーションを開く
    • [文化] タブから、必要な文化と UI 文化を選択します。
    • iisreset を実行します
  2. この問題は、Visual Studio の設定に関連している可能性があります。Jim Mischel の 回答に感謝します

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);

于 2018-12-15T22:37:58.703 に答える