比如第一次通过Command1选出了20条记录,然后按Command2新建一个名为a.xls的excel,并将这20条记录存进去;但是下一次通过Command1选出10条记录,然后按Command2新建一个名为b.xls的 excel,将这10条记录存进去。发现b.xls的前10条记录是第二次选择得到的,但是后面还有10条,是a.xls的后10条,请问如何写代码可以做到不覆盖,b.xls只有10条记录,每次保存的excel只有最近一次选出来的记录,谢谢
比如第一次通过Command1选出了20条记录,然后按Command2新建一个名为a.xls的excel,并将这20条记录存进去;但是下一次通过Command1选出10条记录,然后按Command2新建一个名为b.xls的 excel,将这10条记录存进去。发现b.xls的前10条记录是第二次选择得到的,但是后面还有10条,是a.xls的后10条,请问如何写代码可以做到不覆盖,b.xls只有10条记录,每次保存的excel只有最近一次选出来的记录,谢谢
Private Sub Command1_Click()
'''下句为按日查询语句''''
sqlstr1 = " select * from [sheet1$] where year(时间)= '" & year & "'and month(时间)='" & month & "'and day(时间)='" & day & "' "
Adodc1.RecordSource = sqlstr1
Adodc1.Refresh'''''datagrid显示所查询的温度''''
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
End Sub
'Command2按路径新建一个excle文件,将Command1选出的记录保存在该文件中
Private Sub Command2_Click()
Dim recordtime(300) As String
Dim recordch1(300) As Single
i = i + 1 'i是Command1选出的记录数
Adodc1.Recordset.MoveFirst
'取Command1选出的第一条记录
recordtime(i) = Adodc1.Recordset.Fields("时间")
recordch1(i) = Adodc1.Recordset.Fields("ch1")
'取Command1选出的余下记录
While (Adodc1.Recordset.AbsolutePosition <> Adodc1.Recordset.RecordCount)
Adodc1.Recordset.MoveNext
i = i + 1
recordtime(i) = Adodc1.Recordset.Fields("时间")
recordch1(i) = Adodc1.Recordset.Fields("ch1")
DoEvents
Wend
Dim storeloca As String '保存路径
Set Ex = CreateObject("Excel.Application")
Set ExBook = Ex.Workbooks().Add
Set ExSheet = ExBook.Worksheets("Sheet1")
storeloca = Trim(Trim(pos.Text) + Trim(":\") + Trim(nameexcel.Text) + Trim(".xls"))
For j = 1 To i
Cells(j, 1).Value = recordtime(j)
Cells(j, 2).Value = recordch1(j)
Next j
i = 0
j = 0
ActiveWorkbook.SaveAs (storeloca)
Ex.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xls = Nothing
End Sub