問題タブ [jet]

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 投票する
3 に答える
1331 参照

excel - OleDB Jet - Excel データの読み取りにおけるフロートの問題

OleDbDataReader を使用してシートを DataTable に読み込むと、浮動小数点数の精度が失われます。

OleDb に Excel データを文字列として読み取らせようとしましたが、データは System.String として定義された各列を持つ DataRow に含まれるようになりましたが、精度が失われます (18.125 -> 18.124962832)。

この動作を回避する方法はありますか?

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

excel - Jet で特定の Excel シートにアクセスする際のエラー

サーバーでホストされている Excel 2003 ドキュメントを開くために ASP.NET を使用しています。私の管理外のシステムによって作成された Excel スプレッドシートには、5 つの名前付きワークシートがあります。次のように各シートのデータにアクセスします (読みやすくするために改行を追加しています)。

これは 5 枚中 3 枚で機能します。他の 2 つはこのエラーをスローします。

Microsoft Jet データベース エンジンは、オブジェクト 'mysheet' を見つけることができませんでした。オブジェクトが存在すること、およびその名前とパス名のつづりが正しいことを確認してください。

下部のタブのテキストを調べ、これが Excel で生成する文字列の末尾を調べることで、シート名を 4 重にチェックしました。

接続文字列は 1 回指定され、5 つのシートすべてで再利用されます。

Excel で表示される名前と一致しない文字列でシートを参照する必要がある可能性はありますか? たぶん隠し文字、スペースなど?シートの本当の名前を見つける別の方法はありますか? このデータを取得するための他の提案はありますか?

注: Excel ドキュメントを変更することはできません (自分のやり方でできれば、SSIS を使用して CSV をインポートしたはずです)。

.NET 3.5 / II6 を使用しています。

0 投票する
2 に答える
6213 参照

sql - 2つのSQLクエリを組み合わせる方法は?

在庫テーブルがあり、注文されたアイテムの頻度を示すレポートを作成したいと思います。

「ストック」テーブル:

基本的に、これら2つのクエリを結合する必要があります。

在庫残高を出力するクエリ:

販売統計を出力するクエリ

ある種のJOINでうまくいくと思いますが、クエリを結合する方法がわかりません。

必要な出力:

これは単なる例です。列が多いので、条件を追加する必要があるかもしれません。複数のクエリを組み合わせる普遍的な手法はありますか?

0 投票する
3 に答える
1412 参照

sql - JET SQL: LEFT JOINS と RIGHT JOINS は JET 4.0 以降でのみ機能しますか?

次の記事は、JET のすべての使用 (DAO または OLEDB を介したクライアント アプリ内からを含む) に適用されますか?

http://support.microsoft.com/kb/275058

これは、JET 4.0 以降が Access MDB に関連するものに必須であることを意味しますか?

0 投票する
2 に答える
1234 参照

ms-access - MDB ファイルを圧縮するときのエラー 3112 は何を示していますか?

MDB ファイルを圧縮するときのエラー 3112 は何を示していますか?

エラーの説明は、「レコードを読み取れません。'xyz123.mdb' に対する読み取り権限がありません」です。

一部のバージョンの Access MDB では、Compact 関数に既知の問題があります。この場合の解決策は、このファイルに対して Microsoft ユーティリティ JETCOMP.EXE を実行することですか?

このエラーの他の考えられる原因は何ですか?

0 投票する
2 に答える
9072 参照

c# - ファイルベースのデータベースで TableAdapter.Update を使用して新しい行を挿入するときに ID を取得する

自動インクリメント整数である ID と呼ばれる 1 つのフィールドを持つデータベース テーブルがあります。TableAdapter を使用すると、既存の行を読み取って変更したり、新しい行を作成したりできます。

ただし、新しく挿入された行を変更しようとすると、DBConcurrencyException が発生します。

別の質問ですが、新しい行を挿入するたびにテーブルを作成する必要がないように、使用できる NewShiftRow() メソッドの静的タイプはありますか。

コードの問題は、最初の Update() 呼び出しの後でも -1 である row.ID に起因すると思います。挿入は成功し、データベース内の行には ID の有効な値があります。

2 番目の Update 呼び出しを続行できるように、その ID を取得するにはどうすればよいですか?

アップデート:

これは、この設定を使用して自動的に実行できたようです。ただし、msdn socialの回答によると、OLEDB ドライバーはこの機能をサポートしていません。

ここからどこへ行けばよいかわからない場合は、oledb 以外のものを使用しますか?

アップデート:

SQLCompact を試してみましたが、同じ制限があることがわかりました。複数のステートメントはサポートされていません。

最後の質問: 挿入された行の値を取得できる単純な (単一ファイル ベースの) データベースはありますか。

0 投票する
4 に答える
10011 参照

c# - Jetデータベースエンジンタイプをプログラムで決定する方法

開いているAccess(Jet)データベースをJET Version4.xにアップグレードする必要があるプログラムがあります(まだそのバージョンでない場合)。(これにより、SQL-92構文機能の使用が可能になります)

アップグレードは(比較的)簡単です。JRO.JetEngineオブジェクトのCompactDatabaseメソッド(ここで説明)を呼び出すとうまくいくはずですが、これを行う前に、アップグレードが必要かどうかを判断する必要があります。既存のデータベースのJetOLEDB:Engineタイプを確認するにはどうすればよいですか?これは、開いているOleDBConnectionから判別できますか?

ノート:

  1. Jetライブラリのバージョンではなく、データベースのバージョンについて話しています。
  2. C#または.Netソリューションは大歓迎です。
  3. これは、Accessアプリケーションではなく、Jetエンジンを使用するアプリケーションです。
0 投票する
1 に答える
1905 参照

php - LAMP で実行されている MDB ファイルからバイナリ データを読み取る

LAMP 環境 (Linux 上で実行) で MDB ファイルに接続し、最終的に変換されたデータを Mysql db に挿入できるようにする必要があります。

  • Long Binary Dataアクセスする必要があるデータは、MDB ファイルに(Access によると) BLOB として格納されます。データを実際に見ることはまだできていませんが、BLOB はバイト文字列で構成されていると言われています。次のようなもの:

    0x1c 0x10 0x27 0x00 0x00


  • バイト文字列を解析し、人間が読める形式に変換する必要があります。 さまざまなバイト文字列
    を説明するドキュメントにアクセスできます。

したがって、これは実際には 2 つの質問です。

  1. PHP* (LAMP で実行) 経由で MDB ファイルにアクセスし、BLOB を読み取るにはどうすればよいですか (Windows プラットフォームにアクセスできません)。
  2. MDB ファイルに接続できるようになったら、(PHP* で) バイナリー・データを解析する最良の方法は何でしょうか?

*または、より適切な他の方法/言語はありますか?

0 投票する
3 に答える
219 参照

sql - このJETSQLクエリを支援する

このクエリ選択を行うには助けが必要です。

たとえば、次のフィールドがあります。

  • idInvoice
  • 日にち

日付に応じて、 x番号または他の数値のフィールド「金額」を乗算する必要があります。

たとえば、日付が2010年1月1日より少ない場合、20を掛けます。しかし、それがメジャーまたは35の乗算に等しい場合

0 投票する
2 に答える
2304 参照

vb6 - VB6: エラー 3078 の考えられる原因は何ですか " ... Jet データベース エンジンは入力テーブルまたはクエリを見つけることができません ... "

VB6: エラー 3078 の考えられる原因は何ですか " ... Jet データベース エンジンは入力テーブルまたはクエリを見つけることができません ... "