'以下是我当前的代码,它将正确导出到excel工作簿和工作表。唯一的问题是我需要限制按月结束日期范围输出的数据(例如:2017年1月31日至2017年4月30日)以及工厂编号(例如:" 4101&# 34) 感谢任何帮助,非常感谢。
Public Function InventoryXport_4100()
Dim appXL As Object
Dim wb As Object
Dim wks As Object
Dim xlf As String
Dim rs As DAO.Recordset
Dim fld As Field
Dim intColCount As Integer
xlf = "Z:\COST ACCOUNTING INFO\Inventory Reports\MyFile.xlsx"
Set rs = CurrentDb.OpenRecordset("(QS)_Inventory")
Set appXL = CreateObject("Excel.Application")
Set wb = appXL.Workbooks.Open(xlf)
Set wks = wb.Sheets("Inventory Xport") 'Sheet name
If rs.EOF = True Then
MsgBox "No data", vbOKOnly
Exit Function
End If
With appXL
.Application.worksheets("Inventory Xport").SELECT
.Application.columns("A:AQ").SELECT
.Application.columns.Clear
End With
intColCount = 1
For Each fld In rs.Fields
wks.Cells(1, intColCount).Value = fld.Name
intColCount = intColCount + 1
Next fld
appXL.displayalerts = False
wks.Range("A2").CopyFromRecordset rs
appXL.Visible = True
With appXL
.Application.worksheets("Inventory Xport").SELECT
.Application.columns("A:AQ").SELECT
.Application.columns.AutoFit
.Application.Range("A2").SELECT
.Application.ActiveWindow.FreezePanes = True
End With
wb.Save
wb.Close
appXL.Quit
Set wb = Nothing
rs.Close
Set rs = Nothing
End Function
答案 0 :(得分:0)
您需要将过滤条件放入查询的where子句中:
public class ProgrammingLanguageInfo extends FragmentActivity{
private String languageName;
private int languageImageID;
private String languageDescription;
private String SHARED_PREFERENCES;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_pager);
languageName = getIntent().getStringExtra("LANGUAGE_NAME");
languageImageID = getIntent().getIntExtra("LANGUAGE_IMAGE", 0);
languageDescription = getIntent().getStringExtra("LANGUAGE_DESCRIPTION");
SHARED_PREFERENCES = getIntent().getStringExtra("LANGUAGE_SHARED_PREFERENCES");
ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
if(pos==0){
return FirstFragment.newInstance(languageName, languageImageID, languageDescription, SHARED_PREFERENCES);
}
else{
return SecondFragment.newInstance("aaa");
}
}
@Override
public int getCount() {
return 2;
}
}
如果您需要有关where子句语法的帮助,则需要发布查询结构(即至少提供要过滤的列的名称和数据类型)。此外,如果要将这些参数传递给函数,则需要将它们包含在具有合适参数名称的Function声明中,并用适当的数据类型替换每个Set rs = CurrentDb.OpenRecordset("SELECT * FROM [(QS)_Inventory] WHERE ...")
:
????
顺便说一下,为什么这是一个函数而不是一个Proc - 没有返回值甚至返回数据类型集?
跟随评论后编辑:
所以尝试像
这样的东西Public Function InventoryXport_4100(prm1 As ????, prm2 As ????, prm3 As ????)