db_table_def.bas

来自「测绘工程中的前方交会,主要是摄影测量中运用的较多」· BAS 代码 · 共 53 行

BAS
53
字号
Attribute VB_Name = "DB_Table_Def"
Sub DB_T_Def(Ier)
'定义数据库表
Dim BInfTd As TableDef '基本参数表
Dim PotNameTd As TableDef '点号表
Dim BInfFlds(3) As Field
Dim PotnameFlds(4) As Field
Dim ResultTD As TableDef
Dim ResultFlds(3) As Field


Dim tmp As String, i As Integer
Dim arecord As Recordset
  
    Set g_MyWs = DBEngine.Workspaces(0)
    Set g_d_Base = g_MyWs.CreateDatabase(g_ProjectFile, dbLangGeneral, dbVersion30)
    
    Set PotNameTd = g_d_Base.CreateTableDef("点号表")
    Set BInfTd = g_d_Base.CreateTableDef("基本参数表")
    Set ResultTD = g_d_Base.CreateTableDef("结果表")
    '建立点号表
    Set PotnameFlds(0) = PotNameTd.CreateField("点号", dbText)
    Set PotnameFlds(1) = PotNameTd.CreateField("A_H", dbDouble)
    Set PotnameFlds(2) = PotNameTd.CreateField("A_V", dbDouble)
    Set PotnameFlds(3) = PotNameTd.CreateField("B_H", dbDouble)
    Set PotnameFlds(4) = PotNameTd.CreateField("B_V", dbDouble)
    For i = 0 To 4
        PotNameTd.Fields.Append PotnameFlds(i)
    Next i
    g_d_Base.TableDefs.Append PotNameTd
    '建立基本参数表

    Set BInfFlds(0) = BInfTd.CreateField("AB距离", dbDouble)
    Set BInfFlds(1) = BInfTd.CreateField("AB高差", dbDouble)
    Set BInfFlds(2) = BInfTd.CreateField("A点仪器高", dbDouble)
    Set BInfFlds(3) = BInfTd.CreateField("点个数", dbInteger)
    For i = 0 To 3
        BInfTd.Fields.Append BInfFlds(i)
    Next i
    g_d_Base.TableDefs.Append BInfTd
     
    Set ResultFlds(0) = ResultTD.CreateField("点号", dbText)
    Set ResultFlds(1) = ResultTD.CreateField("X", dbDouble)
    Set ResultFlds(2) = ResultTD.CreateField("Y", dbDouble)
    Set ResultFlds(3) = ResultTD.CreateField("Z", dbDouble)

    For i = 0 To 3
        ResultTD.Fields.Append ResultFlds(i)
    Next i
    g_d_Base.TableDefs.Append ResultTD
    Ier = 0
 End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?