要实现一个表,具体功能是这样的,在vb6 下的form1窗体里用datagrid 显示一个表的信息,然后以列的字段新建一张表,例如在datagrid表里面有一列,列名叫项目,在这一列里面有工资项目,职务,等一些其他项,如果我对这个表的其中某一项进行修改,然后再新建一张这样的表,改怎么弄,我这里只有一种见表的代码
Dim cat As New ADOX.Catalog
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim tbl As New Table
Dim s As String
MsgBox "你确定建立这种样式的表么?"
s = InputBox("请输入建表的表名:", "建表提示")
If s = "" Then Exit Sub
cat.ActiveConnection = pstr
tbl.Name = s '表的名称
tbl.Columns.Append "警号", adInteger '表的第一个字段
tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "应发工资", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "实发工资", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "职务", adVarWChar, 50 '表的第三个字段
tbl.Columns.Append "工作类型", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "级别", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "警衔", adVarWChar, 50 '表的第三个字段
tbl.Columns.Append "地方补贴", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "其他", adVarWChar, 50 '表的第二个字段
cat.Tables.Append tbl '建立数据表
conn.Open pstr
rs.CursorLocation = adUseClient
conn.Close
Set rs = Nothing
Set conn = Nothing
MsgBox "建表 " & s & " 成功!", 64, "提示"
这个是固定模式的见表,我想实现动态的改怎么弄,呢
Dim cat As New ADOX.Catalog
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim tbl As New Table
Dim s As String
MsgBox "你确定建立这种样式的表么?"
s = InputBox("请输入建表的表名:", "建表提示")
If s = "" Then Exit Sub
cat.ActiveConnection = pstr
tbl.Name = s '表的名称
tbl.Columns.Append "警号", adInteger '表的第一个字段
tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "应发工资", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "实发工资", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "职务", adVarWChar, 50 '表的第三个字段
tbl.Columns.Append "工作类型", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "级别", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "警衔", adVarWChar, 50 '表的第三个字段
tbl.Columns.Append "地方补贴", adVarWChar, 50 '表的第一个字段
tbl.Columns.Append "其他", adVarWChar, 50 '表的第二个字段
cat.Tables.Append tbl '建立数据表
conn.Open pstr
rs.CursorLocation = adUseClient
conn.Close
Set rs = Nothing
Set conn = Nothing
MsgBox "建表 " & s & " 成功!", 64, "提示"
这个是固定模式的见表,我想实现动态的改怎么弄,呢
http://topic.csdn.net/u/20090623/15/83fd893b-1ca1-42aa-932f-d7abb284a55e.html?27530
假如表是MSFlexGrid
tbl.Columns.Append MSFlexGrid1.TextMatrix(1,1), MSFlexGrid1.TextMatrix(1,5) '表的第一个字段这样就可以动态建表
dim a as string
a=datagrid.text(可能是这个属性)
tbl.Columns.Append a, adVarWChar, 50 '表的第二个字段
但是 报错 说制定的列名不唯一,那位指点一下呀
n = 5 'DataGrid1的记录数
ReDim snow(n, 1)
For i = 0 To n
DataGrid1.Row = i
snow(i, 0) = DataGrid1.Columns(0).Value '得到第一列值
'snow(i, 1) = DataGrid1.Columns(1).Value '得到第二列值,假设为字段类型
tbl.Columns.Append snow(i, 0), adVarWChar, 50 '循环建表的字段,默认为字符型
Next i
将这段代码嵌入到楼主的固定建表代码里即可,方便期间表的字段默认为字符型