|
▼たんけん さん:
こんにちは。
In句 を使ったパラメータクエリがうまくいかなかったので、
B) の方法をとっています。
Private Sub エクセル抽出_Click()
'要参照設定 Microsoft DAO x.x Object Library
Dim ctl As Control
Dim varItem As Variant
Dim strWhere As String
Dim MyFile As String
Dim SQLCode As String
Dim QD As DAO.QueryDef
Set ctl = Me!lst_Select
If ctl.ItemsSelected.Count = 0 Then
If MsgBox("社員が選択されていません。全員抽出しますか?", _
vbQuestion + vbYesNo) = vbNo Then
Me!lst_Select.SetFocus
Exit Sub
strWhere = ""
End If
Else
For Each varItem In ctl.ItemsSelected
If strWhere = "" Then
strWhere = "'" & ctl.ItemData(varItem) & "'"
Else
strWhere = strWhere & ",'" & ctl.ItemData(varItem) & "'"
End If
Next
strWhere = "WHERE [社員コード] In (" & strWhere & ")"
End If
SQLCode = "SELECT * FROM Q_社員情報抽出 " _
& strWhere
If DCount("*", "MsysObjects", "Name = 'Q_抽出用'") > 0 Then
DoCmd.DeleteObject acQuery, "Q_抽出用"
End If
Set QD = CurrentDb.CreateQueryDef("Q_抽出用", SQLCode)
QD.Close
Set QD = Nothing
MyFile = "c:\社員情報.xls"
DoCmd.TransferSpreadsheet acExport, _
acSpreadsheetTypeExcel9, "Q_抽出用", MyFile, True
End Sub
こんな感じでエクセルに抽出されると思います。
>※この掲示板を見て、ほとんどコピペをしていたので、
> あまり意味がわかっておりません。
コードの意味が解らない所がありましたら遠慮せずに
質問なさって下さいね。
|
|