ソフト開発塾 2001/05/11の質問

Jet/Dao 主キーの生成
フィールドの配列

1.KM_010 と KM_020 をあわせてひとつの主KEYにする方法
2.そのKEYをリレーション作成で定義する方法
3.KM_210 から KM_260 までを配列宣言する方法
4.そのフィールドを使用するときの記述は・・・・
A>1.KM_010 と KM_020 をあわせてひとつの主KEYにする方法 プログラム上問題ないと思いますが?
下記ソースでテストしましたが、主キーは作成されていました。
    Dim DB As Database
     Set DB = OpenDatabase("C:\TESTDB.mdb")

    Dim TB As TableDef
    Set TB = DB.CreateTableDef("Tb_HNS_KM")
    Dim FD As Field
    Set FD = TB.CreateField("KM_010", dbText, 1)
    FD.Required = True
    TB.Fields.Append FD
    Set FD = TB.CreateField("KM_020", dbText, 5)
    FD.Required = True
    TB.Fields.Append FD
    Dim IX As Index
    Set IX = TB.CreateIndex("KM_KEY")
    IX.Primary = True
    IX.Fields.Append IX.CreateField("KM_010")
    IX.Fields.Append IX.CreateField("KM_020")
    TB.Indexes.Append IX
    DB.TableDefs.Append TB

A2>リレーションは、各フィールドで行う必要があると思います
ソースから推測すると
CK_000とKM_010+KM_020のリレーションでしょうか?

 

 A3−4>フィールドを配列にすることはできないと思います。
但し、フィールドを変数(FOR NEXT)で処理する方法は、あります。

3.KM_210 から KM_260 までを配列宣言
参考に
    Dim MySet As Recordset
    Set MySet = DB.OpenRecordset("SELECT ........")
    Dim i As Integer
    For i = 1 To 6
        xx(i) = MySet.Fields("KM_2" & i & "0")
    Next
みたいな考え方では、どうなんでしょう?
 
 

 


ソフト開発塾の掲示板の入り口ここにも設置


トップページ ソフト開発塾 リンク集へ

今日のアクセス人目