2

私が取り組んでいるプロジェクトの一部は、最終成果物となる一連の MDB ファイルをプログラムで作成することです。クライアントからの仕様では、テーブルの一部のフィールドに小数点以下 3 桁が必要です。

最初にpythonを使用してmdbファイルを作成し、次に列をDECIMAL(10,3)に変更できるようにするために、ADODB(C#、.NET 4.0)を使用します-Pythonで適切なものが見つからなかったためです。問題は、これがクライアントにとって十分ではないということです。彼らは、MDB を開いてデザイン モードで、これらのフィールドの小数点以下の桁数が 3 に設定されていることを確認したいと考えています。そうでない場合、ファイルは受け入れられません。

解決策を考え出すのに 3 日間の大半を費やしました。有力な候補の 1 つは DAO と Field2 オブジェクトでしたが、このオブジェクトは今のところわかりません。Microsoft DAO 3.6 オブジェクトを使用していますが、Field2 はアセンブリの一部ではないようです。そして、これが実際に必要なことを行うかどうかさえわかりません...

これを行う方法を知っている人はいますか?正直に言うと、DAO、ADO、OLEDB、またはその他の 3 文字の頭字語であるかどうかは気にしませんか? これからどうやって得ることができますか:

ここに画像の説明を入力

これに-プログラム的に??

ここに画像の説明を入力

4

2 に答える 2

1

VBA/DAO でこれを行う方法を教えてください。アイデアが得られるかもしれません。最初にプロパティを追加する必要があります。

sSQL = "create table testX (id counter, anumber decimal(10,3))"
CurrentProject.Connection.Execute sSQL

Dim db As Database
Dim tdf As TableDef
Dim fld As dao.Field

Set db = CurrentDb

Set tdf = db.TableDefs("testX")
Set fld = tdf.Fields("anumber")
'fld.Properties("DecimalPlaces") = 3
Set prp = fld.CreateProperty("DecimalPlaces", dbByte, 3)
tdf.Fields("anumber").Properties.Append prp
于 2012-08-02T15:05:41.987 に答える