datagrid显示多张数据表问题。
- VB code
Private Sub Label1_Click(index As Integer)On Error Resume Next Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\kehuguanlidata.mdb;Persist Security Info=False " Select Case index Case 1 Adodc1.RecordSource = "Select * from jinku " Case 2 Adodc1.RecordSource = "Select * from xiaoshou " Case 3 Adodc1.RecordSource = "Select * from monthtable " Case 4 Adodc1.RecordSource = "Select * from 进货单 " Case 5 Adodc1.RecordSource = "Select * from 开支账单 " Case 6'退出 For i = 1 To Label1.Count Label1(i).Visible = False Next i DataGrid1.Visible = FalseEnd Select If index <> 6 Then Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh DataGrid1.Visible = True End IfEnd SubPrivate Sub Label1_MouseMove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)ChangeColor (index)End Sub
这段代码的作用是,当点击不同的标签时,显示相应的数据表。现在的问题是,当DataGrid1第一次加载时能正确显示,目标数据表。如果希望显示另一张数据表表时,DataGrid1不能预期显示相应的数据表。谢谢
[解决办法]
你试一下, 在这句Set DataGrid1.DataSource = Adodc1上面加一句:
Set DataGrid1.DataSource = Nothing
[解决办法]
Private Sub Label1_Click(index As Integer)
On Error Resume Next
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\kehuguanlidata.mdb;Persist Security Info=False "
Select Case index
Case 1
Adodc1.RecordSource = "Select * from jinku "
Case 2
Adodc1.RecordSource = "Select * from xiaoshou "
Case 3
Adodc1.RecordSource = "Select * from monthtable "
Case 4
Adodc1.RecordSource = "Select * from 进货单 "
Case 5
Adodc1.RecordSource = "Select * from 开支账单 "
Case 6'退出
For i = 1 To Label1.Count
Label1(i).Visible = False
Next i
DataGrid1.Visible = False
End Select
If index <> 6 Then
ADODC1.refresh'必须
Set DataGrid1.DataSource = Adodc1
DataGrid1.Visible = True
End If
End Sub
Private Sub Label1_MouseMove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
ChangeColor (index)
End Sub