Office中国论坛/Access中国论坛
标题:
[求助]关于导出
[打印本页]
作者:
juliazj20
时间:
2005-3-10 23:52
标题:
[求助]关于导出
Private Sub ExportEmp_Click()
Dim sqlstr As String
Dim sqlstr2 As String
Dim sqlstr3 As String
Dim sqlstr4 As String
On Error GoTo Err_ExportEmp_Click
sqlstr = "CREATE table ExportEmployee (empno Number,name text," _
& "position text,dept text,supervisor text,SD Datetime,lastreviewby text," _
& "lastreviewdate datetime,salary number,jobgrade text,quartile number,OBJA memo,OBJQ memo);"
DoCmd.RunSQL sqlstr
sqlstr2 = "insert into ExportEmployee select * from Employee"
If (Forms!ExportEmployee!empno.Value <> 0) Then
sqlstr3 = "empno=" & Forms!ExportEmployee!empno.Value
End If
If (Forms!ExportEmployee!name.Value <> "") Then
If (sqlstr3 <> "") Then
sqlstr3 = sqlstr3 & " and "
End If
sqlstr3 = sqlstr3 & "name='" & Forms!ExportEmployee!name.Value & "'"
End If
If (Forms!ExportEmployee!SDfrom.Value <> "") Then
If (sqlstr3 <> "") Then
sqlstr3 = sqlstr3 & " and "
End If
sqlstr3 = sqlstr3 & "SD>=" & "#" & Forms!ExportEmployee!SDfrom.Value & "#"
End If
If (Forms!ExportEmployee!SDto.Value <> "") Then
If (sqlstr3 <> "") Then
sqlstr3 = sqlstr3 & " and "
End If
sqlstr3 = sqlstr3 & "SD<=" & "#" & Forms!ExportEmployee!SDto.Value & "#"
End If
If (Forms!ExportEmployee!dept.Value <> "") Then
If (sqlstr3 <> "") Then
sqlstr3 = sqlstr3 & " and "
End If
sqlstr3 = sqlstr3 & "dept='" & Forms!ExportEmployee!dept.Value & "'"
End If
sqlstr3 = sqlstr2 & " where " & sqlstr3 & ";"
If IsNull(Forms!ExportEmployee!empno.Value) And IsNull(Forms!ExportEmployee!name.Value) And IsNull(Forms!ExportEmployee!SDfrom.Value) And _
IsNull(Forms!ExportEmployee!SDto.Value) And IsNull(Forms!ExportEmployee!dept.Value) Then
sqlstr = sqlstr2 & ";"
DoCmd.RunSQL sqlstr
Else
DoCmd.RunSQL sqlstr3
End If
DoCmd.OutputTo acOutputTable, "ExportEmployee", acFormatXLS, , True
DoCmd.Close acForm, "ExportEmployee"
sqlstr4 = "drop table ExportEmployee;"
DoCmd.RunSQL sqlstr4
Exit_ExportEmp_Click:
Exit Sub
Err_ExportEmp_Click:
'MsgBox Err.description
sqlstr4 = "drop table ExportEmployee;"
DoCmd.RunSQL sqlstr4
Resume Exit_ExportEmp_Click
End Sub
作者:
juliazj20
时间:
2005-3-11 00:08
以上那段代码大致是这样:
1。构造一个数据表结构,这个数据表也就是ExportEmployee,它和数据库中的Employee表的字段完全一样,个数和字段名和次序都是完全一样的。2。在ExportEmployee表中插入数据,数据是从Employee中来得。根据窗体中设置的搜索条件,去Employee表中查询复合条件的记录插入到ExportEmployee表中。3。将ExportEmployee表以excel的格式输出,然后关闭ExportEmployee窗体(供选择搜索条件用)。4。删除刚才新建的ExportEmployee表。我的问题是,难道ExportEmployee表的结构一定要和Employee表一模一样?后来,我改动了Employee表,只是在最后增加了一个字段,导出就不能执行。什么原因?
作者:
青青
时间:
2005-3-11 00:44
为什么要这么复杂?access是可以直接以查询做数据源来导出的,因此不需要建立临时表在追加记录再删除临时表这一大堆的代码的。
作者:
juliazj20
时间:
2005-3-11 17:38
以下是引用
青青
在2005-3-10 16:44:08的发言:
为什么要这么复杂?
access是可以直接以查询做数据源来导出的,因此不需要建立临时表在追加记录再删除临时表这一大堆的代码的。
哦?请详细说说看。小女子没有经验,所以想出这个办法。不过这个办法这个论坛的人也有提过,正好不谋而合。
作者:
静儿
时间:
2005-3-11 19:02
在宏里您选“OutputTo”的宏命令,下面有选项,根据选项来做就行了。右下角不都有提示吗?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3