VBからAccessのフィールドプロパティを設定するには


Aika  2003-02-01 00:22:11  No: 76987

VBからAccess2000データベースのテーブルとフィールド(テキスト)の作成を行いました。
SQL内でキーの設定と値要求のプロパティは設定することができたのですが
空文字の許可とUnicode圧縮のプロパティの設定方法がわかりません。
よろしくお願いします。
作成したフィールドにADOでデータを入れるとフィールドサイズ分の文字列が強制的に
入ってしまい(255のフィールドに一文字入れると残りの分がスペースで埋まってしまう)
Unicode圧縮を変更したら直ったのでプロパティを変更しようと思ったしだいです


怪盗1417  2003-02-01 02:46:13  No: 76988

主要なプロパティは、
DAO.Field オブジェクトのプロパティとして存在します。
( AllowZeroLength プロパティなど)

しかし、主要でないプロパティは存在しません。
その場合は、
DAO.Field オブジェクトの CreateProperty メソッドで
新規プロパティを作成して下さい。
( Format プロパティなど)


魔界の仮面弁士  2003-02-01 09:39:33  No: 76989

Unicode圧縮ですが、これは ADOX.Columnオブジェクトの
カスタムプロパティ"Jet OLEDB:Compressed UNICODE Strings"が
相当します。

例えば、こんな感じです。

Dim oConnection As ADODB.Connection
Dim oCatalog As ADOX.Catalog
Dim oTable As ADOX.Table
  (中略)
Set oCatalog = CreateObject("ADOX.Catalog")
Set oCatalog.ActiveConnection = oConnection

oTable.Name = "MyNewTable"
With oTable.Columns
   .Append "AAA", adInteger
   .Append "BBB", adWChar, 50
   With .Item("BBB")
      Set .ParentCatalog = oCatalog
      .Properties("Jet OLEDB:Compressed UniCode Strings").Value = True
   End With
End With
oCatalog.Tables.Append oTable


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加