上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:14k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{BEEECC20-4D5F-4F8B-BFDC-5D9B6FBDE09D}#1.0#0"; "vsflex8.ocx"
  3. Begin VB.Form Balance_KF_Invoice 
  4.    Caption         =   "结算发票"
  5.    ClientHeight    =   5745
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   8355
  9.    Icon            =   "结算_发票.frx":0000
  10.    LinkTopic       =   "Form2"
  11.    ScaleHeight     =   5745
  12.    ScaleWidth      =   8355
  13.    StartUpPosition =   2  '屏幕中心
  14.    Begin VB.Timer Timer1 
  15.       Enabled         =   0   'False
  16.       Interval        =   1
  17.       Left            =   5400
  18.       Top             =   300
  19.    End
  20.    Begin VB.CommandButton Gridsz 
  21.       Caption         =   "保存表格格式"
  22.       Height          =   300
  23.       Left            =   4470
  24.       TabIndex        =   7
  25.       Top             =   5280
  26.       Width           =   1305
  27.    End
  28.    Begin VB.CheckBox Check1 
  29.       Caption         =   "全消"
  30.       Height          =   255
  31.       Index           =   1
  32.       Left            =   1200
  33.       TabIndex        =   6
  34.       Top             =   5280
  35.       Width           =   855
  36.    End
  37.    Begin VB.CheckBox UnloadCheck 
  38.       Caption         =   "卸载窗体"
  39.       Height          =   615
  40.       Left            =   2640
  41.       TabIndex        =   5
  42.       Top             =   5880
  43.       Visible         =   0   'False
  44.       Width           =   825
  45.    End
  46.    Begin VB.CommandButton Command2 
  47.       Caption         =   "取消(&C)"
  48.       Height          =   300
  49.       Left            =   7110
  50.       TabIndex        =   2
  51.       Top             =   5280
  52.       Width           =   1120
  53.    End
  54.    Begin VB.CommandButton Command1 
  55.       Caption         =   "确定(&O)"
  56.       Height          =   300
  57.       Left            =   5880
  58.       TabIndex        =   1
  59.       Top             =   5280
  60.       Width           =   1120
  61.    End
  62.    Begin VB.CheckBox Check1 
  63.       Caption         =   "全选"
  64.       Height          =   255
  65.       Index           =   0
  66.       Left            =   240
  67.       TabIndex        =   0
  68.       Top             =   5280
  69.       Width           =   855
  70.    End
  71.    Begin VSFlex8Ctl.VSFlexGrid CXBBGrid 
  72.       Height          =   4635
  73.       Left            =   90
  74.       TabIndex        =   3
  75.       Top             =   480
  76.       Width           =   8175
  77.       _cx             =   5080
  78.       _cy             =   5080
  79.       Appearance      =   1
  80.       BorderStyle     =   1
  81.       Enabled         =   -1  'True
  82.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  83.          Name            =   "宋体"
  84.          Size            =   9
  85.          Charset         =   134
  86.          Weight          =   400
  87.          Underline       =   0   'False
  88.          Italic          =   0   'False
  89.          Strikethrough   =   0   'False
  90.       EndProperty
  91.       MousePointer    =   0
  92.       BackColor       =   -2147483643
  93.       ForeColor       =   -2147483640
  94.       BackColorFixed  =   -2147483633
  95.       ForeColorFixed  =   -2147483630
  96.       BackColorSel    =   8388608
  97.       ForeColorSel    =   -2147483639
  98.       BackColorBkg    =   8421504
  99.       BackColorAlternate=   -2147483643
  100.       GridColor       =   -2147483633
  101.       GridColorFixed  =   -2147483632
  102.       TreeColor       =   -2147483632
  103.       FloodColor      =   192
  104.       SheetBorder     =   -2147483642
  105.       FocusRect       =   1
  106.       HighLight       =   1
  107.       AllowSelection  =   -1  'True
  108.       AllowBigSelection=   -1  'True
  109.       AllowUserResizing=   0
  110.       SelectionMode   =   0
  111.       GridLines       =   1
  112.       GridLinesFixed  =   2
  113.       GridLineWidth   =   1
  114.       Rows            =   5000
  115.       Cols            =   10
  116.       FixedRows       =   1
  117.       FixedCols       =   0
  118.       RowHeightMin    =   0
  119.       RowHeightMax    =   0
  120.       ColWidthMin     =   0
  121.       ColWidthMax     =   0
  122.       ExtendLastCol   =   0   'False
  123.       FormatString    =   ""
  124.       ScrollTrack     =   0   'False
  125.       ScrollBars      =   3
  126.       ScrollTips      =   0   'False
  127.       MergeCells      =   0
  128.       MergeCompare    =   0
  129.       AutoResize      =   -1  'True
  130.       AutoSizeMode    =   0
  131.       AutoSearch      =   0
  132.       AutoSearchDelay =   2
  133.       MultiTotals     =   -1  'True
  134.       SubtotalPosition=   1
  135.       OutlineBar      =   0
  136.       OutlineCol      =   0
  137.       Ellipsis        =   0
  138.       ExplorerBar     =   0
  139.       PicturesOver    =   0   'False
  140.       FillStyle       =   0
  141.       RightToLeft     =   0   'False
  142.       PictureType     =   0
  143.       TabBehavior     =   0
  144.       OwnerDraw       =   0
  145.       Editable        =   0
  146.       ShowComboButton =   1
  147.       WordWrap        =   0   'False
  148.       TextStyle       =   0
  149.       TextStyleFixed  =   0
  150.       OleDragMode     =   0
  151.       OleDropMode     =   0
  152.       DataMode        =   0
  153.       VirtualData     =   -1  'True
  154.       DataMember      =   ""
  155.       ComboSearch     =   3
  156.       AutoSizeMouse   =   -1  'True
  157.       FrozenRows      =   0
  158.       FrozenCols      =   0
  159.       AllowUserFreezing=   0
  160.       BackColorFrozen =   0
  161.       ForeColorFrozen =   0
  162.       WallPaperAlignment=   9
  163.       AccessibleName  =   ""
  164.       AccessibleDescription=   ""
  165.       AccessibleValue =   ""
  166.       AccessibleRole  =   24
  167.    End
  168.    Begin VB.Label Label1 
  169.       Caption         =   "用鼠标单击所要选择的单据记录,出现选中标志,可以单选,也可以多选"
  170.       ForeColor       =   &H000000FF&
  171.       Height          =   255
  172.       Left            =   120
  173.       TabIndex        =   4
  174.       Top             =   120
  175.       Width           =   5895
  176.    End
  177. End
  178. Attribute VB_Name = "Balance_KF_Invoice"
  179. Attribute VB_GlobalNameSpace = False
  180. Attribute VB_Creatable = False
  181. Attribute VB_PredeclaredId = True
  182. Attribute VB_Exposed = False
  183. '**************************************************************************
  184. '*    模 块 名 称 :发票列表
  185. '*    功 能 描 述 :
  186. '*    程序员姓名  :周化江
  187. '*    最后修改人  :周化江
  188. '*    最后修改时间:2001/10/06
  189. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  190. '**************************************************************************
  191. '以下为固定使用变量
  192. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  193. Dim GridCode As String                   '显示网格网格代码
  194. Dim GridInf() As Variant                 '整个网格设置信息
  195. Dim Tsxx As String                       '系统提示信息
  196. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  197. Dim Sjhgd As Double                      '网格数据行高度
  198. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  199. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  200. Dim GridStr()  As String                 '网格列信息(字符型)
  201. Dim GridInt() As Integer                 '网格列信息(整型)
  202. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  203. '''''''''''''自定义
  204. Dim str_OldFilterCondition As String
  205. Dim str_NowFilterCondition As String
  206. Private Sub Check1_Click(Index As Integer)
  207. Dim count As Integer
  208. Select Case Index
  209.     Case 0
  210.         If Check1(Index).Value Then
  211.             Check1(1).Value = 0
  212.             For count = CxbbGrid.FixedRows To CxbbGrid.Rows - CxbbGrid.FixedRows
  213.                 CxbbGrid.TextMatrix(count, Sydz("001", GridStr(), Szzls)) = "√"
  214.             Next
  215.         Else
  216.             For count = CxbbGrid.FixedRows To CxbbGrid.Rows - CxbbGrid.FixedRows
  217.                 CxbbGrid.TextMatrix(count, Sydz("001", GridStr(), Szzls)) = ""
  218.             Next
  219.         End If
  220.     Case 1
  221.         If Check1(Index).Value Then
  222.             Check1(0).Value = 0
  223.             For count = CxbbGrid.FixedRows To CxbbGrid.Rows - CxbbGrid.FixedRows
  224.                 CxbbGrid.TextMatrix(count, Sydz("001", GridStr(), Szzls)) = ""
  225.             Next
  226.         Else
  227.             For count = CxbbGrid.FixedRows To CxbbGrid.Rows - CxbbGrid.FixedRows
  228.                 CxbbGrid.TextMatrix(count, Sydz("001", GridStr(), Szzls)) = "√"
  229.             Next
  230.         End If
  231. End Select
  232. End Sub
  233. Private Sub Command1_Click()
  234.     Dim str_InvoiceFilter As String
  235.     Dim int_temp As Integer
  236.     str_InvoiceFilter = "  InvoiceMainID in ( 0 "
  237.     With CxbbGrid
  238.         For int_temp = .FixedRows To .Rows - 1
  239.             If Trim(.TextMatrix(int_temp, Sydz("001", GridStr(), Szzls))) = "√" Then
  240.                 str_InvoiceFilter = str_InvoiceFilter & "," & .ValueMatrix(int_temp, 0)
  241.             End If
  242.         Next int_temp
  243.         str_InvoiceFilter = str_InvoiceFilter & ")"
  244.     End With
  245.     Balance_KF_HandBalance.Invoice_FilterCondition = str_InvoiceFilter
  246.     Balance_KF_HandBalance.Timer2.Enabled = True
  247.     Me.Hide
  248. End Sub
  249. Private Sub Command2_Click()
  250.  Me.Hide
  251. End Sub
  252. Private Sub CxbbGrid_DblClick()
  253.     With CxbbGrid
  254.         If .Row > .FixedRows - 1 Then
  255.             If Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls))) = "" Then
  256.                 Call grid_select(.TextMatrix(.Row, Sydz("007", GridStr(), Szzls)), "1")
  257.                 .TextMatrix(.Row, Sydz("001", GridStr(), Szzls)) = "√"
  258.             Else
  259.                 Call grid_select(.TextMatrix(.Row, Sydz("007", GridStr(), Szzls)), "")
  260.                 .TextMatrix(.Row, Sydz("001", GridStr(), Szzls)) = ""
  261.             End If
  262.         End If
  263.     End With
  264. End Sub
  265. Private Sub Form_Activate()
  266.     If Trim(Me.Old_FilterCondition) <> Trim(Me.Now_FilterCondition) Then
  267.         Timer1.Enabled = True
  268.     End If
  269. End Sub
  270. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  271.     If UnloadCheck.Value <> 1 Then
  272.         Cancel = 1
  273.         Me.Hide
  274.     End If
  275. End Sub
  276. Private Sub Form_Load()                                                   '窗体装入
  277.     '调 入 网 格(Fixed)
  278.     GridCode = "Kf_InvoiceBalance"
  279.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  280.     
  281.     Qslz = GridInf(1)
  282.     Sjhgd = GridInf(2)
  283.     Sfxshjwg = GridInf(7)
  284.     Szzls = CxbbGrid.Cols - 1
  285. End Sub
  286. Private Sub CxbbGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  287.     Call FnBln_RefreshArray(Col, Position, GridStr(), GridInf())
  288. End Sub
  289. Private Sub Form_Unload(Cancel As Integer)
  290.     Me.Old_FilterCondition = ""
  291. End Sub
  292. Private Sub Gridsz_Click()
  293.     Call Bcwggs(CxbbGrid, GridCode, GridStr()) '保存表格格式
  294. End Sub
  295. Private Sub grid_select(str_InvoiceNum As String, flag As String)
  296. Dim count As Integer
  297.     If flag = "1" Then
  298.         With CxbbGrid
  299.             For count = 0 To .Rows - .FixedRows - 1
  300.                 If Trim(.TextMatrix(.FixedRows + count, Sydz("007", GridStr(), Szzls))) = Trim(str_InvoiceNum) Then
  301.                     .TextMatrix(.FixedRows + count, Sydz("001", GridStr(), Szzls)) = "√"
  302.                 End If
  303.             Next
  304.         End With
  305.     Else
  306.         With CxbbGrid
  307.             For count = 0 To .Rows - .FixedRows - 1
  308.                 If Trim(.TextMatrix(.FixedRows + count, Sydz("007", GridStr(), Szzls))) = Trim(str_InvoiceNum) Then
  309.                     .TextMatrix(.FixedRows + count, Sydz("001", GridStr(), Szzls)) = ""
  310.                 End If
  311.             Next
  312.         End With
  313.     End If
  314. End Sub
  315. Public Property Get Old_FilterCondition() As String
  316.   Old_FilterCondition = str_OldFilterCondition
  317. End Property
  318. Public Property Let Old_FilterCondition(ByVal vNewValue As String)
  319.   str_OldFilterCondition = vNewValue
  320. End Property
  321. Public Property Get Now_FilterCondition() As String
  322.   Now_FilterCondition = str_NowFilterCondition
  323. End Property
  324. Public Property Let Now_FilterCondition(ByVal vNewValue As String)
  325.   str_NowFilterCondition = vNewValue
  326. End Property
  327. Private Sub Timer1_Timer()
  328.     Timer1.Enabled = False
  329.     If Me.Old_FilterCondition = Me.Now_FilterCondition Then
  330.         Exit Sub
  331.     End If
  332.     Dim int_temp As Long
  333.     Dim rst_temp As New ADODB.Recordset
  334.     Dim str_sqlTemp As String
  335.     Dim jsqte As Long
  336.     CxbbGrid.Rows = CxbbGrid.FixedRows
  337.     Set rst_temp = Cw_DataEnvi.DataConnect.Execute("SELECT * FROM KF_V_BalanceInvoice " & Me.Now_FilterCondition)
  338.     jsqte = CxbbGrid.FixedRows
  339.     If rst_temp.RecordCount <> 0 Then
  340.         rst_temp.MoveFirst
  341.         With CxbbGrid
  342.             For int_temp = 1 To rst_temp.RecordCount
  343.                 If jsqte >= .Rows Then
  344.                    .AddItem ""
  345.                 End If
  346.                 
  347.                 .TextMatrix(jsqte, 0) = rst_temp.Fields("InvoiceMainID")                        '主表ID
  348.                 .TextMatrix(jsqte, 1) = rst_temp.Fields("InvoiceSubID")                        '子表ID
  349.                 .TextMatrix(jsqte, Sydz("002", GridStr(), Szzls)) = Trim("" & rst_temp.Fields("MNumber"))
  350.                 .TextMatrix(jsqte, Sydz("003", GridStr(), Szzls)) = Trim("" & rst_temp.Fields("MName"))
  351.                 .TextMatrix(jsqte, Sydz("004", GridStr(), Szzls)) = Trim(rst_temp.Fields("Model") & "")
  352.                 .TextMatrix(jsqte, Sydz("005", GridStr(), Szzls)) = Trim(rst_temp.Fields("PrimaryUnitName") & "")
  353.                 .TextMatrix(jsqte, Sydz("006", GridStr(), Szzls)) = Trim(rst_temp.Fields("SupplierName") & "")
  354.                 .TextMatrix(jsqte, Sydz("007", GridStr(), Szzls)) = Trim("" & rst_temp.Fields("InvoiceNum"))
  355.                 .TextMatrix(jsqte, Sydz("008", GridStr(), Szzls)) = Format(rst_temp.Fields("InvoiceDate"), "yyyy-mm-dd")
  356.                 .TextMatrix(jsqte, Sydz("009", GridStr(), Szzls)) = IIf(IsNull(rst_temp.Fields("Quantity")) Or rst_temp.Fields("Quantity") = 0, "", rst_temp.Fields("Quantity"))
  357.                 .TextMatrix(jsqte, Sydz("010", GridStr(), Szzls)) = IIf(IsNull(rst_temp.Fields("PriceBb")) Or rst_temp.Fields("PriceBb") = 0, "", rst_temp.Fields("PriceBb"))
  358.                 .TextMatrix(jsqte, Sydz("011", GridStr(), Szzls)) = IIf(IsNull(rst_temp.Fields("TotalMoneyBb")) Or rst_temp.Fields("TotalMoneyBb") = 0, "", rst_temp.Fields("TotalMoneyBb"))
  359.                 .TextMatrix(jsqte, Sydz("012", GridStr(), Szzls)) = rst_temp.Fields("IsCharge")
  360.                 .RowHeight(jsqte) = Sjhgd
  361.                 jsqte = jsqte + 1
  362.                 rst_temp.MoveNext
  363.             Next int_temp
  364.         End With
  365.     End If
  366.     rst_temp.Close
  367.     Set rst_temp = Nothing
  368.     Me.Old_FilterCondition = Me.Now_FilterCondition
  369. End Sub