代码如下,是一个打印功能代码
Dim rs As ADODB.Recordset
Dim con As New ADODB.Connection
Dim mysql As String
Dim gzxx, jj, kk, bf, hz As Node '声明TreeView1节点
Dim i, s As Integer 's用来记录数据库的字段数,I用来作为循环变量
Private Sub Command1_Click()
prtfg1.打印 DataGrid1
End Sub
Private Sub Command2_Click()
Me.Hide
Command1.Enabled = False
End SubPrivate Sub Form_Load()
Set con = New ADODB.Connection
con.ConnectionString = "provider=Microsoft.jet.oledb.4.0;data source=gzgl.mdb;persist security info=false"
con.CursorLocation = adUseClient
con.Open
mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
'设置TreeView1中所要显示的节点名称
Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
Set DataGrid1.DataSource = rs '设置DataGrid1数据源
s = rs.Fields.Count
For i = 0 To s - 1
'循环设置DataGrid1中各列宽度
DataGrid1.Columns(i).Width = 1300
Next i
Command1.Enabled = False '只有当显示了工资条信息后"打印"按钮才可以使用
End Sub
Private Sub Form_Resize()
'窗口位置和大小布局
TreeView1.Height = Me.Height - Toolbar1.Height
DataGrid1.Width = Me.Width - TreeView1.Width
DataGrid1.Height = Me.Height - Toolbar1.Height
Toolbar1.Top = DataGrid1.Height
Toolbar1.Width = Me.Width
Command1.Left = Me.Width / 2 - (Command1.Width + Command2.Width) / 2
Command2.Left = Me.Width / 2
End SubPrivate Sub TreeView1_Click()
Select Case TreeView1.SelectedItem.Index
Case 1 '单击"工资信息"节点
mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 1300
Next i
Case 2 '单击"奖金汇总"节点
mysql = "select 姓名,科室,职务,奖金 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 3 '单击"扣款汇总"节点
mysql = "select 姓名,科室,职务,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 4 '单击"补助汇总"节点
mysql = "select 姓名,科室,职务,津贴 + 洗理 + 书报 + 交通 as 补助汇总 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 5 '单击"工资条信息"节点
mysql = "select 姓名,科室,职务,基本工资,奖金,津贴 + 洗理 + 书报 + 交通 as 补助,基本工资 + 奖金 + 津贴 + 洗理 + 书报 + 交通 as 应发工资,工资扣 as 应扣工资, 应发工资-应扣工资 as 实发工资 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 1445
Next i
Command1.Enabled = True
End Select
End Sub编译中光标停留在下面这一段代码的最后一行
Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
Set DataGrid1.DataSource = rs '设置DataGrid1数据源
提示说实时错误“424”,要求对象,我觉得应该是DataGrid1的问题,可是我不知道具体怎么回事。请各位高手指点,毕业设计来的,很急
Dim rs As ADODB.Recordset
Dim con As New ADODB.Connection
Dim mysql As String
Dim gzxx, jj, kk, bf, hz As Node '声明TreeView1节点
Dim i, s As Integer 's用来记录数据库的字段数,I用来作为循环变量
Private Sub Command1_Click()
prtfg1.打印 DataGrid1
End Sub
Private Sub Command2_Click()
Me.Hide
Command1.Enabled = False
End SubPrivate Sub Form_Load()
Set con = New ADODB.Connection
con.ConnectionString = "provider=Microsoft.jet.oledb.4.0;data source=gzgl.mdb;persist security info=false"
con.CursorLocation = adUseClient
con.Open
mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
'设置TreeView1中所要显示的节点名称
Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
Set DataGrid1.DataSource = rs '设置DataGrid1数据源
s = rs.Fields.Count
For i = 0 To s - 1
'循环设置DataGrid1中各列宽度
DataGrid1.Columns(i).Width = 1300
Next i
Command1.Enabled = False '只有当显示了工资条信息后"打印"按钮才可以使用
End Sub
Private Sub Form_Resize()
'窗口位置和大小布局
TreeView1.Height = Me.Height - Toolbar1.Height
DataGrid1.Width = Me.Width - TreeView1.Width
DataGrid1.Height = Me.Height - Toolbar1.Height
Toolbar1.Top = DataGrid1.Height
Toolbar1.Width = Me.Width
Command1.Left = Me.Width / 2 - (Command1.Width + Command2.Width) / 2
Command2.Left = Me.Width / 2
End SubPrivate Sub TreeView1_Click()
Select Case TreeView1.SelectedItem.Index
Case 1 '单击"工资信息"节点
mysql = "select 姓名,科室,职务,基本工资,津贴,奖金,洗理,书报,交通,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 1300
Next i
Case 2 '单击"奖金汇总"节点
mysql = "select 姓名,科室,职务,奖金 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 3 '单击"扣款汇总"节点
mysql = "select 姓名,科室,职务,工资扣 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 4 '单击"补助汇总"节点
mysql = "select 姓名,科室,职务,津贴 + 洗理 + 书报 + 交通 as 补助汇总 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 3200
Next i
Case 5 '单击"工资条信息"节点
mysql = "select 姓名,科室,职务,基本工资,奖金,津贴 + 洗理 + 书报 + 交通 as 补助,基本工资 + 奖金 + 津贴 + 洗理 + 书报 + 交通 as 应发工资,工资扣 as 应扣工资, 应发工资-应扣工资 as 实发工资 from 员工信息,工资总 where 员工信息.编号=工资总.编号"
Set rs = con.Execute(mysql)
Set DataGrid1.DataSource = rs
s = rs.Fields.Count
For i = 0 To s - 1
DataGrid1.Columns(i).Width = 1445
Next i
Command1.Enabled = True
End Select
End Sub编译中光标停留在下面这一段代码的最后一行
Set gzxx = TreeView1.Nodes.Add(, , "gzxx", "工资信息")
Set jj = TreeView1.Nodes.Add(, , "jj", "奖金汇总")
Set kk = TreeView1.Nodes.Add(, , "kk", "扣款汇总")
Set bf = TreeView1.Nodes.Add(, , "bf", "补助汇总")
Set hz = TreeView1.Nodes.Add(, , "hz", "工资条信息")
Set DataGrid1.DataSource = rs '设置DataGrid1数据源
提示说实时错误“424”,要求对象,我觉得应该是DataGrid1的问题,可是我不知道具体怎么回事。请各位高手指点,毕业设计来的,很急
里面好像有一个什么属性,用来设置是否可以动态添加元素的,
如果你不改它的属性,默认是不可以动态添加的
好像得datamode设为2就可以了