問題タブ [ms-access-2000]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
923 参照

vba - VBAからSQLに設定されたサブフォームレコードソースのハングにアクセスする

データベースに「検索」フォームがあり、文字列を取り込んで配列に分解し、選択した結合タイプ(「Or」、「And」、または「ExactPhrase」ラジオボタン)に基づいてSQL文字列を作成します。私のコードは95%の確率で完全に機能しますが、さまざまな結合タイプを切り替えて再クエリを実行すると、データベースがハングすることがあります。SQLが正しく作成されていることを確認しました。問題は、サブフォームのロード中にサブフォームのレコードソースを変更しようとしたことが原因だと思います。

私の検索フォームが機能する正確な方法は次のとおりです。

  1. ユーザーが検索語/フレーズをテキストボックスに入力します
  2. テキストボックスの「更新後」イベントで、VBAはSQL文字列を作成し、それを非表示のテキストフィールド(「ModifiedSearchValue」と呼ばれる)に格納します。
  3. ユーザーが結合タイプ(オプション "Or"、 "And"、または "Exact Phrase"のラジオボタン)を変更すると、グループの "After Update"イベントがVBAサブを呼び出し(#2のように)、VBAがSQL文字列を作成します非表示のテキストフィールド(「ModifiedSearchValue」と呼ばれる)に格納されます
  4. ユーザーが[検索]ボタンを押すと、VBAはサブフォームのRecordSourceを次の方法で「ModifiedSearchValue」の値に設定します。

    Me!Results.Form.RecordSource = Me.ModifiedSearchValue

繰り返しになりますが、これはほとんどの場合完全に機能しますが、検索語を入力して[検索]をクリックし、結合タイプを変更してもう一度[検索]をクリックすると、データベースが約5%ハングします。

私の主なVBAコードは次のとおりです

繰り返しになりますが、私の理論では、前回の検索からの読み込みが完了する前にサブフォームのRecordSourceを変更することでハングが発生しますが、回避策を特定できないようです。

ありとあらゆる洞察/ヘルプを事前に感謝します!

0 投票する
1 に答える
4916 参照

ms-access-2003 - 文字列 MsAccess 2000 に文字を追加する

私は1つのフィールドを持つテーブルを持っています:

MsAccess 2000 データベースで、各レコードの前に「0」を追加し、5 番目の文字の後に「-」(ダッシュ) を追加する必要があります。

私の目標は:

ご協力ありがとう御座います。

0 投票する
1 に答える
347 参照

vba - Access 2000 でオペレータが見つからないというエラーが発生しましたか?

コンボ フィールドの onchange イベントで vba コードを使用しています。コードは以下の通りです

これは問題なく動作しますが、クエリ式 'Name=' Dr. でエラー 3075 構文エラー (演算子がありません) が発生します。レディーの研究室です。

これは、名前フィールドの値にアポストロフィなどの特殊文字が含まれている場合です。どうすればこのエラーを取り除くことができますか?

この問題を解決するために私を助けてください。

0 投票する
1 に答える
93 参照

c# - ルートからデータをフィルタリングする方法はありますか?

Webアプリケーション自体からデータをフィルタリングすることはできますが、ルートからこれを処理する方法はありませんか?

たとえば、電話番号をフィルタリングするには、次のようにします。+(12)345 678 91 /011

私が現在行っているWebアプリケーションを介した正規表現を使用して:

私がやりたいのは、データを収集してから更新することです。

0 投票する
1 に答える
2938 参照

ms-access - MS Access サブデータシートをレンダリングするために追加のクリックが必要になることがあるのはなぜですか?

MS Access 2003 を使用して、SQL Server 2005 Standard バックエンドにリンクする MS Access 2000 .mdb を開いています (MSSQL とローカルの Jet テーブルの両方を使用して問題をテストし、再現しました。この質問に SQL Server のタグを付けます)。

サブフォーム内のすべてのレコードに対して 11 のレコードを持つサブデータシートがあります。サブフォームのレコード数が少ない場合 (7 ~ 10 レコード)、サブデータシートの小さな [+] は期待どおりに動作します。

ただし、サブフォームのレコード数が 40 ~ 48 レコード程度になると、動作が変わります。小さなプラス記号/拡張アイコンをクリックすると、Access によって必要に応じて領域が拡張されますが、完全に白/空白で、データが表示されません。まずサブフォーム レコードをクリックし、サブデータシートにデータが表示される前に展開アイコンをクリックする必要があります。この状況下では他にも奇妙な動作がありますが、サブフォーム レコードにサブデータシートのデータを表示させるための唯一の一貫した信頼できる方法です。

次のスクリーンショットは、先ほど説明したトリックと空白のデータのシナリオを使用して展開が成功したことを示しています。

サブフォームとサブデータシートのスクリーンショット

Google 検索は役に立たないことが判明しました。以下は私が見つけた最高のものです。

また、大きなテーブルにサブデータシートを追加すると、テーブルのパフォーマンスに悪影響を及ぼす可能性があることにも注意してください。-- MS Office の記事、サブデータシートを追加

40 ~ 48 レコードが「大きい」と見なされるとは思いませんし、「パフォーマンス」が「奇妙な動作」と同義であるとは思いません。

私が試したこと:

  • サブデータシートのソース クエリを読み取り専用にします。
  • SubDatasheetName を [Auto] から明示的に宣言されたソース クエリに変更します。
  • サブデータシートのソース クエリのレコード数を制限して、各サブフォームのレコードにサブデータシートの行が 2 ~ 4 行だけ含まれるようにします。
0 投票する
1 に答える
771 参照

passwords - ユーザー名とパスワードを要求するパスワード保護されていない Access 2000 データベースを開く

Microsoft Access 2000 .MDB ファイルを開いて移行しようとしています。これは、現在、NT サーバーで途中で落ちており、作成者が長い間亡くなっている誰かの 10 年前の VB アプリで使用されているためです。9 月に MDB ファイルを近くの XP マシンにコピーし (Access がインストールされているため)、名前とパスワードを要求されたときに、ログインした Windows XP アカウントのものを使用して開くことができました。 .

しかし、11 月にもう一度試したところ、突然そのユーザー名とパスワードのペアが受け入れられなくなり、誰もマシンに触れていないと誰もが断言します。空のユーザー名、取得元の NT サーバーの「管理者」アカウントのログイン/パス、および以前に開いた XP マシンのすべてのアカウントを試しました。

Rixler Access Password RecoveryNirsoft の「accesspv.exe」など、いくつかのパスワード回復アプリを実行してみましたが、どちらもファイルがパスワードで保護されていないと言っています。したがって、それ自体は「データベース」パスワードではなく、アカウント情報が必要なだけで、必要なユーザー名すらわかりません。

MDWファイルの方法で見つけたものを読みました。XPワークステーションでそのようなものを3つ見つけたので、アカウント名を探している場合に備えてすべての名前を変更しようとしましたが、結果も同じです.

ビルドされた半分壊れた VB アプリは、どうやらまだ開いていて、データベースを正常に使用しているようです。残念ながら、そのソースコードは見つかりませんでした。

パスワードで保護されていない MDB ファイルの資格情報に関して、Access 2000 が何を望んでいるのか、またアクセスする方法を知っている人はいますか?

ありがとう。

0 投票する
1 に答える
513 参照

c# - SQLサーバーに挿入

msアクセスからSQLサーバーにデータを挿入する必要があります。私の論理は次のとおりです。

  1. ms アクセスで名前のリストを取得します。

  2. 挿入前に外部キーとトリガーを無効にします。

  3. 各表を読んでください。

  4. SetAdded() メソッドで各行の RowState を変更します。

  5. 最後にコマンドビルダーを使用して挿入します

エラー

テーブルの 1 つのフィールド (Ms Access ) のデータ型は Date/Time です。しかし、それは時間値 NO DATE 部分しか得られませんでした。挿入中にエラーが発生します。" SqlDateTime オーバーフロー。1753 年 1 月 1 日午前 12:00:00 から 9999 年 12 月 31 日午後 11:59:59 の間である必要があります。"

データセット ビジュアライザーで、1899 年 12 月 30 日 1:01:01 AM の値を見ました。

それを解決する方法。

0 投票する
1 に答える
956 参照

ms-access - SQL クエリでリスト ボックスのデータを使用する

リストボックスを含むフォームがあります。リスト ボックスには SELECT クエリの結果が表示されます。ユーザーがボタンを押して、リスト ボックスで選択されているアイテムを削除できるようにしたいと考えています。ユーザーがボタンをクリックしたときに実行したいクエリを次に示します。

問題は、リスト ボックスの選択から現在の ClientID にアクセスする方法がわからないことです。SQL クエリで選択した項目のリスト ボックスの各列のデータにアクセスするにはどうすればよいでしょうか?

現時点では、Access にあまり慣れていません。

0 投票する
1 に答える
10501 参照

ms-access - リストボックスの選択に基づいてサブフォームを更新する

まず第一に、私はこれに似た他の質問を読んだことがありますが、それらは問題を解決していません。

サブフォームを含むフォームがあります。マスターフォームには、テーブル内のすべてのエントリを表示するリストボックスがあり(ただし、3つのフィールドのみが表示されます)、サブフォームは、リストボックスで選択されたレコードに関連付けられたすべてのデータを表示するように設計されています。

リンクマスターフィールドとリンク子フィールドをClientIDに設定しました(表はクライアント情報用です)。マスターフォームを最初に開いたとき、サブフォームにはリストボックスの最初の項目のデータが表示されますが、リストボックスで別の項目を選択すると、サブフォームは更新されません。Requery VBAメソッドを使用してみましたが、あまり成功しませんでした。

誰かヒントはありますか?

0 投票する
0 に答える
38 参照

ms-access-2000 - Access 2000 分割データベースを SQL バックエンドに適応させる

10 年以上前に作成された Access 2000 データベースがあります。元のクリエイターはとうの昔にいなくなっています。ローカル ネットワーク上のファイル サーバー上の共有フォルダーに保存されます。ファイルのサイズは 250MB を超え、ネットワーク上の 10 から 20 のローカル ユーザーがアクセスしています。私たちは今でもマシンにロードされた Access 2000 を使用してファイルを開きます。また、Access の分割ツールを使用してデータベースを FE ファイルと BE ファイルに分割し、処理速度を上げました。現在、FE/BE アプローチを使用しており、サーバーに保存されている 1 つの FE ファイルにもアクセスしています。

私はそれを試して最適化するために他に何ができるかを理解しようとしています。BE を SQL サーバーに移動しますか? 各マシンに FE のローカル コピーを配置しますか? 自分自身に火をつけて、最高のものを望みますか?

DB の置き換えを検討していますが、計画はせいぜい 1 年以上先のパイプラインにあります。