.Col = 8
.Text = \客户名\End With Exit Sub set2error:
MsgBox Err.Description End Sub
Public Sub showdata() With MSFlexGrid2
.Rows = rs_data2.RecordCount + 1 .Row = 0
'rs_data2.RecordCount.Open
'MSFlexGrid2.Rows = rs_data2.RecordCount + 1 'MSFlexGrid2.Row = 0 If Not rs_data2.EOF Then rs_data2.MoveFirst
Do While Not rs_data2.EOF .Row = .Row + 1 .Col = 0
If Not IsNull(rs_data2.Fields(0)) Then .Text=rs_data2.Fields(0) Else .Text = \ .Col = 1
If Not IsNull(rs_data2.Fields(1)) Then .Text=rs_data2.Fields(1) Else .Text = \ .Col = 2
If Not IsNull(rs_data2.Fields(2)) Then .Text=rs_data2.Fields(2) Else .Text = \ .Col = 3
If Not IsNull(rs_data2.Fields(3)) Then .Text=rs_data2.Fields(3) Else .Text = \ .Col = 4
If Not IsNull(rs_data2.Fields(4)) And CDbl(rs_data2.Fields(4)) < 0 Then .Text = -CDbl(rs_data2.Fields(4)) Else
.Text = rs_data2.Fields(4) End If .Col = 5
If Not IsNull(rs_data2.Fields(5)) Then .Text=rs_data2.Fields(5) Else .Text = \ .Col = 6
If Not IsNull(rs_data2.Fields(6)) Then .Text=rs_data2.Fields(6) Else .Text = \ .Col = 7
If Not IsNull(rs_data2.Fields(7)) And CDbl(rs_data2.Fields(4)) < 0 Then .Text = -CDbl(rs_data2.Fields(7)) Else
.Text = rs_data2.Fields(7) End If .Col = 8
56
If Not IsNull(rs_data2.Fields(8)) Then .Text=rs_data2.Fields(8) Else .Text = \ rs_data2.MoveNext Loop
rs_data2.MoveLast End If End With End Sub
Public Sub nextpos(ByVal r As Integer, ByVal c As Integer) On Error GoTo nexterror
Text1.Width = MSFlexGrid2.CellWidth Text1.Height = MSFlexGrid2.CellHeight
Text1.Left = MSFlexGrid2.Left + MSFlexGrid2.ColPos(c) Text1.Top = MSFlexGrid2.Top + MSFlexGrid2.RowPos(r) Text1.Text = MSFlexGrid2.Text Text1.Visible = True Text1.SetFocus Exit Sub nexterror:
MsgBox Err.Description End Sub
Private Sub Form_Unload(Cancel As Integer) findok = False rs_data1.Close
Set rs_data1 = Nothing End Sub
12.4.8
Option Explicit
Dim rs_find As New ADODB.Recordset
Private Sub Command1_Click() On Error GoTo cmderror Dim find_date1 As String Dim find_date2 As String If Option1.Value = True Then
sqlfind = \出入库 where 货单号 between '\ Combo1(0).Text & \End If
If Option2.Value = True Then
find_date1 = Format(CDate(comboy(0).Text & \ combom(0).Text & \ find_date2 = Format(CDate(comboy(1).Text & \ combom(1).Text & \
57
sqlfind = \出入库 where 日期 between #\ find_date1 & \End If
rs_data1.Open sqlfind, conn, adOpenKeyset, adLockPessimistic hwckmx.displaygrid1 Unload Me hwckmx.Show cmderror:
If Err.Number <> 0 Then
MsgBox \请输入正确的查询条件!\警告\End If End Sub
Private Sub Command2_Click() Unload Me End Sub
Private Sub Form_Load() Dim i As Integer Dim j As Integer Dim sql As String 'If findok = True Then 'rs_data1.Close 'End If
sql = \出入库 order by 货单号 desc\rs_find.CursorLocation = adUseClient
rs_find.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_find.EOF = False Then '添加货单号 With rs_find
Do While Not .EOF
Combo1(0).AddItem .Fields(0) Combo1(1).AddItem .Fields(0) .MoveNext Loop End With End If
For i = 2007 To 2020 '添加年 comboy(0).AddItem i comboy(1).AddItem i Next i
For i = 1 To 12 '添加月 combom(0).AddItem i combom(1).AddItem i Next i
58
For i = 1 To 31 '添加日 combod(0).AddItem i combod(1).AddItem i Next i End Sub
Private Sub Form_Unload(Cancel As Integer) rs_find.Close End Sub
Private Sub Option1_Click() Option2.Value = False End Sub
Private Sub Option2_Click() Option1.Value = False End Sub
12.4.9
Option Explicit
Dim rs_sum As New ADODB.Recordset Dim addup As Double
Private Sub Command1_Click() Unload Me End Sub
Private Sub Form_Load() Dim sql As String Select Case hz_menu
Case \ '按货单号汇总 Label1.Caption = \按货单号汇总\
sql=\货源地,sum(金额) as 总金额 from 货物明细 group by 货源地 order by sum(金额)\
rs_sum.CursorLocation = adUseClient
rs_sum.Open sql, conn, adOpenKeyset, adLockPessimistic addup = 0
MSFlexGrid1.Rows = rs_sum.RecordCount + 2 MSFlexGrid1.Cols = 3 ' 设置表头
MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0
MSFlexGrid1.Text = \货源地\ MSFlexGrid1.Col = 1
59
MSFlexGrid1.Text = \总金额\ MSFlexGrid1.Col = 2
MSFlexGrid1.Text = \出入库\ If rs_sum.EOF = False Then rs_sum.MoveFirst
Do While Not rs_sum.EOF
MSFlexGrid1.Row = MSFlexGrid1.Row + 1 MSFlexGrid1.Col = 0
MSFlexGrid1.Text = rs_sum.Fields(0) MSFlexGrid1.Col = 1
If CDbl(rs_sum.Fields(1)) < 0 Then
MSFlexGrid1.Text = Replace(rs_sum.Fields(1), \ MSFlexGrid1.Col = 2
MSFlexGrid1.Text = \出库\ Else
MSFlexGrid1.Text = rs_sum.Fields(1) MSFlexGrid1.Col = 2
MSFlexGrid1.Text = \入库\ End If
addup = addup + CDbl(rs_sum.Fields(1)) rs_sum.MoveNext Loop
MSFlexGrid1.Row = MSFlexGrid1.Row + 1 MSFlexGrid1.Col = 0
MSFlexGrid1.Text = \总计)\ MSFlexGrid1.Col = 1
MSFlexGrid1.Text = addup End If
rs_sum.Close
Case \ '按日期汇总 Label1.Caption = \按日期汇总\
sql = \日期,sum(金额) as 总金额 from 货物明细 group by 日期 order by sum(金额)\
rs_sum.CursorLocation = adUseClient
rs_sum.Open sql, conn, adOpenKeyset, adLockPessimistic addup = 0
MSFlexGrid1.Rows = rs_sum.RecordCount + 2 MSFlexGrid1.Cols = 3 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0
MSFlexGrid1.Text = \日期\ MSFlexGrid1.Col = 1
MSFlexGrid1.Text = \总金额\ MSFlexGrid1.Col = 2
60
VB实例源码



