📄 frmcostlist.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmcostlist
Caption = "费用信息"
ClientHeight = 5220
ClientLeft = 2910
ClientTop = 2040
ClientWidth = 9330
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 5220
ScaleWidth = 9330
Begin VB.CommandButton Command2
Caption = "报 表"
Height = 375
Left = 1800
TabIndex = 3
Top = 480
Width = 1215
End
Begin VB.CommandButton Command1
Caption = "导出数据"
Height = 375
Left = 480
TabIndex = 2
Top = 480
Width = 1215
End
Begin MSFlexGridLib.MSFlexGrid msglist
Height = 3255
Left = 720
TabIndex = 1
Top = 840
Width = 7935
_ExtentX = 13996
_ExtentY = 5741
_Version = 393216
End
Begin VB.Label lbltitle
Alignment = 2 'Center
Caption = "费用信息列表"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 3000
TabIndex = 0
Top = 240
Width = 2895
End
End
Attribute VB_Name = "frmcostlist"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public txtsql As String
Dim mrc As ADODB.Recordset
Dim msgtext As String
Private Sub cmdto_Click()
' Private Sub cmdToExcel_Click()
Call excldata
'End Sub
End Sub
Private Sub Command1_Click()
Call excldata
End Sub
Private Sub Command2_Click()
Dim oSHT As LLanV.LLAN_VIEW
Dim aLab() As String
Dim aTxt() As String
Dim aPer() As Double
Dim nLen As Long
Dim I As Long
ReDim aLab(3)
ReDim aTxt(3)
ReDim aPer(3)
nLen = 4
For I = 0 To 3
aPer(I) = 0.33 ''各项的宽度权数
Next
Dim sConDesc As String
sConDesc = "FileDSN=myconnection.dsn;UID=sa;PWD="
Set oSHT = New LLanV.LLAN_VIEW
Call oSHT.OnSetCN_STR(sConDesc)
Call oSHT.OnSetSQL("select * from cost")
'Call oSHT.OnSetPath(App.Path & "\IMG")
Call oSHT.OnRun("费用报表", aLab, aTxt, aPer, 0)
End Sub
Private Sub Form_Load()
showtitle
showdata
Call Form_Resize
flagcEdit = True
' flagtoexcel = 2
End Sub
Private Sub Form_Resize()
If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then
If Me.ScaleHeight < 10 * Lbltitle.Height Then '边界处理
Exit Sub
End If
If Me.ScaleWidth < Lbltitle.Width + Lbltitle.Width / 2 Then
Exit Sub
End If
Lbltitle.Top = Lbltitle.Height '控制控件的位置
Lbltitle.Left = (Me.Width - Lbltitle.Width) / 2
msglist.Top = Lbltitle.Top + Lbltitle.Height + Lbltitle.Height / 2
msglist.Width = Me.ScaleWidth - 200
msglist.Left = Me.ScaleLeft + 100
msglist.Height = Me.ScaleHeight - msglist.Top - 200
End If
End Sub
Public Sub showtitle()
Dim I As Integer
With msglist
.Cols = 5
.TextMatrix(0, 1) = "车辆牌照"
.TextMatrix(0, 2) = "费用日期"
.TextMatrix(0, 3) = "耗费"
.TextMatrix(0, 4) = "费用说明"
.FixedRows = 1
For I = 0 To 4
.ColAlignment(I) = 0
Next I
.FillStyle = flexFillRepeat
.Col = 0
.Row = 0
.RowSel = 1
.ColSel = .Cols - 1
.CellAlignment = 4
.ColWidth(0) = 300
.ColWidth(1) = 1000
.ColWidth(2) = 1400
.ColWidth(3) = 800
.ColWidth(4) = 1800
.Row = 1
End With
End Sub
Public Sub showdata()
Dim I As Integer
Dim j As Integer
If txtsql = "" Then
txtsql = "select * from cost"
Set mrc = ExecuteSQL(txtsql, msgtext)
Else
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.EOF = True Then
MsgBox "找不到你需要的信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End If
With msglist
.Rows = 1
Do While Not mrc.EOF
.Rows = .Rows + 1
For I = 1 To mrc.Fields.Count
If mrc.Fields(I - 1).Type = adDBDate Then
.TextMatrix(.Rows - 1, I) = Format(mrc.Fields(I - 1) & "", "yyyy-mm-dd")
Else
.TextMatrix(.Rows - 1, I) = mrc.Fields(I - 1) & ""
End If
Next I
mrc.MoveNext
Loop
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
flagcEdit = False
gintcMode = 0
Unload Me
'flagtoexcel = 0
End Sub
Private Sub msglist_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 And Shift = 0 Then
PopupMenu fMainForm.costm
End If
End Sub
Public Sub excldata()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim I As Long, j As Long
On Error GoTo ErrorHandle
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For I = 0 To msglist.Rows - 1
For j = 0 To msglist.Cols - 1
xlSheet.Cells(I + 1, j + 1).Value = msglist.TextMatrix(I, j)
Next j
Next I
xlSheet.Application.Visible = True
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
Exit Sub
ErrorHandle:
MsgBox "错误:" & Err.Number & vbCrLf & Err.Description, vbOKOnly, "运行错误!"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -