機房-學生檢視上機記錄(功能實現)
阿新 • • 發佈:2018-11-25
出現的問題:
1.下機時間為null 不顯示本行資料
2.生成excel表格
3.將生成excel表格的程式碼新增到模組中,在窗體模組中進行呼叫時myFlexgrid出現未定義
解決方法:
1.使用了isnull()函式
程式碼如下:
If IsNull(mrc.Fields(8)) Then
mrc.MoveNext
Else
往表中填入資料
mrc.movenext
end if
2.參考網路知識
程式碼如下:
Dim xlapp As Excel.Application '宣告excel物件 Dim xlbook As Excel.Workbook '宣告工作簿物件 Dim xlsheet As Excel.Worksheet '宣告工作表 Dim i As Long Dim j As Long Set xlapp = CreateObject("excel.application") '建立應用程式 Set xlbook = xlapp.Workbooks.Add '建立新的空白工作簿 Set xlsheet = xlbook.Worksheets(1) '設定應用表 xlapp.Rows(1).Font.Bold = True '修改字型 For i = 0 To frmInquiryLineRecord.myFlexgrid.Rows - 1 '通過迴圈來新增控制元件中的資料到Excel表中 For j = 0 To frmInquiryLineRecord.myFlexgrid.Cols - 1 '由於第一行是表頭,所以新增資料從第二行開始。 xlsheet.Cells(i + 1, j + 1) = "'" & frmInquiryLineRecord.myFlexgrid.TextMatrix(i, j) Next j Next i xlapp.Visible = True
3.在myFlexgrid前面加上窗體的名字就可以了
Public Sub export() Dim xlapp As Excel.Application '宣告excel物件 Dim xlbook As Excel.Workbook '宣告工作簿物件 Dim xlsheet As Excel.Worksheet '宣告工作表 Dim i As Long Dim j As Long Set xlapp = CreateObject("excel.application") '建立應用程式 Set xlbook = xlapp.Workbooks.Add '建立新的空白工作簿 Set xlsheet = xlbook.Worksheets(1) '設定應用表 xlapp.Rows(1).Font.Bold = True '修改字型 For i = 0 To frmInquiryLineRecord.myFlexgrid.Rows - 1 '通過迴圈來新增控制元件中的資料到Excel表中 For j = 0 To frmInquiryLineRecord.myFlexgrid.Cols - 1 '由於第一行是表頭,所以新增資料從第二行開始。 xlsheet.Cells(i + 1, j + 1) = "'" & frmInquiryLineRecord.myFlexgrid.TextMatrix(i, j) Next j Next i xlapp.Visible = True End Sub
在呼叫的窗體寫下如下程式碼:
Private Sub cmdExport_Click()
'匯出資料到excel表中
Call export
End Sub